Принятый ответ на этот вопрос правильно утверждает, что cmake не обрабатывает зависимости сборки заголовочных файлов C ++ в случае, если каталог сборки cmake находится под PROJECT_SOURCE_DIR
в cmake. PROJECT_SOURCE_DIR
присваивается его значение при использовании макроса cmake project()
, поэтому он будет «верхним» каталогом для такой структуры проекта, используя project(source)
:
top
|
|--CmakeLists.txt
|--source
|--build
Насколько я знаю Это типичная структура проекта cmake, поэтому я нахожу удивительным, что cmake не обрабатывает эту структуру. Вместо этого такая структура потребуется для правильной обработки зависимостей сборки заголовочного файла:
top
|
|--source
|--CMakeLists.txt
|--build
Это ожидаемое поведение cmake? Или это ошибка, о которой следует сообщить?