zoukankan      html  css  js  c++  java
  • CMake 手册详解(二十三)

         这段时间因为项目进展不顺,翻译手册的事情暂时被搁置;今天总算能抽出一点点时间略微弥补一下。CMake的命令在上一节已经介绍完了,因为总结这些用法需要大块的时间去构思例子,暂且省去这段loos ends,待以后有假期时补上;先进入另一主题:CMake变量。

         CMake变量按功能分有主要有四种不同的类型:1.) 提供信息的变量[共53个];2.) 改变行为的变量[共23个];3.) 描述系统的变量[共24个];4.)控制构建过程的变量[共22个]。此外还有一些变量因编译使用的语言不同而不同,将它们归为第五类[共29个]。  由于变量比较多,这里只给出变量的大概描述;具体作用可使用cmake --help-variable variable_name命令查看。    

    一、提供信息的变量

      VAR#1-1 : CMAKE_AR  静态库的归档工具名字。

      VAR#1-2 : CMAKE_BINARY_DIR  构建树的顶层路径。

      VAR#1-3 : CMAKE_BUILD_TOOL  实际构建过程中使用的工具。

      VAR#1-4 : CMAKE_CACHEFILE_DIR  文件CMakeCache.txt所在的路径。

      VAR#1-5 : CMAKE_CACHE_MAJOR_VERSION  用于创建CMakeCache.txt文件的CMake的主版本号。

      VAR#1-6 : VCMAKE_CACHE_MINOR_VERSION  用于创建CMakeCache.txt文件的CMake的子版本号。

      VAR#1-7 : CMAKE_CACHE_PATCH_VERSION  用于创建CMakeCache.txt文件的CMake的补丁号。

      VAR#1-8 : CMAKE_CFG_INTDIR 构建时,与构建配置相对应的输出子路径(只读)。

      VAR#1-9 : CMAKE_COMMAND 指向CMake可执行文件的完整路径。

      VAR#1-10 : CMAKE_CROSSCOMPILING  指出CMake是否正在交叉编译。

      VAR#1-11 : CMAKE_CTEST_COMMAND  与cmake一起安装的ctest命令的完整路径。

      VAR#1-12 : CMAKE_CURRENT_BINARY_DIR 当前正在被处理的二进制目录的路径。

      VAR#1-13 : CMAKE_CURRENT_LIST_DIR  当前正在处理的listfile的完整目录。

      VAR#1-14 : CMAKE_CURRENT_LIST_FILE  当前正在处理的listfile的完整路径。

      VAR#1-15 : CMAKE_CURRENT_LIST_LINE  当前正在处理的listfile的行号。

      VAR#1-16 : CMAKE_CURRENT_SOURCE_DIR  指向正在被处理的源码目录的路径。

      VAR#1-17 : CMAKE_DL_LIBS  包含dlopen和dlclose函数的库的名称。

      VAR#1-18 : CMAKE_EDIT_COMMAND  指向cmake-gui或ccmake的完整路径。

      VAR#1-19 : CMAKE_EXECUTABLE_SUFFIX(_<LANG>) 本平台上可执行文件的后缀。

      VAR#1-20 : CMAKE_EXTRA_GENERATOR  构建本工程所需要的额外生成器。

      VAR#1-21 : CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES 附加的共享库后缀(除CMAKE_SHARED_LIBRARY_SUFFIX以外,其他可以识别的共享库的后缀名。

      VAR#1-22 : CMAKE_GENERATOR  用于构建该工程的生成器。

      VAR#1-23 : CMAKE_HOME_DIRECTORY 指向源码树顶层的路径。

      VAR#1-24 : CMAKE_IMPORT_LIBRARY_PREFIX(_<LANG>)  需要链接的导入库的前缀。

      VAR#1-25 : CMAKE_IMPORT_LIBRARY_SUFFIX(_<LANG>)  需要链接的导入库的后缀。

      VAR#1-26 : CMAKE_LINK_LIBRARY_SUFFIX  需要链接的库的后缀。

      VAR#1-27 : CMAKE_MAJOR_VERSION  cmake的主版本号(例如2.X.X中的2)。

      VAR#1-28 : CMAKE_MAKE_PROGRAM  参见CMAKE_BUILD_TOOL。

      VAR#1-29 : CMAKE_MINOR_VERSION  cmake的次版本号(例如X.4.X中的4)。

      VAR#1-30 : CMAKE_PARENT_LIST_FILE  当前正在被处理listfile的父listfile的全路径。

      VAR#1-31 : CMAKE_PATCH_VERSION  cmake的补丁号(例如X.X.3中的3)。

      VAR#1-32 : CMAKE_PROJECT_NAME  当前工程的工程名。

      VAR#1-33 : CMAKE_RANLIB  静态库的随机化工具的名字(比如linux下的ranlib)。

      VAR#1-34 : CMAKE_ROOT  CMake的安装路径。

      VAR#1-35 : CMAKE_SHARED_LIBRARY_PREFIX(_<LANG>)  被链接的共享库的前缀。

      VAR#1-36 : CMAKE_SHARED_LIBRARY_SUFFIX(_<LANG>)  被链接的共享库的后缀。

      VAR#1-37 : CMAKE_SHARED_MODULE_PREFIX(_<LANG>)  被链接的可加载模块的前缀。

      VAR#1-38 : CMAKE_SHARED_MODULE_SUFFIX(_<LANG>)  被链接的共享库的后缀。

      VAR#1-39 : CMAKE_SIZEOF_VOID_P void指针的长度。

      VAR#1-40 : CMAKE_SKIP_RPATH  如果变量为真,不为编译出的可执行文件添加运行时的路径信息。默认添加。

      VAR#1-41 : CMAKE_SOURCE_DIR  源码树的顶层路径。

      VAR#1-42 : CMAKE_STANDARD_LIBRARIES  链接到所有可执行文件和共享库上的库。这是一个list。

      VAR#1-43 : CMAKE_STATIC_LIBRARY_PREFIX(_<LANG>)  被链接的静态库的前缀。

      VAR#1-44 : CMAKE_STATIC_LIBRARY_SUFFIX(_<LANG>)  被链接的静态库的后缀。

      VAR#1-45 : CMAKE_TWEAK_VERSION  cmake的tweak版本号(例如X.X.X.1中的1)。

      VAR#1-46 : CMAKE_USING_VC_FREE_TOOLS  如果用到了免费的visual studio工具,设置为真。

      VAR#1-47 : CMAKE_VERBOSE_MAKEFILE  设置该变量为真将创建完整版本的makefile。

      VAR#1-48 : CMAKE_VERSION  cmake的完整版本号;格式为major.minor.patch[.tweak[-id]]。

      VAR#1-49 : PROJECT_BINARY_DIR  指向工程构建目录的全路径。

      VAR#1-50 : PROJECT_NAME  向project命令传递的工程名参数。

      VAR#1-51 : PROJECT_SOURCE_DIR  当前工程的源码路径。

      VAR#1-52 : [Project name]_BINARY_DIR  给定工程的二进制文件顶层路径。

      VAR#1-53 : [Project name]_SOURCE_DIR  给定工程的源码顶层路径。

    <<<------------- 欢迎转载;转载请标明出处。 ------------->>>
  • 相关阅读:
    Elastic的should + bool 多字段完全匹配或查找
    MySQL慢日志
    Elastic的IN查找
    Elastic的字符串查找
    JavaScript获取当前时间戳
    原码, 反码, 补码学习笔记
    PHP渲染压缩HTML
    JavaScript的深拷贝
    JavaScript的变量的let const var的区别
    关于一个值该不该default null的判定
  • 原文地址:https://www.cnblogs.com/coderfenghc/p/2787767.html
Copyright © 2011-2022 走看看