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_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)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/171128.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【阿里云】图像识别 智能分类识别 项目开发(一)

语音模块和阿里云图像识别结合 环境准备 代码实现 编译运行 写个shell脚本用于杀死运行的进程 语音模块和阿里云图像识别结合 使用语音模块和摄像头在香橙派上做垃圾智能分类识别 语音控制摄像下载上传阿里云解析功能点实现 环境准备 将语音模块接在UART5的位置 在orange…

数据结构总复习

文章目录 线性表动态分配的顺序存储结构链式存储 线性表 动态分配的顺序存储结构 通过分析代码,我们发现,要注意什么: 要分清你的下标Insert 函数是可以用来没有元素的时候,增加元素的Init(或者Create )函数一般只用来分配空间…

qt 简单了解QHBoxLayout QVBoxLayout QFormLayout水平,垂直,表单布局管理器.

QHBoxLayout水平布局,QVBoxLayout垂直布局,QFormLayout表单布局管理器,是常用的布局管理器,是用代码编写应用界面必不可少的功能类. 1.tips 这里值得注意的是,2个单选按钮(QRadioButton)同时放进一个水平布局管理器(QHBoxLayout)中,相当于放进了一个分组器中,此时,2个单选按钮…

C++判断一个整数是否为回文数

可以将整数转换为字符串&#xff0c;然后再判断该字符串是否为回文串。 将整数转化为字符串&#xff0c;可以使用 to_string() 方法&#xff1b; 使用双指针法判断字符串是否为回文串。 #include <iostream> #include <string>using namespace std;bool isPalin…

Qt QString与QChar总结

(一) QString 1 QString的简介 QString 是Qt 中的一个类&#xff0c;用于存储字符串&#xff0c;QString 没有父类。QString 存储的是一串字符&#xff0c;每个字符是一个 QChar 类型的数据。QChar 使用的是 UTF-16 编码&#xff0c;一个字符包含 2字节数据。 对于超过 6553…

5 个 Python 异常值检测算法实战案例

异常值检测(outlier)是一种数据挖掘过程,用于确定数据集中发现的异常值并确定其出现的详细信息。当前自动异常检测至关重要,因为大量数据无法手动标记异常值。自动异常检测具有广泛的应用,例如信用卡欺诈检测,系统健康监测,故障检测以及传感器网络中的事件检测系统等。 …

go atexit源码分析

文章目录 atexit源码解析UML类图样例一: 程序退出之前执行注册函数1.1 流程图1.2 代码分析 样例二&#xff1a;使用cancel取消注册函数2.1 cancel流程图2.2 代码分析 样例三&#xff1a;使用Fatal/Fatalln/Fatal执行注册函数3.1 Fatal/Fatalln/Fatal流程图3.2 代码分析 atexit源…

Android平台GB28181设备接入模块开发填坑指南

技术背景 为什么要开发Android平台GB28181设备接入模块&#xff1f;这个问题不再赘述&#xff0c;在做Android平台GB28181客户端的时候&#xff0c;媒体数据这块&#xff0c;我们已经有了很好的积累&#xff0c;因为在此之前&#xff0c;我们就开发了非常成熟的RTMP推送、轻量…

Scannet v2 数据集介绍以及子集下载展示

Scannet v2 数据集介绍以及子集下载展示 文章目录 Scannet v2 数据集介绍以及子集下载展示参考数据集简介子集scannet_frames_25kscannet_frames_test 下载脚本 download_scannetv2.py 参考 scannet数据集简介和下载-CSDN博客 scannet v2 数据集下载_scannetv2数据集_蓝羽飞鸟的…

kafka学习笔记(一)--脑裂

我知道你想裂&#xff0c;但你先别裂 脑裂 用集群部署的大多数的分布式系统无可避免会面临脑裂问题。简单来说&#xff0c;脑裂就是在同一时刻出现了两个“Leader&#xff08;或叫Master&#xff09;”。设想这样一个场景&#xff1a;某分布式系统的分别部署在A&#xff0c;B…

BeanUtil的正确使用方式

shigen日更文章的博客写手&#xff0c;擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长&#xff0c;分享认知&#xff0c;留住感动。 在实际的开发中&#xff0c;我们常常会用到工具类去拷贝对象的属性&#xff0c;将一个对象的属性转换成另外一个…

球面的表面积

此推导需要用到重积分的知识&#xff0c;另外关于曲面的面积公式可以看我之前的博客

百度AI布局:从财报看百度的核心竞争力和未来发展方向

百度是中国最大的搜索引擎&#xff0c;也是全球领先的人工智能&#xff08;AI&#xff09;公司。百度在2023年第三季度业绩中&#xff0c;展示了其在AI领域的强劲表现和广阔前景。 百度财报透露了关于AI业务的哪些重要信息&#xff1f; 百度在2023年第三季度的财报中&#xf…

机器学习:攻击方法FGSM系列

任务 FGSM I-FGSM MI-FGSM Ensemble Attack 攻击评价指标 准确率越低表明攻击越好 数据 预训练模型 BaseLine 实践

***Linux常用命令及解释

1、查看Linux的版本信息 1.1、uname -a 1.2、cat /etc/issue 1.3、cat /proc/version 1.4、hostnamectl 通过使用hostnamectl命令&#xff0c;可以查询和更改系统主机名&#xff0c;并且还可以查看Linux的发行版和内核版本。 2、删除文件 3、修改目录权限 4、解压文件 5、…

探索 Linux vim/vi 编辑器:介绍、模式以及基本操作演示

&#x1f490;作者&#xff1a;insist-- &#x1f490;个人主页&#xff1a;insist-- 的个人主页 理想主义的花&#xff0c;最终会盛开在浪漫主义的土壤里&#xff0c;我们的热情永远不会熄灭&#xff0c;在现实平凡中&#xff0c;我们终将上岸&#xff0c;阳光万里 ❤️欢迎点…

目标检测YOLO实战应用案例100讲-基于多光谱图像融合的光伏组件故障 检测(续)

目录 3.4 基于改进RIFT的光伏多光谱图像配准 3.4.1 Harris角特征点检测算法

Spring的依赖注入,依赖注入的基本原则,依赖注入的优势

文章目录 Spring的依赖注入依赖注入的基本原则依赖注入有什么优势查找定位操作与应用代码完全无关。有哪些不同类型的依赖注入实现方式&#xff1f;构造器依赖注入和 Setter方法注入的区别 Spring的依赖注入 控制反转IoC是一个很大的概念&#xff0c;可以用不同的方式来实现。…

android系统新特性——用户界面以及系统界面改进

用户界面改进 Android用户界面改进最明显的就是MD了。MD是Google于2014年推出的设计语言&#xff0c;它是一套完整的设计系统&#xff0c;包含了动画、样式、布局、组件等一系列与设计有关的元素。通过对这些行为的描述&#xff0c;让开发者设计出更符合目标的软件&#xff0c…

vue3+elementPlus之侧边菜单栏功能

选择默认的颜色&#xff0c;将代码拷贝至<el-aside>模块中 稍微把不需要的修改一下。 <template><div class"common-layout"><el-container><el-header class"homeHeader"><div class"headerTitle">Devops…