IF(CMAKE_SYSTEM_NAMEMATCHES"Linux")MESSAGE(STATUS"current platform: Linux ")ELSEIF(CMAKE_SYSTEM_NAMEMATCHES"Windows")MESSAGE(STATUS"current platform: Windows")ELSEIF(CMAKE_SYSTEM_NAMEMATCHES"Darwin")MESSAGE(STATUS"current platform: Mac OS X")ELSE()MESSAGE(STATUS"other platform: ${CMAKE_SYSTEM_...
2. MATCHES 激活此关键字可以使用正则表达式: if (STRING_1 MATCHES "^.*(world)$") ... endif() 值得说明的是,在if中间,可使用 CMAKE_MATCH_<MATCH_NUM> 来使用匹配到的内容,例如在上面的例子中, CMAKE_MATCH_1 为world, MATCH_NUM 从1开始计算。 数字 数字这个东西在cmake中很不敏感,毕竟一般情况...
if (string MATCHES regex):给定的字符串能够匹配正则表达式regex时为真。 1.20.2 数字比较 if (variable LESS number):如果variable小于number时为真; if (string LESS number):如果string小于number时为真; if (variable GREATER number):如果variable大于number时为真; if (string GREATER number):如果string大于...
表面看,将标准库静态链接到执行程序,则不再依赖标准库 add_library(static_libstd INTERFACE) if (STATIC_LINK_LIBSTD AND CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") target_link_libraries(static_libstd INTERFACE -static-libgcc -static-libstdc++) endif () 编译可重定向静态库 库A依赖库B,将库B编译...
IF (string MATCHES regex) 当给定变量或字符串能匹配正则表达式regex时,为真; 例: IF ("hello" MATCHES "ell") MESSAGE("true") ENDIF ("hello" MATCHES "ell") (2) 数字比较表达式 IF (var LESS number) IF (var GREATER number) IF (var EQUAL number) (3) 字母表顺序比较 IF (var1 STRLESS...
如果用到if( MATCHES )命令的话,这些匹配的值被保存在变量CMAKE_MATCH_(0..9)中。 CMD#75:target_link_libraries将给定的库链接到一个目标上。 target_link_libraries(<target> [item1 [item2 [...]]] [[debug|optimized|general] <item>] ...) ...
if(VAR1 MATCHES "Hello") message("this is hello") message("this is hello2") elseif(VAR1 MATCHES "world") message("this is world") message("this is world2") endif() b. 循环 for循环 foreach(loop_var arg1 arg2 ...) COMMAND1(ARGS ...) ...
要注意的是 if(<variable|string> MATCHES <regex>),大家在官方文档这里看支持的正则。 1.6 版本比较 用的很少,真想用就看官方文档吧。 3.24 版本中加入了 if(<variable|string> PATH_EQUAL <variable|string>),可以用来更准确地比较两个地址。 我没用过,不敢胡乱写,大家可以看官方文档。 1.4 模拟运用场景 ...
... elseif(${YOUR_TARGET_ARCH} MATCHES x86*) ... 交叉编译: CMAKE_TOOLCHAIN_FILE变量, 代码语言:javascript 代码运行次数:0 运行 AI代码解释 MESSAGE(STATUS "Configure Cross Compiler") IF(NOT TOOLCHAIN_ROOTDIR) MESSAGE(STATUS "Cross-Compiler defaut root path: $ENV{HOME}/Softwares/arm-himix200...
if (var MATCHES regex):给定的变量或者字符串能够匹配正则表达式 regex 时为真,此处 var 可以用 var 名,也可以用 ${var} if (string MATCHES regex) 数字比较: if (variable LESS number):LESS 小于 if (string LESS number) if (variable GREATER number):GREATER 大于 ...