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  给定工程的源码顶层路径。

posted on 2012-12-16 22:03  SirDigit  阅读(17785)  评论(2编辑  收藏  举报