我有以下代码:
#if defined(__WIN32) || defined(__WIN64)
// Windows compiler compiles this code
# define WINDOWS_PLATFORM
#elif defined(__linux__)
// GCC compiles
# define LINUX_PLATFORM
#else
# error "unsupported platform"
#endif
CMake是否能够检查宏 WINDOWS_PLATFORM 或 LINUX_PLATFORM 并相应地将源文件路径设置为 win / 或 posix / ?
答案 0 :(得分:2)
CMake有自己的变量来检查您是否在某个特定平台上。例如,使用以下代码,您可以检查您是否位于最受欢迎的平台之一,并相应地调整您需要的任何内容:
if(WIN32)
...
elseif(APPLE)
...
elseif(UNIX AND NOT APPLE AND NOT CYGWIN)
...
endif()
所以你不需要任何自定义宏 - CMake具有这样的功能内置。