Ответ 1
Если у вас нет подкаталогов внутри "TopDir/File" или "TopDir/Section", вы можете сделать:
file(GLOB ENDF6_SRC
${PROJECT_SOURCE_DIR}/*.cpp
${PROJECT_SOURCE_DIR}/File/*.cpp
${PROJECT_SOURCE_DIR}/Section/*.cpp)
Если у вас есть подкаталоги, вам потребуется более одного вызова:
file(GLOB ENDF6_SRC_TOP
${PROJECT_SOURCE_DIR}/*.cpp)
file(GLOB_RECURSE ENDF6_SRC_NESTED
${PROJECT_SOURCE_DIR}/File/*.cpp
${PROJECT_SOURCE_DIR}/Section/*.cpp)
set(ENDF6_SRC ${ENDF6_SRC_TOP} ${ENDF6_SRC_NESTED})
Кстати, выполнение file(GLOB_RECURSE ...)
в вашем каталоге верхнего уровня, скорее всего, приведет к сбоям нежелательных файлов cpp из папки сборки в случае сборки в источнике (то есть, где корень сборки находится внутри "TopDir" ).