CMake是一组跨平台工具。不过,了解操作系统(OS)上执行配置或构建步骤也很重要。从而与操作系统
相关的CMake代码,会根据操作系统启用条件编译,或者在可用或必要时使用特定于编译器的扩展。本
示例中,我们将通过一个不需要编译任何源代码的示例,演示如何使用CMake检测操作系统。为了简单
起见,我们只考虑配置过程
cmake_minimum_required (VERSION 3.1)
project (demo)
# print custom message depending on the operating system
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
message(STATUS "Configuring on/for Linux")
elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
message(STATUS "Configuring on/for macOS")
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
message(STATUS "Configuring on/for Windows")
elseif(CMAKE_SYSTEM_NAME STREQUAL "AIX")
message(STATUS "Configuring on/for IBM AIX")
else()
message(STATUS "Configuring on/for ${CMAKE_SYSTEM_NAME}")
endif()
add_executable(main main.cpp)
这篇博客介绍了如何利用CMake在跨平台环境中检测操作系统,并根据不同的操作系统输出相应的配置信息。示例代码展示了如何在CMakeLists.txt文件中判断Linux、macOS、Windows和AIX等系统的条件编译。
1415

被折叠的 条评论
为什么被折叠?



