通过一些基础的配置,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