if (STRING_1 MATCHES "^.*(world)$") ... endif() 值得说明的是,在if中间,可使用 CMAKE_MATCH_<MATCH_NUM> 来使用匹配到的内容,例如在上面的例子中, CMAKE_MATCH_1 为world, MATCH_NUM 从1开始计算。 数字 数字这个东西在cmake中很不敏感,毕竟一般情况下也不会用数字进行运算,不过cmake仍提供了相...
这些分割方法主要可以分为两类:使用string(REGEX MATCHALL)和使用string(STRIP)。 2.3.1 使用string(REGEX MATCHALL)进行分割 在CMake中,我们可以使用string(REGEX MATCHALL)来进行字符串分割。这个命令会使用正则表达式来匹配字符串中的所有子串。 例如,我们可以这样使用string(REGEX MATCHALL): string(REGEX MATCHALL...
这些分割方法主要可以分为两类:使用string(REGEX MATCHALL)和使用string(STRIP)。 2.3.1 使用string(REGEX MATCHALL)进行分割 在CMake中,我们可以使用string(REGEX MATCHALL)来进行字符串分割。这个命令会使用正则表达式来匹配字符串中的所有子串。 例如,我们可以这样使用string(REGEX MATCHALL): string(REGEX MATCHALL...
2.3.1 使用string(REGEX MATCHALL)进行分割 在CMake中,我们可以使用string(REGEX MATCHALL)来进行字符串分割。这个命令会使用正则表达式来匹配字符串中的所有子串。 例如,我们可以这样使用string(REGEX MATCHALL): string(REGEXMATCHALL"[0-9]+"result"Hello123World456")message(${result}) 这段代码会输出123 456...
string(MATCH ...):检查一个字符串是否匹配一个正则表达式模式。 string(MATCH ...)示例 cmake set(MY_STRING "Hello, world!") string(MATCH "Hello.*" MY_VAR ${MY_STRING}) if(MY_VAR) message(STATUS "Matched!") else() message(STATUS "Not matched!") endif() 在这个示例中,MY_STRING被设置...
if (string MATCHES regex):给定的字符串能够匹配正则表达式regex时为真。 1.21.2 数字比较 if (variable LESS number):如果variable小于number时为真; if (string LESS number):如果string小于number时为真; if (variable GREATER number):如果variable大于number时为真; ...
if(input_string MATCHES email_regex) message("Found email address: ${CMAKE_MATCH_0}") else() message("No email address found.") endif() ``` 在上面的示例中,我们定义了一个input_string,然后使用email_regex进行匹配。如果input_string中包含符合电流信箱格式的字符串,就会输出"Found email address:...
string = "$ENV{CC}":系统环境变量CC的值 substring = "aarch64-linux-android-gcc":需要查找的子字符串 result = BUILD_ANDROID:查找的结果 2.替换 string(REPLACE <match_string> <replace_string> [...]) 例子: 1.最基本的用法--只有一个...
cmake_minimum_required(VERSION 3.0) project(MyProject) # 设置所需的主版本号 set(RequiredVersion 2) # 获取CMake的版本号 string(REGEX MATCH "[0-9]+" CMakeMajorVersion "${CMAKE_VERSION}") # 比较CMake的主版本号和所需的主版本号 if(CMakeMajorVersion VERSION_EQUAL RequiredVersion) message("...
能够进行条件判断 if/else 能够循环处理 while/for/foreach 能够操作字符串 string 能够读写文件 这些特征足够我们在日常开发中编写常见的算法逻辑,处理很多问题了。 幸运的是 CMake 有类似的语法,能实现类似的功能。 CMake 有一个很重要的概念叫做命令. ...