cmake 常用命令解析
1.属性相关
1.1 获取属性的命令
1.2 设置属性的命令
1.3 获取和设置属性的类型的专门命令
1.3.1 get_target_property
用于查询一个 CMake 目标(target)的某个特定属性的当前值。你可以把它理解为一个专门用来“读取”目标(如库、可执行文件)内部设置信息的工具。
1.基本语法:
get_target_property(
参数 含义
用来存储查询结果的变量名。
重要特性:如果指定的属性不存在或未被设置,那么 的值将被设置为 -NOTFOUND。因此,在使用查询结果前,用 if(DEFINED ...) 或 if() 检查是一个好习惯。
📚 常用的目标属性
目标属性非常多,以下是一些最常用且可以用 get_target_property 查询的:
属性分类 属性名 说明
核心属性 SOURCES 目标的源文件列表。
TYPE 目标类型(如 EXECUTABLE, STATIC_LIBRARY, SHARED_LIBRARY)。
编译相关 COMPILE_OPTIONS 目标的编译选项列表(如您之前提到的 -fexceptions)。
COMPILE_DEFINITIONS 目标的预处理定义。
COMPILE_FEATURES 目标要求的编译特性(如 cxx_std_17)。
链接相关 LINK_LIBRARIES 目标链接的库列表。
LINK_OPTIONS 目标的链接器选项。
INTERFACE_LINK_LIBRARIES 目标的接口链接库(用于传递依赖)。
目录/输出 INCLUDE_DIRECTORIES 目标的包含目录列表。