CMake常见变量——Project和CMake相关信息
- CMAKE_AR: 静态库的归档工具的名称。这个变量指定了用于创建档案或静态库的程序的名称。
- CMAKE_ARGC: 在脚本模式下传给CMake的命令行参数的个数。当运行在-P脚本模式下,CMake设置该变量为命令行参数的个数。
- CMAKE_ARGV0: 在脚本模式下传给CMake的命令行的第一个参数。
- CMAKE_BINARY_DIR: 构建树的最外层路径,是当前CMake构建树的最外层的全路径。对于在源码中构建的情况,它与CMAKE_SOURCE_DIR的值一样。
- CMAKE_BUILD_TOOL: 执行构建过程的工具。该变量设置为CMake构建时输出所需的程序。对于VS 6, CMAKE_BUILD_TOOL设置为msdev, 对于Unix,它被设置为make 或 gmake。 对于 VS 7, 它被设置为devenv. 对于Nmake构建文件,它的值为nmake。
- CMAKE_CACHEFILE_DIR: 该变量设置为包含CMakeCache.txt文件的目录的全路径。通常与CMAKE_BINARY_DIR的值一样。
- CMAKE_CACHE_MAJOR_VERSION: 用于创建CMakeCache.txt文件的CMake的主版本号。只有当CMake运行于在由一个不同版本的CMake创建的cache文件时,这个变量的值才会不同。
- CMAKE_CACHE_MINOR_VERSION: 用于创建CMakeCache.txt文件的CMake的次版本号。只有当CMake运行于在由一个不同版本的CMake创建的cache文件时,这个变量的值才会不同。
- CMAKE_CACHE_PATCH_VERSION: 用于创建CMakeCache.txt文件的CMake的补丁版本号。只有当CMake运行于在由一个不同版本的CMake创建的cache文件时,这个变量的值才会不同。
- CMAKE_CFG_INTDIR: 构建时对每个配置的输出子目录的引用。对于在一个构建树中支持多个配置的本地构建系统(例如Visual Studio或Xcode),该值就是对指定单个配置输出子目录的一个构建时变量的引用。对于Makefile产生器,该变量解析为”.”。因为在此构建树,只有一个配置。示例的值 如下:
由于这些值由本地构建系统解析,该变量只适合用于命令行下,这些命令在构建时被解析。使用例子如下:
- CMAKE_COMMAND: 指向cmake可执行程序的全路径。
- CMAKE_CROSSCOMPILING: 当前CMake是否是交叉编译。
- CMAKE_CTEST_COMMAND: 指向ctest可执行程序的全路径。
- CMAKE_CURRENT_BINARY_DIR: 当前正在处理的构建目录。每个由add_subdirectory添加的目录将会在构建树中创建一个构建目录。对于直接在源码目录中编译的情况,当前正在处理的构建目录就是当前源码所在的目录。
- CMAKE_CURRENT_LIST_DIR: 当前处理的CMakeLists.txt文件所在的目录。
- CMAKE_CURRENT_LIST_FILE: 当前处理的CMakeLists.txt文件的全路径。
- CMAKE_CURRENT_LIST_LINE: 当前处理的CMakeLists.txt文件的行号。
- CMAKE_CURRENT_SOURCE_DIR: 当前处理的源码路径。
- CMAKE_DL_LIBS: 包含dlopen和dlclose的库的名称。
- CMAKE_EDIT_COMMAND: cmake-gui或ccmake的全路径。
- CMAKE_EXECUTABLE_SUFFIX: 该平台上可执行程序的后缀。
- CMAKE_EXTRA_GENERATOR: 额外的用于构建工程的产生器。当使用Eclispse, CodeBlocks或KDevelop产生器时,CMake会产生Makefile文件以及相应的工程文件(CMAKE_GENERATOR)。该IDE工程文件产生器存储于CMAKE_EXTRA_GENERATOR(如:”Eclipse CDT4”)
- CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES: 共享库额外的后缀名。这些共享库不是CMAKE_SHARED_LIBRARY_SUFFIX。在分析某个目标链接的库时,CMake使用该变量识别外部共享库文件。
- CMAKE_GENERATOR: 构建工程的产生器。它将产生构建文件 (e.g. "Unix Makefiles", "Visual Studio 6", etc.)
- CMAKE_HOME_DIRECTORY: 源码树的顶级目录的路径。
- CMAKE_IMPORT_LIBRARY_PREFIX: 链接的引入库的前缀。CMAKE_IMPORT_LIBRARY_PREFIX_<LANG> overrides this for language <LANG>.
- CMAKE_IMPORT_LIBRARY_SUFFIX: 链接的引入库的后缀。CMAKE_IMPORT_LIBRARY_SUFFIX_<LANG> overrides this for language <LANG>.
- CMAKE_LINK_LIBRARY_SUFFIX: 链接的库的后缀。如Windows下是.lib。
- CMAKE_MAJOR_VERSION: CMake的主版本号。
- CMAKE_MAKE_PROGRAM: 该变量主要是为了向后兼容。参见:CMAKE_BUILD_TOOL.
- CMAKE_MINOR_VERSION: CMake的次版本号。
- CMAKE_PARENT_LIST_FILE: 正在处理的CMakeLists.txt文件的父CMakelists.txt文件所在的路径。
- CMAKE_PATCH_VERSION: CMake的补丁版本。
- CMAKE_PROJECT_NAME: 当前工程的名字。
- CMAKE_RANLIB: 静态库的随机化工具的名称。
- CMAKE_ROOT: cmake的安装目录。
- CMAKE_SCRIPT_MODE_FILE: 脚本模式下正在处理的脚本文件。
- CMAKE_SHARED_LIBRARY_PREFIX: 链接的共享库的前缀。TCMAKE_SHARED_LIBRARY_PREFIX_<LANG> overrides this for language <LANG>.
- CMAKE_SHARED_LIBRARY_SUFFIX:链接的共享库的后缀。CMAKE_SHARED_LIBRARY_SUFFIX_<LANG> overrides this for language <LANG>.
- CMAKE_SHARED_MODULE_PREFIX: 链接的可加载模块的前缀。CMAKE_SHARED_MODULE_PREFIX_<LANG> overrides this for language <LANG>.
- CMAKE_SHARED_MODULE_SUFFIX: 链接的可加载模块的后缀。CMAKE_SHARED_MODULE_SUFFIX_<LANG> overrides this for language <LANG>.
- CMAKE_SIZEOF_VOID_P: void指针的大小。
- CMAKE_SKIP_RPATH: 如果为真,将不添加运行时路径信息。默认情况下是如果平台支持运行时信息,将会添加运行时信息到可执行程序当中。这样从构建树中运行程序将很容易。为了在安装过程中忽略掉RPATH,使用CMAKE_SKIP_INSTALL_RPATH。
- CMAKE_SOURCE_DIR: 源码树的最顶级目录。当在源码中编译时,与CMAKE_BINARY_DIR的值一致。
- CMAKE_STANDARD_LIBRARIES: 链接到每个可执行程序和共享库的标准库。它包含一系列库。
- CMAKE_STATIC_LIBRARY_PREFIX:链接的静态库的前缀。CMAKE_STATIC_LIBRARY_PREFIX_<LANG> overrides this for language <LANG>.
- CMAKE_STATIC_LIBRARY_SUFFIX: 链接的静态库的后缀。CMAKE_STATIC_LIBRARY_SUFFIX_<LANG> overrides this for language <LANG>.
- CMAKE_TWEAK_VERSION: CMake的tweak版本。
- CMAKE_USING_VC_FREE_TOOLS: 当使用了免费的Visual tools时为真。通常当编译器是Visual Studio免费工具时,该变量设为真。
- CMAKE_VERBOSE_MAKEFILE: 当开启时创建verbose的构建文件。默认为false.当设置为真时,CMake会产生verbose构建文件,它会显示使用到的每个命令行。
- CMAKE_VERSION: CMake的完全版本号。格式:major.minor.patch[.tweak[-id]]。
- PROJECT_BINARY_DIR: 工程的构建目录。
- PROJECT_NAME: 工程名。
- PROJECT_SOURCE_DIR: 当前工程的顶级目录。
- [Project name]_BINARY_DIR: 对应工程的顶级构建目录。
- [Project name]_SOURCE_DIR: 对应工程的源码目录。
转载于:https://my.oschina.net/fuyajun1983cn/blog/263913
CMake常见变量——Project和CMake相关信息相关推荐
- CMake常用变量和指令
通过一个或多个CMakeLists.txt文件来控制CMake项目,CMakeLists.txt中包含一系列命令来描述需要执行的构建. 1. CMake语法 CMakeLists.txt中的指令格式是 ...
- cmake 常用变量和常用环境变量查表手册
cmake 常用变量和常用环境变量查表手册 一,cmake 变量引用的方式: 前面我们已经提到了,使用${}进行变量的引用.在 IF 等语句中,是直接使用变量名而不通过${}取值 二,cmake 自定 ...
- 【Tools】cmake 常用变量和常用环境变量查表手册---整理
原文链接:https://blog.csdn.net/gubenpeiyuan/article/details/8667279 一.cmake 变量引用的方式: 前面我们已经提到了,使用${}进行变量 ...
- cmake 常用变量和常用环境变量
一,cmake 变量引用的方式: 前面我们已经提到了,使用${}进行变量的引用.在 IF 等语句中,是直接使用变量名而不通过${}取值 二,cmake 自定义变量的方式: 主要有隐式定义和显式定义两种 ...
- Cmake预设变量清单
Cmake预设变量很多,这里只记录了常用的预设变量. PROJECT_NAME: 通过project()指定的项目名称 PROJECT_SOURCE_DIR: 工程的根目录,也可以理解为顶层CMake ...
- cmake:在各级目录之间共享变量(cmake cache变量)
摘要: 本文记录一下 CMake 变量的定义.原理及其使用.CMake 变量包含 Normal Variables.Cache Variables.通过 set 指令可以设置两种不同的变量.也可以在 ...
- cmake cache变量_反复研究好几遍,我才发现关于 CMake 变量还可以这样理解!
本文的排版有些问题,如果您觉得本文排版不太好看,可以到这里查看: 反复研究好几遍,我才发现关于 CMake 变量还可以这样理解!mp.weixin.qq.com 摘要: 本文记录一下 CMake 变 ...
- Cmake的介绍和使用 Cmake实践 - 吾尝终日而思矣 不如须臾之所学也 - C++博客
Cmake的介绍和使用 Cmake实践 - 吾尝终日而思矣 不如须臾之所学也 - C++博客 Cmake的介绍和使用 Cmake实践 - 吾尝终日而思矣 不如须臾之所学也 - C++博客 Cmake的 ...
- CMake 常用总结一:CMake 单个文件目录
引言 CMake 实践帮助我们对 CMake 有一个系统全面的了解,并且有大量示例以供参考,至少在实际项目中可以让我们有能力看懂并修改项目中现有的 CMake . 阅读完 CMake 实践文档,认为自 ...
最新文章
- 如何彻底卸载mysql(xp)
- python mysql 分页_利用python对mysql表做全局模糊搜索并分页实例
- 如何快速完成整理笔记?
- python请输入你的名字_实现《你的名字》同款滤镜,python+opencv
- python随机生成六位数密码_python生成6位包含数字和字母的密码
- 1108. Finding Average (20)-PAT甲级真题
- 洛谷P3386 【模板】二分图匹配
- ubuntu下如何切换到root用户 --- 终端命令行方式
- iOS -[JYBDScanCardManage configIDScan] in JYBDScanCardManage.o等静态库问题
- Filebeat 日志收集器 logstash-forwarder 的替代品
- 华为这份关于专利的会议纪要,都说了什么?(内含华为十大发明彩蛋)
- c# 检测中英输入法_C# Winform 中如何获取本机安装输入法,并设置为默认输出语言,如何打开搜狗输入法和手写板...
- 男人就要对自己狠一点
- codeup刷题 2.6小节——C/C++快速入门->函数 ——《算法笔记》(胡凡)
- 网络训练 (总结5)
- Arduino DRV8825驱动两相步进电机
- 解决Android自定义相机预览和照片分辨率差异的问题
- 打造品牌元宇宙 子虔科技Zetaverse产业元宇宙平台现已上线
- freecommander 快捷键列表 zz
- 【Java 代码实例 13】Java操作pdf的工具类itext