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

文章详细解释了CMake中的一系列系统和编译器标志,如CMAKE_SYSTEM_NAME、CMAKE_HOST_*、CMAKE_TOOLCHAIN_FILE等,以及它们在不同操作系统和编译环境下的应用和行为。
摘要由CSDN通过智能技术生成

文章目录

变量名称描述
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_REGEXRegex匹配可能的目标体系结构库目录名。 这用于通过匹配名称,从隐式链接器搜索路径中检测CMAKE__LIBRARY_ARCHITECTURE。
CMAKE_OBJECT_PATH_MAX本机生成工具允许的最大对象文件完整路径长度。 CMake为每个源文件计算一个对象文件名,该名称对于源文件是唯一的,并且相对于源文件的完整路径是确定的。这允许目标中的多个源文件共享相同的名称,如果它们位于不同的目录中,则在添加或删除一个源文件时无需重新生成。然而,在少数情况下,它可能会产生长的完整路径,因此当对象文件的完整路径超过限制时,CMake会使用哈希方案缩短路径。CMake对每个平台都有一个内置的限制,这对于通用工具来说是足够的,但一些本地工具可能有一个下限。此变量可以设置为显式指定限制。该值必须是一个不小于128的整数。
CMAKE_SYSTEMCMake正在为编译的操作系统的组合名称。 此变量是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_VERSIONCMake要为其构建的操作系统的版本。有关操作系统名称,请参阅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)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AoDeLuo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值