通过一些基础的配置,CMake是可以生成一份对应平台的IDE项目工程的。
不过这个工程结构可能非常的杂乱,所有的东西都是堆在一起的。
将多个Target放到一个工程目录下
set_target_properties
用来设置target的属性,语法如下:
set_target_properties( target1 target2 ... PROPERTIES prop1 value1 prop2 value2 ... ) 复制代码
使用FOLDER
属性可以将生成的多个target放在一个目录下
set_property(GLOBAL PROPERTY USE_FOLDERS ON) set_target_properties( cocos2d luacocos2d cocos2dInternal PROPERTIES FOLDER "cocos" ) 复制代码
网络异常,图片无法展示
|
既然有这是,就有获取,对应的命令为:get_property
、get_target_properties
。
一些常用的TargetProperty
标题 | 作用 | |
FOLDER | 将多个target放到一个工程目录下,可以使用/ 分割设置多级目录 |
|
MACOSX_BUNDLE_GUI_IDENTIFIER | bundle的名字 | mac |
MACOSX_BUNDLE_BUNDLE_VERSION | 版本号 | |
MACOSX_BUNDLE | 在Mac、IOS上构建一个可以运行的应用程序 | 可选值TRUE |
WIN32_EXECUTABLE | 在Windows上构建一个可以运行的应用程序 | |
MACOSX_BUNDLE_SHORT_VERSION_STRING | ||
OUTPUT_NAME | 目标文件的名字 | |
RUNTIME_OUTPUT_DIRECTORY | ||
ARCHIVE_OUTPUT_DIRECTORY | ||
LIBRARY_OUTPUT_DIRECTORY | ||
VS_USER_PROPS |
对项目工程文件组进行重命名
将包含src的源码工程目录命名为src
# 语法:source_group(<name> [FILES <src>...] [REGULAR_EXPRESSION <regex>]) source_group("src" FILES ${src}) 复制代码
工程目录结构按照文件夹目录结构组织
# 语法:source_group(TREE <root> [PREFIX <prefix>] [FILES <src>...]) # TREE是在3.8支持的 source_group(TREE ./ FILES ${src} 复制代码
在上边的例子里面,项目工程中的文件结构会以源文件目录的结构进行组织。
${src}
里面的所有文件必须是<root>
子目录文件,否则会报错:
source_group ROOT is not a prefix of file