我的源项目目录是这样的,
|── CMakeLists.txt
|
├── src
| |
| |
| |
| └── a
| | |
| | |__ a.cpp
| |
| |
| |
| └── b
| |
| |__ b.cpp
|
|___test
|
|__test.cpp
我需要用源 a.cpp 和 b.cpp 制作一个可执行文件,
file(GLOB_RECURSE SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/*/ *.cpp)
我希望这会将 a.cpp 和 b.cpp 作为唯一的源文件,但是当我打印时
message("All source file - ${SRC_FILES}")
它也拾取了 test.cpp,我不知道为什么会这样。我的理解是 ${CMAKE_CURRENT_SOURCE_DIR}/src/*/ *.cpp,在这个语句中由于通配符 * 它会遍历 src 文件夹的每个子目录,然后使用 *.cpp 它会在每个子目录中附加所有 cpp 文件这些子目录。