CMake中的变量: 描述系统信息的变量

文章目录

变量名称 描述
ANDROID 当目标系统(CMAKE_SYSTEM_NAME)为Android时,设置为1。
APPLE 当目标系统是苹果平台(macOS、iOS、tvOS、visionOS或watchOS)时,设置为True。
BORLAND 如果正在使用Borland编译器,则设置为true。
BSD 当目标系统是BSD时,设置为字符串值。该值可以是以下值之一:DragonFlyBSD、FreeBSD、OpenBSD或NetBSD。
CMAKE_ANDROID_NDK_VERSION 当使用NDK为Android进行交叉编译并使用Android NDK版本11或更高版本时,CMake提供此变量以报告NDK版本号。
CMAKE_CL_64 当使用以64位体系结构为目标的Microsoft Visual Studio cl编译器时,请设置为真值。
CMAKE_COMPILER_2005 使用Microsoft的Visual Studio 2005编译器时设置为true。
CMAKE_HOST_APPLE 当主机系统为Apple macOS时,设置为true。
CMAKE_HOST_BSD 当主机系统是BSD时,设置为字符串值。该值可以是以下值之一:DragonFlyBSD、FreeBSD、OpenBSD或NetBSD。
CMAKE_HOST_LINUX 当主机系统为Linux时,设置为true。
CMAKE_HOST_SOLARIS 当主机系统为Oracle Solaris时,设置为true。
CMAKE_HOST_SYSTEM 正在运行的OS CMake的组合名称。 此变量是CMAKE_HOST_SYSTEM_NAME和CMAKE_HOST_SYSTEM_VERSION的组合,例如 C M A K E H O S T S Y S T E M N A M E − {CMAKE_HOST_SYSTEM_NAME}- CMAKEHOSTSYSTEMNAME{CMAKE_HOST_SYSTEM_VERSION}。如果未设置CMAKE_HOST_SYSTEM_VERSION,则此变量与CMAKE_HOST_SYSTEM_NAME相同。
CMAKE_HOST_SYSTEM_NAME 正在运行的操作系统CMake的名称。 在具有uname命令的系统上,此变量设置为uname-s的输出。Linux、Windows和Darwin for macOS是三大操作系统上的价值观。
CMAKE_HOST_SYSTEM_PROCESSOR 在Windows上,此变量设置为环境变量PROCESSOR_ARCHITECTURE的值。在支持uname的系统上,此变量设置为的输出:在GNU、Linux、Cygwin、Android或在OpenBSD上的arch,或者 在其他系统上,uname-p,如果其退出代码为非零,或者 否则为uname-m。 默认情况下使用uname-m的值。 在Apple Silicon主机上,uname-m打印的体系结构可能会根据CMake自己的体系结构和调用过程树的体系结构而有所不同。
CMAKE_HOST_SYSTEM_VERSION 系统的数字版本字符串。在支持uname的系统上,此变量设置为uname-r的输出。在其他系统上,此设置为主要次要版本号。
CMAKE_HOST_UNIX 当主机系统是UNIX或类似UNIX(即APPLE和CYGWIN)时,设置为true。
CMAKE_HOST_WIN32 如果主机系统运行的是Windows,包括Windows 64位和MSYS,则为True。 在Cygwin上设置为false。
CMAKE_LIBRARY_ARCHITECTURE 目标体系结构库目录名称(如果检测到)。 这是为某个启用的语言检测到的CMAKE__LIBRARY_ARCHITECTURE的值。
CMAKE_LIBRARY_ARCHITECTURE_REGEX Regex匹配可能的目标体系结构库目录名。 这用于通过匹配名称,从隐式链接器搜索路径中检测CMAKE__LIBRARY_ARCHITECTURE。
CMAKE_OBJECT_PATH_MAX 本机生成工具允许的最大对象文件完整路径长度。 CMake为每个源文件计算一个对象文件名,该名称对于源文件是唯一的,并且相对于源文件的完整路径是确定的。这允许目标中的多个源文件共享相同的名称,如果它们位于不同的目录中,则在添加或删除一个源文件时无需重新生成。然而,在少数情况下,它可能会产生长的完整路径,因此当对象文件的完整路径超过限制时,CMake会使用哈希方案缩短路径。CMake对每个平台都有一个内置的限制,这对于通用工具来说是足够的,但一些本地工具可能有一个下限。此变量可以设置为显式指定限制。该值必须是一个不小于128的整数。
CMAKE_SYSTEM CMake正在为编译的操作系统的组合名称。 此变量是CMAKE_SYSTEM_NAME和CMAKE_SSYSTEM_VERSION的组合,例如 C M A K E S Y S T E M N A M E − {CMAKE_SYSTEM_NAME}- CMAKESYSTEMNAME{CMAKE_SYSTEM_VERSION}。如果未设置CMAKE_SYSTEM_VERSION,则此变量与CMAKE_SYSTEM_NAME相同。
CMAKE_SYSTEM_NAME 要为其生成CMake的操作系统的名称。有关操作系统版本,请参阅CMAKE_SYSTEM_VERSION变量。 请注意,在脚本模式下运行时,默认情况下CMAKE_SYSTEM_NAME不会设置为任何值,因为它不会构建任何内容。
CMAKE_SYSTEM_PROCESSOR 不交叉编译时,此变量的值与CMAKE_HOST_SYSTEM_PROCESSOR变量的值相同。在许多情况下,这将对应于构建的目标体系结构,但这并不能保证。(例如,在Windows上,即使使用具有32位目标的MSVC cl编译器,主机也可能是AMD64。) 交叉编译时,CMAKE_TOOLCHAIN_FILE应将CMAKE_SYSTEM_PROCESSOR变量设置为与其指定的目标体系结构相匹配(通过CMAKE_COMPILER,或者通过CMAKE_COMPILER_target)。
CMAKE_SYSTEM_VERSION CMake要为其构建的操作系统的版本。有关操作系统名称,请参阅CMAKE_SYSTEM_NAME变量。
CYGWIN 使用Cygwin时设置为true。
GHSMULTI 使用Green Hills MULTI生成器时为1。 此外,当目标系统是Green Hills平台时(即,当CMAKE_system_NAME为GHS-MULTI时),设置为1。
IOS 当目标系统(CMAKE_SYSTEM_NAME)为iOS时,设置为1。
LINUX 当目标系统是Linux时,设置为true。
MINGW 当编译器在Windows(MinGW)上以GNU ABI为目标启用了至少一种语言时,设置为真值。 否则,CMake不会设置此变量。
MSVC 当编译器是某个版本的Microsoft Visual C++或其他模拟Visual C++cl命令行语法的编译器时,请设置为true。 另请参见MSVC_VERSION变量。
MSVC10 使用Microsoft Visual Studio v100工具集(cl版本16)或其他模拟它的编译器时为True。
MSVC11 当使用Microsoft Visual Studio v110工具集(cl版本17)或其他模拟它的编译器时为True。
MSVC12 当使用Microsoft Visual Studio v120工具集(cl版本18)或其他模拟它的编译器时为True。
MSVC14 当使用Microsoft Visual Studio v130工具集(cl版本19)或其他模拟它的编译器时为True。
MSVC60 当编译器为Microsoft Visual C++6.0版本时,请设置为true。
MSVC70 当编译器为Microsoft Visual C++7.0版本时,请设置为true。
MSVC71 当编译器为Microsoft Visual C++7.1版本时,请设置为true。
MSVC80 当编译器为Microsoft Visual C++8.0版本时,请设置为true。
MSVC90 当编译器为Microsoft Visual C++9.0版本时,请设置为true。
MSVC_IDE 当目标平台是Microsoft Visual C++IDE而不是命令行编译器时,设置为true。
MSVC_TOOLSET_VERSION 正在使用的Microsoft Visual C/C++的工具集版本(如果有的话)。如果使用类似MSVC的变量,则会根据MSVC_version变量给出的编译器版本设置此变量。 80 = VS 2005 (8.0) 90 = VS 2008 (9.0) 100 = VS 2010 (10.0) 110 = VS 2012 (11.0) 120 = VS 2013 (12.0) 140 = VS 2015 (14.0) 141 = VS 2017 (15.0) 142 = VS 2019 (16.0) 143 = VS 2022 (17.0)
MSVC_VERSION 正在使用的Microsoft Visual C/C++版本(如果有)。如果使用模拟Visual C++的编译器,则此变量将设置为_MSC_VER预处理器定义所模拟的工具集版本。 1200 = VS 6.0 1300 = VS 7.0 1310 = VS 7.1 1400 = VS 8.0 (v80 toolset) 1500 = VS 9.0 (v90 toolset) 1600 = VS 10.0 (v100 toolset) 1700 = VS 11.0 (v110 toolset) 1800 = VS 12.0 (v120 toolset) 1900 = VS 14.0 (v140 toolset) 1910-1919 = VS 15.0 (v141 toolset) 1920-1929 = VS 16.0 (v142 toolset) 1930-1939 = VS 17.0 (v143 toolset)
MSYS 使用MSYS Makefiles生成器时为True。
UNIX 当目标系统是UNIX或类似UNIX(例如APPLE和CYGWIN)时,设置为True。如果需要对目标系统有更具体的了解,则应查询CMAKE_SYSTEM_NAME变量。
WIN32 当目标系统为Windows(包括Win64)时,设置为True。
WINCE 当CMAKE_SYSTEM_NAME变量设置为WindowsCE时为True。
WINDOWS_PHONE 当CMAKE_SYSTEM_NAME变量设置为WindowsPhone时为True。
WINDOWS_STORE 当CMAKE_SYSTEM_NAME变量设置为WindowsStore时为True。
XCODE 使用Xcode生成器时为True。
XCODE_VERSION 在Xcode生成器下,这是Xcode.app/Contents/version.plist中指定的Xcode版本(如3.1.2)。

你可能感兴趣的:(Cmaker,cmake)