CMake教程13:美化构建后的项目工程结构

简介: CMake教程13:美化构建后的项目工程结构

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



目录
相关文章
|
8月前
|
程序员 API 数据库
【Cmake工程 库相关教程 】深入理解CMake工程C/C++ 库管理技巧
【Cmake工程 库相关教程 】深入理解CMake工程C/C++ 库管理技巧
184 1
|
8月前
|
开发框架 Unix Linux
深度探索:Qt CMake工程编译后的自动打包策略
深度探索:Qt CMake工程编译后的自动打包策略
442 0
|
7月前
|
XML Java 关系型数据库
SpringBootWebProject学习——通用项目搭建(后面的项目均采用此项目进行添加内容)
SpringBootWebProject学习——通用项目搭建(后面的项目均采用此项目进行添加内容)
40 0
|
IDE 开发工具 C++
⚡【C++要笑着学】(40) OF框架:OpenFrameworks 框架介绍 | oF 文件结构 | 图形基础 | 使用 ProjectGenerator 创建项目
⚡【C++要笑着学】(40) OF框架:OpenFrameworks 框架介绍 | oF 文件结构 | 图形基础 | 使用 ProjectGenerator 创建项目
253 0
|
8月前
|
存储 缓存 算法
【Conan 入门教程】从零开始编写第一个自定义部署器
【Conan 入门教程】从零开始编写第一个自定义部署器
175 1
|
8月前
|
C++ 计算机视觉
Visual Studio新项目快速配置已有项目中编译好的C++第三方库的方法
Visual Studio新项目快速配置已有项目中编译好的C++第三方库的方法
189 1
|
8月前
|
IDE 前端开发 搜索推荐
5款超好用的在线IDE,媲美vscode,可以直接编写前端构建化项目,而无需在本地下载依赖包,非常适合学习、demo、原型开发
5款超好用的在线IDE,媲美vscode,可以直接编写前端构建化项目,而无需在本地下载依赖包,非常适合学习、demo、原型开发
2779 0
|
Java Unix 编译器
CMake入门教程:从零开始构建C/C++项目
CMake是一个跨平台的自动化构建工具,可以用于构建各种类型的项目,包括C++、C、Python、Java等。本文将从零开始,介绍如何使用CMake构建一个简单的C/C++项目
352 0
|
前端开发
DSP开发软件css(10)使用基础(汉化、工程导入、设置目标配置文件、选择仿真器和芯片型号、添加文件|库路径、编译下载等操作)
DSP开发软件css(10)使用基础(汉化、工程导入、设置目标配置文件、选择仿真器和芯片型号、添加文件|库路径、编译下载等操作)
201 0
|
Unix Linux Windows
Qwt开发笔记(一):Qwt简介、下载以及基础demo工程模板
QWT开发笔记系列整理集合,这是目前使用最为广泛的Qt图表类(Qt的QWidget代码方向只有QtCharts,Qwt,QCustomPlot),使用多年,系统性的整理,本系列旨在系统解说并逐步更新其各种Demo示例。
Qwt开发笔记(一):Qwt简介、下载以及基础demo工程模板