camke 中判断操作系统平台有两种方法:
- 判断变量CMAKE_SYSTEM_NAME
MESSAGE(STATUS "operation system is ${CMAKE_SYSTEM}")IF (CMAKE_SYSTEM_NAME MATCHES "Linux")MESSAGE(STATUS "current platform: Linux ")ELSEIF (CMAKE_SYSTEM_NAME MATCHES "Windows")MESSAGE(STATUS "current platform: Windows")ELSEIF (CMAKE_SYSTEM_NAME MATCHES "FreeBSD")MESSAGE(STATUS "current platform: FreeBSD")ELSE ()MESSAGE(STATUS "other platform: ${CMAKE_SYSTEM_NAME}")ENDIF (CMAKE_SYSTEM_NAME MATCHES "Linux")
注意:上面的代码必须在指定了project之后,否则CMAKE_SYSTEM_NAME就是空的
- 通过宏定义
IF (WIN32)MESSAGE(STATUS "Now is windows")ELSEIF (APPLE)MESSAGE(STATUS "Now is Apple systens.")ELSEIF (UNIX)MESSAGE(STATUS "Now is UNIX-like OS's.")ENDIF ()
