GLOB_RECURSE захватывает неправильный исходный файл

Каталог моего исходного проекта выглядит примерно так:

|── 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 внутри каждого из эти подкаталог.

0 ответов

Другие вопросы по тегам