一个小例子,用来判断平台差异: IF(WIN32) MESSAGE(STATUS “This is windows.”) #作一些 Windows 相关的操作 ELSE(WIN32) MESSAGE(STATUS “This is not windows”) #作一些非 Windows 相关的操作 ENDIF(WIN32) 上述代码用来控制在不同的平台进行不同的控制,但是,阅读起来却并不是那么舒服,ELSE(WIN32)之类...
if(NOT DEFINED CMAKE_PREFIX_PATH) if(NOT "$ENV{CMAKE_PREFIX_PATH}" STREQUAL "") if(NOT WIN32) string(REPLACE ":" ";" CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH}) message("{CMAKE_PREFIX_PATH}="${CMAKE_PREFIX_PATH} ) message("{CMAKE_PREFIX_PATH}="${CMAKE_PREFIX_PATH} ) els...
set(INSTALL_INCLUDEDIR ${CMAKE_INSTALL_INCLUDEDIR} CACHE PATH "Installation directory for header files") if(WIN32 AND NOT CYGWIN) set(DEF_INSTALL_CMAKEDIR CMake) else() set(DEF_INSTALL_CMAKEDIR share/cmake/${PROJECT_NAME}) endif() set(INSTALL_CMAKEDIR ${DEF_INSTALL_CMAKEDIR} CACHE PA...
UNIX 如果为真,表示为 UNIX-like的系统,包括 Apple OS X和 CygWinWIN32 如果为真,表示为 Windows系统,包括 CygWinAPPLE 如果为真,表示为 Apple系统CMAKE_SIZEOF_VOID_P 表示 void* 的大小(例如为 4 或者 8),可以使用其来判断当前构建为 32位还是 64位CMAKE_CURRENT_LIST_DIR表示正在处理的 CMakeLists.txt...
IF (string STRGREATER string) IF (variable STREQUAL string) IF (string STREQUAL string) 一个小例子,用来判断平台差异: IF (WIN32) MESSAGE(STATUS “This is windows.”) ELSE (WIN32) MESSAGE(STATUS “This is not windows”) ENDIF (WIN32) 上述代码用来控制在不同的平台进行不同的控制,但是,阅读...
if(CMAKE_BUILD_TYPE STREQUAL "Debug") message(STATUS "Debug build") set(SOME_FLAG ON) else() message(STATUS "Release build") set(SOME_FLAG OFF) endif() 1. 2. 3. 4. 5. 6. 7. 2.1.5 描述系统的变量 message(“是否是Windows系统:${WIN32}”) message(“是否是Linux系统:${UNIX}”...
if(WIN32) endif() LINUX平台判断: if(UNIX AND NOT APPLE AND NOT ANDROID) endif() MAC平台判断: if(APPLE) endif() 1. 2. 3. 4. 5. 6. 7. 8. 9. 26、cmake设置编译为release # SET(CMAKE_BUILD_TYPE Release) # 这条命令在Windows下面设置不生效 ...
42、T_PATH_MODE_LIBRARY ONLY)SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)CMAKE_FORCE_XXX_COMPILER()宏声明force cmake 识别出complier,第二个参数是complier ID.A toolchain for crosscompiling for Win32 using mingw32 might look like this:# the name of the target operating systemSET(CMAKE_SYSTEM...
add_executable(<name> [WIN32] [MACOSX_BUNDLE] [EXCLUDE_FROM_ALL] source1 [source2 ...]) add_executable(<name> IMPORTED [GLOBAL]) add_executable(<name> ALIAS <target>) add_library(<name> [STATIC | SHARED | MODULE] [EXCLUDE_FROM_ALL] ...
if (CLR_CMAKE_PLATFORM_ARCH_ARM AND WIN32) list(APPEND INC_DIRECTORIES /I${dir}) else() list(APPEND INC_DIRECTORIES -I${dir}) endif(CLR_CMAKE_PLATFORM_ARCH_ARM AND WIN32) endforeach() set(${IncludeDirectories} ${INC_DIRECTORIES} PARENT_SCOPE) ...