У меня огромная кодовая база, в которую входит несколько десятков библиотек и несколько исполняемых файлов.
Кодовая база разбита иерархически, и библиотеки создаются практически на каждом уровне.
Я просмотрел и поместил файл CMakeLists.txt в каждый каталог для создания каждой библиотеки.
В каждом файле CMakeLists.txt я использовал директиву «project (xxx)». Это определило для меня переменные PROJECT_NAME, PROJECT_SOURCE_DIR и PROJECT_BINARY_DIR, которые я разумно использую.
Однако один из членов команды недоволен таким подходом, так как он не может найти реальных примеров того, чтобы кто-то еще делал это. Он часто цитирует примеры KitWare, как не использующие этот подход, и поэтому мы тоже не должны этого делать.
Альтернативный подход, который он предлагает, состоит в том, чтобы установить эти переменные в каждом make-файле, что очень похоже на то, что дает вам "project".
Я действительно не могу понять его точку зрения и не смогу убедить его в обратном. Может ли кто-нибудь пролить свет на недостатки использования директивы проекта таким образом.
Я полагаюсь на вашу коллективную мудрость?