我想了解有关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_SYSTEM
,CMAKE_SYSTEM_NAME
,CMAKE_SYSTEM_VERSION
,CMAKE_SYSTEM_PROCESSOR
等等呢?它们应该可用,对吗?我还尝试了man page中列出的一些系统变量,例如CMAKE_HOST_SYSTEM_NAME
等,也没有去。如果我不知道这些变量的值,我该如何正确使用它们?
我想知道我在这里失踪了什么。
答案 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 ..