0

我的源项目目录是这样的,

|── 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 文件这些子目录。

4

0 回答 0