如何了解这些cmake变量的值?

时间:2014-03-02 19:15:22

标签: cmake

我想了解有关cmake的更多信息,并决定使用cmake -P一起浏览其维基,例如this page“CMake有用变量”。因此,我将页面内容剪切并粘贴到运行Ubuntu 12.04LTS 64位的笔记本上的文件/tmp/t1.cmake中。

但是,在此框中执行cmake -P /tmp/t1.cmake后,我得到了

cmake -P t1.cmake
-- CMAKE_BINARY_DIR:         /tmp
-- CMAKE_CURRENT_BINARY_DIR: /tmp
-- CMAKE_SOURCE_DIR:         /tmp
-- CMAKE_CURRENT_SOURCE_DIR: /tmp
-- PROJECT_BINARY_DIR: 
-- PROJECT_SOURCE_DIR: 
-- EXECUTABLE_OUTPUT_PATH: 
-- LIBRARY_OUTPUT_PATH:     
-- CMAKE_MODULE_PATH: 
-- CMAKE_COMMAND: /usr/bin/cmake
-- CMAKE_ROOT: /usr/share/cmake-2.8
-- CMAKE_CURRENT_LIST_FILE: /tmp/t1.cmake
-- CMAKE_CURRENT_LIST_LINE: 49
-- CMAKE_INCLUDE_PATH: 
-- CMAKE_LIBRARY_PATH: 
-- CMAKE_SYSTEM: 
-- CMAKE_SYSTEM_NAME: 
-- CMAKE_SYSTEM_VERSION: 
-- CMAKE_SYSTEM_PROCESSOR: 
-- UNIX: 1
-- WIN32: 
-- APPLE: 
-- MINGW: 
-- CYGWIN: 
-- BORLAND: 
-- MSVC: 
-- MSVC_IDE: 
-- MSVC60: 
-- MSVC70: 
-- MSVC71: 
-- MSVC80: 
-- CMAKE_COMPILER_2005: 
-- CMAKE_SKIP_RULE_DEPENDENCY: 
-- CMAKE_SKIP_INSTALL_ALL_DEPENDENCY: 
-- CMAKE_SKIP_RPATH: 
-- CMAKE_VERBOSE_MAKEFILE: 
-- CMAKE_SUPPRESS_REGENERATION: 
-- CMAKE_C_FLAGS: 
-- CMAKE_CXX_FLAGS: 
-- CMAKE_BUILD_TYPE: 
-- BUILD_SHARED_LIBS: 
-- CMAKE_C_COMPILER: 
-- CMAKE_CXX_COMPILER: 
-- CMAKE_COMPILER_IS_GNUCC: 
-- CMAKE_COMPILER_IS_GNUCXX : 
-- CMAKE_AR: 
-- CMAKE_RANLIB: 

我可以理解,有些变量不适用于我的系统,因此它们的值应为空。但是CMAKE_SYSTEMCMAKE_SYSTEM_NAMECMAKE_SYSTEM_VERSIONCMAKE_SYSTEM_PROCESSOR等等呢?它们应该可用,对吗?我还尝试了man page中列出的一些系统变量,例如CMAKE_HOST_SYSTEM_NAME等,也没有去。如果我不知道这些变量的值,我该如何正确使用它们?

我想知道我在这里失踪了什么。

1 个答案:

答案 0 :(得分:1)

其中许多都是由project命令设置的。不幸的是,如果添加此命令,则无法在脚本模式下使用CMake(即,您无法执行cmake -P

所以,最好的办法是在t1.cmake旁边添加一个CMakeLists.txt,例如:

cmake_minimum_required(VERSION 2.8)
project(ShowVariables)
include(t1.cmake)

然后做:

mkdir /tmp/build
cd /tmp/build
cmake ..