1. CMake String的基本操作(Basic Operations of CMake String) 1.1 字符串创建与赋值(Creating and Assigning Strings) 1.2 字符串连接(String Concatenation) 1.3 字符串长度(String Length) 2. CMake String的高级操作(Advanced Operations of CMake String) 2.1 字符串比较(String Comparison) 2.1.1 相等性比较...
IF(string EQUAL number) # 按照字母序的排列进行比较 IF(variable STRLESS string) IF(string STRLESS string) IF(variable STRGREATER string) IF(string STRGREATER string) IF(variable STREQUAL string) IF(string STREQUAL string) IF(DEFINED variable)#如果变量被定义,为真。 # 一个小例子,用来判断平台差...
从给定的string字符串中查找子字符串substring,返回子字符串在string中的位置 如果提供了REVERSE标记,则从string的末尾开始查找 如果没有找到则返回 -1,返回值保存在result中 例子: #通过编译器名字判断是否编译android string(FIND"$ENV{CC}""aarch64-linux-android-gcc"BUILD_ANDROID)if(BUILD_ANDROID EQUAL -1)...
2. 变量:使用set命令显式定义及赋值,在非if语句中,使用${}引用,if中直接使用变量名引用;后续的set命令会清理变量原来的值;3. command (args ...) #命令不分大小写,参数使用空格分隔,使用双引号引起参数中空格4. set(var a;b;c) <=> set(var a b c) #定义变量var并赋值为a;b;c这样一个string ...
>>数字比较LESS、GREATER、EQUAL,字串比STRLESS、STRGREATER、STREQUAL, >> Eg: set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON) set(AAA abc) IF(AAA STREQUAL abc) message(STATUS "true") #应该打印true ENDIF() 16) 更改h文件时是否只编译必须的cpp文件 >> 是 17) 机器上安装了VC7和VC8,CMAKE会自动搜...
if(a LESS b) message("a
例外:<variable|string>类型的if()参数应始终加引号: 比较运算符的两个参数 -EQUAL、STREQUAL、VERSION_LESS等。 MATCHES和IN_LIST的第一个参数 示例: cmake if("${FOO}"STREQUAL"BAR")# ...if("${BAZ}"EQUAL"0")# ...if("FOO"IN_LISTlist_variable)# ...if("${bar}"MATCHES[[a[bcd]+\.[bc...
if(CMAKE_SYSTEM_PROCESSOR_LCMATCHES"x86_64"ORCMAKE_SYSTEM_PROCESSOR_LCMATCHES"amd64"ORCMAKE_SYSTEM_PROCESSOR_LCMATCHES"i[0-9]86"ORCMAKE_SYSTEM_PROCESSOR_LCMATCHES"x86"ORCMAKE_SYSTEM_PROCESSOR_LCMATCHES"ia32")if(BITSEQUAL64)set(CPU_TYPEx86_64)else()set(CPU_TYPEi386)endif()if(NOTCMAKE_...
if (string EQUAL number):如果string等于number时为真。 1.21.3 字母表顺序比较 if (variable STRLESS string) if (string STRLESS string) if (variable STRGREATER string) if (string STRGREATER string) if (variable STREQUAL string) if (string STREQUAL string) ...