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



目录
相关文章
|
Linux 芯片 Docker
【国产适配】国产龙芯操作系统上安装minio
【国产适配】国产龙芯操作系统上安装minio
943 0
|
JavaScript
vue element plus TimePicker 时间选择器
vue element plus TimePicker 时间选择器
393 0
Java CompletableFuture:allOf等待所有异步线程任务结束(4)
Java CompletableFuture:allOf等待所有线程任务结束(4) private void method() throws ExecutionException, InterruptedExcept...
6656 0
|
API 网络安全
SSLException Unrecognized SSL…问题排查
SSLException Unrecognized SSL…问题排查
2554 0
|
9月前
|
人工智能 自然语言处理 搜索推荐
AI智能导诊系统开发技术解析
智能导诊系统基于人工智能、大数据和医疗信息化技术,优化患者就医流程,提升资源匹配效率。其核心功能包括智能分诊、症状自评与风险评估及就医路径规划,通过自然语言处理、医学知识图谱、多模态交互等技术实现精准服务。系统可将门诊误挂率从23%降至6%,并显著提高急危重症识别效率,为患者提供全流程导航支持。
713 3
|
机器学习/深度学习 自然语言处理 算法
机器学习核心:监督学习与无监督学习
本文深入解析了机器学习中的监督学习与无监督学习,涵盖理论基础、应用场景及典型算法实现,如线性回归、决策树、K均值聚类和主成分分析,并通过代码示例加深理解。适合初学者和进阶者阅读。
887 5
|
存储 算法 编译器
【C++ 引用 】C++深度解析:引用成员变量的初始化及其在模板编程中的应用(一)
【C++ 引用 】C++深度解析:引用成员变量的初始化及其在模板编程中的应用
1879 0
|
人工智能
三战VS2019编译VTK7.1+Qt5.15.2
本文记录了作者在VS2019环境下编译VTK 7.1与Qt 5.15.2的历程,包括正确配置方法、遇到的编译错误以及解决过程。
322 5
|
网络协议 C++ Docker
Docker pull拉取镜像报错“Error response from daemon: Get "https://registry-1.docker.io/v2”解决办法
Docker pull拉取镜像报错“Error response from daemon: Get "https://registry-1.docker.io/v2”解决办法
65766 2
|
算法 Serverless C语言
CMake函数和宏(function和macro):使用函数和宏提高代码可读性
CMake函数和宏(function和macro):使用函数和宏提高代码可读性
399 1