cmake跨平台编译之判断操作系统平台、32位64位系统
判断交叉编译:
if(CMAKE_CROSSCOMPILING)message(STATUS "Cross Comliling!!!, ARM")set(CURRENT_SYSTEM "Arm")
else()message(STATUS "No Cross Comliling!!!")
endif()
判断32位64位系统:
if(CMAKE_CL_64)set(CURRENT_PLATFORM "x64")message(STATUS "Current Platform is ${CURRENT_PLATFORM}")
else(CMAKE_CL_64)set(CURRENT_PLATFORM "x86")message(STATUS "Current Platform is ${CURRENT_PLATFORM}")
endif(CMAKE_CL_64)
判断操作系统:
if(CMAKE_SYSTEM_NAME MATCHES "Linux")set(CURRENT_SYSTEM "Linux")elseif(CMAKE_SYSTEM_NAME MATCHES "Windows")set(CURRENT_SYSTEM "Windows")elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")set(CURRENT_SYSTEM "FreeBSD")endif()
代码实例
CMakeLists.txt文件节选:
message(STATUS "===============================")
MESSAGE(STATUS "current operation system is ${CMAKE_SYSTEM}")
message(STATUS "current operation system name is ${CMAKE_SYSTEM_NAME}")if(CMAKE_CL_64)set(CURRENT_PLATFORM "x64")message(STATUS "Current Platform is ${CURRENT_PLATFORM}")
else(CMAKE_CL_64)set(CURRENT_PLATFORM "x86")message(STATUS "Current Platform is ${CURRENT_PLATFORM}")
endif(CMAKE_CL_64)if(CMAKE_CROSSCOMPILING)message(STATUS "Cross Comliling!!!, ARM")set(CURRENT_SYSTEM "Arm")
else()message(STATUS "No Cross Comliling!!!")#根据不同平台给CURRENT_SYSTEM命名if(CMAKE_SYSTEM_NAME MATCHES "Linux")set(CURRENT_SYSTEM "Linux")elseif(CMAKE_SYSTEM_NAME MATCHES "Windows")set(CURRENT_SYSTEM "Windows")elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")set(CURRENT_SYSTEM "FreeBSD")endif()endif()
cmake打印信息(Ubuntu20系统x86测试测试):
root@root:/home/root123/testdemo/demo1/build# cmake ..
-- ===============================
-- current operation system is Linux-5.11.0-41-generic
-- current operation system name is Linux
-- Current Platform is x86
-- No Cross Comliling!!!
-- ===============================
-- /home/root123/testdemo/demo1/Lib/Debug/Linux/x86
-- ===============================
cmake跨平台编译之判断操作系统平台、32位64位系统相关推荐
- 2018 腾讯内部转岗面试题 1 —— 不用 sizeof 判断操作系统是 32 还是 64 位
文章目录 前言 题目 解法一:最大值溢出 解法二:__WORDSIZE 解法三:指针变量位宽 参考文献 前言 2018 上半年折腾了一回,想换个后台开发岗尝试锻炼一下自己,面了三个部门,将有关有意思的 ...
- cmake 判断操作系统平台
转载自 cmake 判断操作系统平台 MESSAGE(STATUS "operation system is ${CMAKE_SYSTEM}")IF (CMAKE_SYSTEM_N ...
- 服务器开发27:log4c充当服务器跨平台日志库(cmake跨平台编译,配置介绍及代码封装)
文章目录 一.跨平台编译 1)编译准备 (1)expat编译 2)原生linux编译.安装 3)cmake跨平台编译 二.log4c配置笔记 1)与log4cpp\log4cxx的比较 2)log4c ...
- 【C#】C#中使用GDAL3(一):Windows下超详细编译C#版GDAL3.3.0(VS2015+.NET 4+32位/64位)
转载请注明原文地址:https://www.cnblogs.com/litou/p/15004877.html 总目录 (一)Windows下超详细编译C#版GDAL3.3.0(VS2015+.NET ...
- php dll是下32还是64位,windows下关于boost 64位和32位库的编译详细介绍
常用编译命令: cd E:\OpenSource\boost_1_63_0\boost_1_63_0 编译32位库: x86环境下编译得先从开始菜单启动Visual Studio的Visual Stu ...
- 操作系统32位与64位的区别
经常有网友问我这样的一个问题,什么是32位与64系统?32位系统与64位的区别等等.围绕目前这些大家比较关系的问题,电脑百事网编辑这里将与大家总结一下,关于32位操作系统与64位操作系统的区别. 首先 ...
- Android编译32或64位程序
★★★ 个人博客导读首页-点击此处 ★★★ 1.查看一个程序是32位还是64位: $ readelf -h tee-supplicant ELF Header: Magic: 7f 45 4c 46 ...
- Sublime Text 2 - 性感无比的代码编辑器!程序员必备神器!跨平台支持Win/Mac/Linux,支持32与64位,支持各种流行编程语言的语法高亮、代码补全等...
Sublime Text 2 - 性感无比的代码编辑器!程序员必备神器!跨平台支持Win/Mac/Linux,支持32与64位,支持各种流行编程语言的语法高亮.代码补全等-- 语法高亮.代码提示补全. ...
- 32位/64位系统,jdk32位,64位,32/64位jdk编译出来的class和eclipse 32位和64位
首先关于32位/64位系统,jdk32位,64位,32/64位jdk编译出来的class和eclipse 32位和64位的一些对应关系做些说明. 1.32位操作系统不可以装64位jdk,64位操作系统 ...
最新文章
- Gerrit 代码审核服务器的工作流和原理
- MFC中的CString.Format及CString,string,char*之间的转换
- 160921、React入门教程第一课--从零开始构建项目
- 【Linux】一步一步学Linux——arpd命令(184)
- selenium的使用教程3
- ux的重要性_颜色在UX中的重要性
- 编译aspell时出错
- 使用说明 思迅收银系统_思迅天店标准版收银系统条码秤+计价秤操作指南
- PLSQL Developer13破解汉化
- 酒浓码浓 - js / 前端 / 支付宝,微信合并二维码功能
- linux中mysql忘记密码
- 大学计算机vb基础知识6,西华师范大学计算机VB试题及答案6
- python如何运行整个项目_如何运行django项目
- java 打印request的原始请求数据
- APN(default、mms、supl、dun、hipri接入点类型的区别)
- 华为linux输入法,华为默认手机输入法原来还能这么玩??涨知识了
- 计算机查看图片的打开方式,win10如何设置打开图片方式为照片查看器-img文件怎么打开...
- Phaser3之 load
- 最新软件云测试方法你知道多少?有什么好处
- 从文艺到抠脚-我的程序7年之痒
热门文章
- This application has requested the Runtime to terminate it in an unusual way. Please contact the app
- python-生成器函数进阶和各种推导式day15
- Ubuntu设置宽带连接DSL
- Python学习之路,第二次复习:列表,元组
- 【.Net 学习系列】-- EF Core实践(Code First)
- [bzoj1187][HNOI2007]神奇游乐园
- OC学习篇之---归档和解挡
- linux Ubuntu apache2 伪静态设置
- SRM 533 DIV2
- ASP.NET Performance Monitoring, and When to Alert Administrators