Как упомянул Александр, вы можете использовать файл (GLOB_RECURSE myVar myRegex), чтобы получить все файлы, соответствующие myRegex, в myVar в виде списка.Чтобы исключить некоторые из них, вы можете поиграть с myRegex или отфильтровать список с помощью list(FILTER myVar <INCLUDE|EXCLUDE> REGEX <regular_expression>)
Но учтите, что добавление еще одного файла .cpp в ваш проект не будет автоматически добавлено к вашей цели при перестройке.,Вам нужно будет явно перенастроить свой проект для внесения изменений.Начиная с CMake 3.12, есть также опция CONFIGURE_DEPENDS
для файлов GLOBE и GLOBE_RECURSE, которая сделает обновление для вас.
Вот примечание из документации CMake:
Примечание Мы не рекомендуем использовать GLOB для сбора списка исходных файлов из вашего исходного дерева.Если файл CMakeLists.txt не изменяется при добавлении или удалении источника, сгенерированная система сборки не может знать, когда попросить CMake сгенерировать заново.Флаг CONFIGURE_DEPENDS может работать не надежно на всех генераторах, или, если в будущем будет добавлен новый генератор, который не сможет его поддерживать, проекты, использующие его, будут заблокированы.Даже если CONFIGURE_DEPENDS работает надежно, проверка каждой перестройки по-прежнему требует затрат.