在CMake中,要获取指定文件夹的所有子文件夹,你可以使用file(GLOB_RECURSE ...)命令。这个命令允许你递归地查找文件或目录,并将它们存储到一个变量中。为了仅捕获子文件夹,你需要设置一个匹配模式。 以下是一个具体的步骤和示例代码,用于获取指定文件夹的所有子文件夹: 确定指定文件夹的路径: 你需要指定要搜索的...
file(GLOB_RECURSE SRCS src/*.cpp include/*.h) target_sources(XXX PRIVATE ${SRCS}) 建议开启的选项是CONFIGURE_DEPENDS,因为 file 命令的查找通常只在生成时,而编译时往往会跳过,如果我们此时增减或重命名源文件,与缓存中的不一致会导致编译出错,使用这个选项会让编译时再次执行 file 命令进行校对,如果得到的...
#定义函数,把文件夹下所有子文件夹保存在变量中 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(GLOB SRC_LIST "*.cpp") file(GLOB SRC_PROTOCOL_LIST "protocol/*.cpp") add_library(demo ${SRC_LIST} ${SRC_PROTOCOL_LIST}) # 或者 file(GLOB_RECURSE SRC_LIST "*.cpp") #递归搜索 FILE(GLOB SRC_PROTOCOL RELATIVE "protocol" "*.cpp") # 相对protocol目录下搜索 add_library(demo ${SR...
file(GLOB_RECURSE ALL_SRCS "*.cpp") 所有cpp合并到一个集合。 有个类似的表达方式为:将所有.cpp源文件赋值给参数 DIR_SRCS AUX_SOURCE_DIRECTORY(. DIR_SRCS) 在最后生成可执行文件、链接库的时候,只需要用到ALL_SRCS和ALL_TARGET_LIBRARIES即可。
file GLOB_RECURSE命令 GLOB_RECURSE命令不仅可以遍历当前路径,还可以遍历路径下面的所有子目录,命令行格式如下: file(GLOB_RECURSE <variable> [LIST_DIRECTORIES true[false] [RELATIVE <path> ] [CONFIGURE_DEPENDS] [<globbing-expression> ...]) 1. ...
作用: GLOB_RECURSE选项将会生成一个类似于通常的GLOB选项的list,只是它会寻访所有那些匹配目录的子路径并同时匹配查询表达式的文件。作为符号链接的子路径只有在给定FOLLOW_SYMLINKS选项或者cmake策略CMP0009被设置为NEW时,才会被寻访到。参见cmake--help-policy CMP0009 查询跟多有用的信息。===语句 : file(RENAME<...
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})
38 file(GLOB_RECURSE board_configs 39 RELATIVE "${PX4_SOURCE_DIR}/boards" 40 "boards/*.px4board" 41 ) 42 43 set(PX4_CONFIGS ${board_configs} CACHE STRING "PX4 board configs" FORCE) 44 45 foreach(filename ${board_configs})
file(GLOB_RECURSE SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.c") 1. 2.9 add_subdirectory 添加一个子目录到构建,该目录下必须有CMakeLists.txt文件 三、实例 #这个没什么可说的,就是指定cmake构建的最小版本号, #因为随着版本更新有些语法、命令可能变了,所以这里需要设置下版本 ...