cmake 如何区分当前操作系统
时间: 2023-07-18 16:09:52 浏览: 21
CMake提供了一些预定义的变量来区分当前操作系统,你可以使用这些变量来编写跨平台的CMakeLists.txt文件。以下是一些常用的预定义变量:
- UNIX: 如果当前系统是类Unix系统(比如Linux、macOS等),则该变量为1,否则为0。
- WIN32: 如果当前系统是Windows系统,则该变量为1,否则为0。
- APPLE: 如果当前系统是Apple平台(包括macOS和iOS等),则该变量为1,否则为0。
- MSVC: 如果当前使用的编译器是MSVC,则该变量为1,否则为0。
- MINGW: 如果当前使用的编译器是MinGW,则该变量为1,否则为0。
使用这些变量可以编写跨平台的代码。例如,你可以使用如下代码来区分Windows和类Unix系统:
```
if(WIN32)
# Windows-specific code
else()
# Unix-specific code
endif()
```
当然,这只是一个简单的例子,实际开发中可能需要更复杂的判断逻辑。