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