FIND_PACKAGE(CURL) IF(CURL_FOUND) INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIR}) TARGET_LINK_LIBRARIES(curltest ${CURL_LIBRARY}) ELSE(CURL_FOUND) MESSAGE(FATAL_ERROR "CURL library not found") ENDIF(CURL_FOUND) 对于系统预定义的Find<name>.cmake模块,使用的方法一般如上例所示: 每一个模块都会定义以下...
IF(EXISTS dir)或者 IF(EXISTS file)#当目录名或者文件名存在时为真。 IF(file1 IS_NEWER_THAN file2)#当 file1 比 file2 新,或者 file1/file2 其中有一个不存在时为真,文件名请使用完整路径。 IF(IS_DIRECTORY dirname)#当 dirname 是目录时,为真。 IF(variable MATCHES regex) IF(string MATCHES re...
file(WRITE${CMAKE_BINARY_DIR}/tmp/testc"int main(){return 0;}") 预定义try_*宏 在CMake/Modules中预定义了若干CMake用,可简化日常工作。这些宏常常需要查看当前CMAKE_REQUIRED_FLAGS、CMAKE_REQUIRED_LIBRARIES 变量的值,以便添加额外的编译标记,或者链接以测试: ...
set(SRC_LSIT main.cpp)list(APPEND SRC_LSIT test.cpp)list(REMOVE_ITEM SRC_LSIT main.cpp)add_executable(demo ${SRC_LIST})10.条件控制 10.1 if…elseif…else…endif 逻辑判断和比较:if (expression):expression 不为空(0,N,NO,OFF,FALSE,NOTFOUND)时为真if (not exp):与上面相反if (var1...
-- Build files have been written to: /public/home/huozhikun/test/cmake/read/example/build 将test.cpp的文件内容原封不动读取到TEST_RESULT变量中。 file STRINGS命令 file STRINGS命令是将文件的内容读取成一串ASCII字符串到变量中,其中二进制文件将会被忽略,在读取文件中 回车及\r将会被忽略: ...
ADD_TEST 与 ENABLE_TESTING 指令 ENABLE_TESTING 指令用来控制 Makefile 是否构建 test 目标,涉及工程所有目录。语 法很简单,没有任何参数,ENABLE_TESTING(),一般情况这个指令放在工程的主 CMakeLists.txt 中. ADD_TEST 指令的语法是: ADD_TEST(testname Exename arg1 arg2 ...) ...
if(test) message("var test exists and it's value is ${test}") endif() # 命令行中执行cmake .后的输出 var test not exists var test exists and it's value is 100 if(<string>) string为双引号括起来的字符串,除了以下两种情况外,其他情况均为假: ...
if (EXISTS dir) if (EXISTS file):如果目录或文件存在为真 if (file1 IS_NEWER_THAN file2):当 file1 比 file2 新,或 file1/file2 中有一个不存在时为真,文件名需使用全路径 if (IS_DIRECTORY dir):当 dir 是目录时为真 if (DEFINED var):如果变量被定义为真 if (var MATCHES regex):给定的...
cmake_minimum_required(VERSION3.0)project(test)# 定义变量# 静态库生成的路径set(LIB_PATH${CMAKE_CURRENT_SOURCE_DIR}/lib)# 测试程序生成的路径set(EXEC_PATH${CMAKE_CURRENT_SOURCE_DIR}/bin)# 头文件目录set(HEAD_PATH${CMAKE_CURRENT_SOURCE_DIR}/include)# 静态库的名字set(CALC_LIB calc)set(SORT...
./testCmake 2 2 1. 2. 3. 4. 5. 其结果如下: 二、学习paddleX的CMakeLists.txt 原地址是这里 在外部指令中使用 ${} 进行变量的引用。在 IF 等语句中,是直接使用变量名而不通过 ${} 取值。 工程目录如下(仅仅列出涉及文件): --cpp:sh scripts/build.sh命令执行路径 ...