Я бы определенно использовал несколько файлов CMakeListst.txt.
Как правило, я думаю, что вы должны использовать один CMakeLists.txt (и, следовательно, подкаталог) для каждой цели. Итак, каждая библиотека или исполняемый файл имеет свой собственный CMakeLists.txt.
Затем вы можете создать один «главный» CMakeLists.txt, который включает в себя все остальные, используя вызов add_subdirectory
. Если вы позаботитесь о том, чтобы вы правильно упорядочили эти операторы, вы можете легко ссылаться на ранее определенные цели в другом файле CMakeLists.txt.