LINK_DIRECTORIES(${PROJECT_SOURCE_DIR})#工程的根目录 file(GLOB_RECURSE HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/*.h*)#当前处理的 CMakeLists.txt 所在的路径/include 9、find_library #查找到指定的预编译库,并将它的路径存储在变量中 #默认的搜索路径为 cmake 包含的系统库,因此如果是 NDK...
GLOB_RECURSE命令不仅可以遍历当前路径,还可以遍历路径下面的所有子目录,命令行格式如下: file(GLOB_RECURSE <variable> [LIST_DIRECTORIES true[false] [RELATIVE <path> ] [CONFIGURE_DEPENDS] [<globbing-expression> ...]) 1. 参数同上。 file RENAME命令 RENAME命令将文件重新命名: file(RENAME <oldname> <...
file(GLOB SRCS src/*.cpp include/*.h) target_sources(XXX PRIVATE ${SRCS}) 这里其实没必要添加头文件,只是便于VS项目的生成,因为如果不添加头文件,则生成VS项目时会把头文件直接排除出去。 可以使用GLOB_RECURSE进行递归搜索,此时的*可以匹配到子文件中的src/test/a.cpp,但是GLOB不可以 file(GLOB_RECURSE ...
#定义函数,把文件夹下所有子文件夹保存在变量中 macro(list_sub_dir RESULT CUR_DIR FILTER_LIST) file(GLOB_RECURSE CHILDREN LIST_DIRECTORIES true ${CUR_DIR}/*) set(DIR_LIST ${CUR_DIR}) foreach(CHILD ${CHILDREN}) if(IS_DIRECTORY ${CHILD}) set(ADD_FLAG ON) foreach(FILTER ${FILTER_LIST...
file(GLOBSRC_LIST"*.cpp""protocol/*.cpp")add_library(demo${SRC_LIST})# 或者file(GLOBSRC_LIST"*.cpp")file(GLOBSRC_PROTOCOL_LIST"protocol/*.cpp")add_library(demo${SRC_LIST}${SRC_PROTOCOL_LIST})# 或者file(GLOB_RECURSESRC_LIST"*.cpp")#递归搜索FILE(GLOBSRC_PROTOCOLRELATIVE"protocol""*...
file(GLOB_RECURSE src_files LIST_DIRECTORIES false ${SRC}) file(GLOB_RECURSE src_files LIST_DIRECTORIES=false ${SRC}) file(GLOB_RECURSE src_files LIST_DIRECTORIES(false) ${SRC}) set(LIST_DIRECTORIES false) file(GLOB_RECURSE src_files ${SRC}) My output is always the list of the files...
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/.runtime) set(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/.path) # 遍历项目根目录下所有的 .c 文件,自动添加 file(GLOB_RECURSE files *.c **/*.c) foreach (file ${files})
在CMakeLists.txt文件中,我们可以使用命令如add_custom_target、file(GLOB)、file(GLOB_RECURSE)等来配合正则表达式,实现对文件名和路径的匹配和操作。此外,在CMake的字符串操作命令中,比如string(REGEX MATCH)、string(REGEX REPLACE)等,也可以使用正则表达式来进行字符串的匹配和替换操作。 总之,正则表达式在CMakeLi...
file(GLOB_RECURSE box2d_source_files"${CMAKE_CURRENT_SOURCE_DIR}/Box2D/*.cpp")set将一个CMAKE变量设置为给定值。 (属性的设置及set的一些说明可以看官方文档或者博客http://www.cnblogs.com/coderfenghc/archive/2012/10/20/2712806.html)set(<variable> <value> [[CACHE <type> <docstring> [FORCE]...
[HEX] 指定内容以十六进制形式写入 varfile(READfilenamevar[LIMITnumBytes][OFFSEToffset][HEX])#重命名文件file(RENAME<oldname><newname>)#删除文件 等同于 rmfile(REMOVE[filel...])#递归的删除文件 等同于 rm -rfile(REMOVE_RECURSE[filel...])# 根据指定 url 下载文件(输入参数)# timeout 超时时间...