if(EXISTS "${CMAKE_SOURCE_DIR}/somefile.txt") message(STATUS "The file somefile.txt exists.") endif() IS_DIRECTORY: IS_DIRECTORY 用于检查给定的路径是否是一个目录。如果路径是一个存在的目录,返回布尔值。 if(IS_DIRECTORY "${CMAKE_SOURCE_DIR}/somedir") message(STATUS "The path somedir i...
option(TEST_DEBUG "option for debug" OFF) (6) if…else[if]…endif 含义:这个不用详细介绍了,用法同编程语言中的控制语句 语法: if/else([<condition>]) 使用样例: if(WIN32) message(STATUS "inWindowsSystem") elseif(UNIX) message(STATUS "in Unix System") endif() (7) include_directories 含...
UNIX)set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS -std=c++11 -fpermissive -g}")else()add_definitions(-D_SCL_SECURE_NO_WARNINGS-D_CRT_SECURE_NO_WARNINGS-D_WIN32_WINNT=0x601-D_WINSOCK_DEPRECATED_NO_WARNINGS)end ifif(${CMAKE_BUILD_TYPE} MATCHES "debug")...else()...end if ...
通过设置SET(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON) 上述代码可写为 IF(WIN32) ELSE() ENDIF() 还可以 IF(WIN32) #do something related to WIN32 ELSEIF(UNIX) #do something related to UNIX ELSEIF(APPLE) #do something related to APPLE ENDIF(WIN32) WHILE指令的语法是: WHILE(condition) COMMAND1...
IF(AAA STREQUAL abc)message(STATUS "true") #应该打印trueENDIF()16) 更改h文件时是否只编译必须的cpp文件>> 是17) 机器上安装了VC7和VC8,CMAKE会自动搜索编译器,但是怎样指定某个版本?>> TBD18) 怎样根据OS指定编译选项>> IF( APPLE ); IF( UNIX ); IF( WIN32 )19) 能否自动执行某些编译前、后...
if(WIN32)add_custom_command(TARGET my_targetPOST_BUILDCOMMAND cmd /c echo "This is Windows")elseif(UNIX)add_custom_command(TARGET my_targetPOST_BUILDCOMMAND /bin/echo "This is Unix")endif() 在这个例子中,我们首先通过if命令判断当前的操作系统。如果是Windows,那么我们就使用cmd命令来输出一段信息...
add_executable(<name> [WIN32] [MACOSX_BUNDLE] [EXCLUDE_FROM_ALL] source1 [source2 ...]) 1. 2. 3. 用于指定从一组源文件 source1 … 编译出一个可执行文件且命名为 name。 使用示例: AI检测代码解析 add_executable(hello main.c) 1. ...
CMakeLists.txt中添加代码来设置一个开关,下边会执行if中的语句: AI检测代码解析 option(FOO_ENABLE "Enable Foo" ON) if(FOO_ENABLE) set(FOO_STRING "foo") endif() configure_file(foo.h.in foo.h @ONLY) 1. 2. 3. 4. 5. 生成的文件foo.h: AI检测代码解析 #define FOO_ENABLE #define FOO_...
IF(WIN32) MESSAGE(STATUS "This is windows.") ELSE(WIN32) MESSAGE(STATUS "This is not windows.") ENDIF(WIN32) 上述代码可以控制不同平台进行不同控制。 注:也许ELSE(WIN32)之类的语句阅读起来很不舒服,这时候可以加上语句: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 SET(CMAKE_ALLOW_LOOSE...