set_property:在指定域中设置一个命名属性

set_property(<GLOBAL                            |
                DIRECTORY [dir]                   |
                TARGET    [target1 [target2 ...]] |
                SOURCE    [src1 [src2 ...]]       |
                TEST      [test1 [test2 ...]]     |
                CACHE     [entry1 [entry2 ...]]>
               [
APPEND][APPEND_STRING]PROPERTY <name>[value1 [value2 ...]])

在某个域中对零个或多个对象设置一个属性。第一个参数决定该属性设置所在的域。它必须为下面中的其中之一:

GLOBAL域是唯一的,并且不接特殊的任何名字。

DIRECTORY域默认为当前目录,但也可以用全路径或相对路径指定其他的目录(前提是该目录已经被CMake处理)。

TARGET域可命名零或多个已经存在的目标。

SOURCE域可命名零或多个源文件。注意:源文件属性只对在相同目录下的目标是可见的(CMakeLists.txt)。

TEST域可命名零或多个已存在的测试。

CACHE域必须命名零或多个已存在条目的cache.

必选项PROPERTY后面紧跟着要设置的属性的名字。其他的参数用于构建以分号隔开的列表形式的属性值。如果指定了APPEND选项,则指定的列表将会追加到任何已存在的属性值当中。如果指定了APPEND_STRING选项,则会将值作为字符串追加到任何已存在的属性值。

get_property:获取一个属性值

get_property(<variable>
               <
GLOBAL             |
                DIRECTORY [dir]    |
                TARGET    <target> |
                SOURCE    <source> |
                TEST      <test>   |
                CACHE     <entry>  |
                VARIABLE>
               PROPERTY <name>
               [SET | DEFINED |BRIEF_DOCS | FULL_DOCS])

相关域的说明与set_property意义相同。

必选项PROPERTY后面紧跟着要获取的属性的名字。如果指定了SET选项,则变量会被设置为一个布尔值,表明该属性是否已设置。如果指定了DEFINED选项,则变量也会被设置为一个布尔值,表明该属性是否已定义(如通过define_property)。如果定义了BRIEF_DOCS或FULL_DOCS选项,则该变量被设置为一个字符串,包含了对请求的属性的文档。如果该属性没有相关文件,则会返回NOTFOUND。

转载于:https://my.oschina.net/fuyajun1983cn/blog/263839

CMake命令之set_property和get_property相关推荐

  1. CMake命令:find_package、make instal、make --build .、CMAKE_PREFIX_PATH、add_compile_options、set_property

    1.find_package 作用: 帮助查找工程依赖的包(lib.so)文件. 1.1.两种查找模式: 两种模式均为在指定路径下查找指定类型cmake文件来查找依赖的包,差异为两模式的查找路径不同. ...

  2. 【CMake】CMake 引入 ( Android NDK 构建脚本 | CMake 命令手册 )

    文章目录 一.Android NDK 构建脚本 二.CMake 构建脚本示例 三.CMake 命令手册 1.CMake 脚本命令 2.CMake 工程命令 该系列博客的应用场景是 Android St ...

  3. CMake命令大全——CMake构建系统的骨架

    转自:http://www.cnblogs.com/coderfenghc/archive/2012/06/16/CMake_ch_01.html#2996205) CMD#1: add_custom ...

  4. 【Cmake】执行cmake命令时报错:No XSLT processor found

    一.问题描述 在ubuntu中,在生成Doc(文档)中,执行cmake命令时报错:No XSLT processor found 二.原因查找 google该错误信息,原因是确实ubuntu中没有安装 ...

  5. 【CMake】Android Studio 中使用 CMake 编译单个 C++ 源文件 ( 常用的 CMake 命令解析 )

    文章目录 一.Android Studio 中使用 CMake 编译单个 C++ 源文件 二.cmake_minimum_required 命令设置最小 CMake 版本 三.project 命令设置 ...

  6. linux下cmake命令行,深入理解CMake(1): CMake命令行参数

    初衷 CMake能用来编写跨平台(cross-platform)的构建规则,通过这些规则来调用各个平台的编译器.链接器,生成各个目标(静态库,静态库,或者可执行). 我第一个接触的大型C++项目是Op ...

  7. Qt CMake命令参考

    Qt CMake命令参考 CMake命令参考 Qt5 :: Core Qt5 :: DBus Qt5 :: Linguist工具 Qt5 :: RemoteObjects Qt5 :: Widgets ...

  8. cmake命令的python库的位置参数-DTORCH_PATH

    https://blog.csdn.net/qq_35590091/article/details/104557020 我主要用的是这文章里对于cmake命令的python库的位置参数-DTORCH_ ...

  9. CMake命令之add_custom_comand 和 add_custom_target

    一.背景 在很多时候,需要在cmake中创建一些目标,如clean.copy等等,这就需要通add_custom_target来指定.而add_custom_command则可以用来完成对add_cu ...

最新文章

  1. 【推荐】使用Ultrapico Expresso学习正则表达式
  2. Node.js 将Json文件数据转为SQL可执行的insert语句
  3. 数据库LINQ TO SQL在Silverlight中的应用(WCF)------学习笔记(一)
  4. tf.control_dependencies()控制计算流图
  5. vscode插件的开发与发布流程
  6. 四大技巧轻松搞定云容器
  7. js+ asp.Net ajax开发163邮箱效果(列表底色、多选拖动等)--checkBox多选
  8. TCP滑窗与拥塞控制
  9. Linux中httpd353错误,linux - 由于控制进程退出并显示错误代码,因此httpd.service的作业失败 - 堆栈内存溢出...
  10. azure创建centos_使用Azure Power BI创建Azure数据仓库报告
  11. hibernate 查询id为空懒加载_hibernate 查询时指定查询字段、级联表的一种方式
  12. Kaldi AMI数据集脚本学习2----run_prepare_shared.sh
  13. WEB测试环境搭建和测试方法大全
  14. ps用计算机,教你用photoshop绘制计算器
  15. python游戏程序代码大全_童年游戏,Python一行代码就能实现!
  16. 基于阿里云LinkWAN实现设备上云(1) LinkWAN平台简析
  17. Mac下载软件Motrix 下载速度为零解决办法
  18. 帆软BI中界面上如果要替换原有的组件,两种替换方式
  19. 微服务:高性能网关 ShenYu简介
  20. s3c24xx的时钟初始化

热门文章

  1. CentOS 5.2 下安装tripwire2.3.1.2出错解决
  2. sql优化之物理优化
  3. JavaI/O:使用InputStreamReader和BufferedReade实现控制器输入输出
  4. 不动的,稳定的,有序的东西就是低熵,相反的就是动的,不稳定的
  5. 文本主题模型之非负矩阵分解(NMF)
  6. Linux 设备驱动--- 阻塞型字符设备驱动 --- O_NONBLOCK --- 非阻塞标志【转】
  7. Java加密与解密笔记(三) 非对称加密
  8. pkill 和 pgrep总结
  9. 关于redis性能估算的小方法
  10. javax.validation.ParameterNameProvider