连接列表元素为字符串(list(JOIN ...)): list(JOIN MY_LIST ", " JOINED_STRING) 分割字符串为列表(string(REPLACE ...)与list(APPEND ...)结合使用): string(REPLACE "," ";" MY_LIST "${SOME_STRING}") 查找元素(list(FIND ...)): list(FIND MY_LIST "item1" INDEX) 反转列表(list(REVERSE...
# 提取文件名的基础部分string(REGEX REPLACE "(.+)\\..*" "\\1" base_name "example.txt")message(STATUS "Base name: ${base_name}")SET( MARS_VERSION2.7.1.240708_rc ) # 将每一个段连续的数字都读取出来,并放在变量MARS_VERSIONS中,且以数组的方式存放STRING( REGEX MATCHALL "[0-9]+" MARS_...
DESCRIPTION <project-description-string> 3.9版本新增特性 设置以下变量: PROJECT_DESCRIPTION,<PROJECT-NAME>_DESCRIPTION <project-description-string>需要足够简短,不能太长。当处于顶层目录时,同时会设置CMAKE_PROJECT_DESCRIPTION变量。 HOMEPAGE_URL <url-string> 设置以下变量: PROJECT_HOMEPAGE_URL,<PROJECT-NAME>...
BUILD_USE_64BITSon)## 设置生成动态库,静态库选项set(BUILD_SHARED_LIBS"On")## 输出动态库和静...
string(REPLACE ";" "," _b2_needed_components "${_b2_needed_components}") set(_bootstrap_select_libraries "--with-libraries=${_b2_needed_components}") string(REPLACE ";" ", " printout "${BOOST_COMPONENTS_REQUIRED}") message(STATUS " Libraries to be built: ${printout}") endif() 我们...
#include <string> #include <vector> // we assume all arguments are integers and we sum them up // for simplicity we do not verify the type of arguments int main(int argc, char *argv[]) { std::vector<int> integers; for (auto i = 1; i < argc; i++) { ...
string(REPLACE ";" "," _b2_needed_components "${_b2_needed_components}") set(_bootstrap_select_libraries "--with-libraries=${_b2_needed_components}") string(REPLACE ";" ", " printout "${BOOST_COMPONENTS_REQUIRED}") message(STATUS " Libraries to be built: ${printout}") endif() ...
string(REPLACE " " ";" _asan_flags ${ASAN_FLAGS}) add_executable(asan-example asan-example.cpp) #为可执行文件设置编译器标志,以包含基本的和Sanitizer标志 target_compile_options(asan-example PUBLIC ${CXX_BASIC_FLAGS} ${_asan_flags}
下面这个命令会调用example 文件夹下的CMakeLists.txt 文件 add_subdirectory(example) example 下面的CMakeLists.txt aux_source_directory(. TEST_SRC_LIST) foreach(TEST_SRC ${TEST_SRC_LIST}) STRING(REGEX REPLACE "^\\./|\\.c[a-zA-Z0-9_]*$" "" TEST_EXE_NAME ${TEST_SRC}) # 字符串处理...
{flag_var} MATCHES "/MD") string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}") endif(${flag_var} MATCHES "/MD") endforeach() endif() foreach(example add_person list_people) set(${example}_SRCS ${example}.cc) set(${example}_PROTOS addressbook.proto) #Code ...