10.字符串操作
1.追加
1.1set
set(变量名1 ${变量名1} ${变量名2} ...)
cmake_minimum_required(VERSION 3.10.2)
project(test)
aux_source_directory(${PROJECT_SOURCE_DIR}/src SRC) #PROJECT_SOURCE_DIR就是CMakefileLists.txt所在路径
file(GLOB_RECURSE SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp) #CMAKE_CURRENT_SOURCE_DIR就是CMakefileLists.txt所对应的路径
include_directories(${PROJECT_SOURCE_DIR}/include)
set(CMAKE_CXX_STANDARD 11)
add_executable(app ${SRC})
set(LIBRARY_OUTPUT_PATH /home/book/MyCode/Cmake2/build/abcdefg)
add_library(calc SHARED ${SRC})
set(tmp hello world)
set(tmp1 ${tmp} ${SRC})
message(${tmp})
message(${tmp1})

1.2list
list(APPEND [
在CMake中,使用set命令可以创建一个list。一个在list内部是一个由分号;分割的一组字符串。例如,set(var a b c d e)命令将会创建一个list:a;b;c;d;e,但是最终打印变量值的时候得到的是abcde。
list(APPEND tmp "xxx1" "sss2" ${SRC})
message(${tmp})

2.移除
list(REMOVE_ITEM
file(GLOB SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp) #CMAKE_CURRENT_SOURCE_DIR就是CMakefileLists.txt所对应的路径
message()
message(${SRC})
list(REMOVE_ITEM SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/main.cpp) #要用绝对路径
message()
message(${SRC})
message(======================)


浙公网安备 33010602011771号