HEADER_FILE_ONLY
Является ли этот исходный файл только заголовочным файлом.
Свойство исходного файла, указывающее, является ли исходный файл заголовочным файлом без связанной реализации. Оно устанавливается автоматически на основе расширения файла и используется CMake для определения, следует ли вычислять определенную информацию о зависимостях.
Установив это свойство в ON, вы можете отключить компиляцию данного исходного файла, даже если он должен быть скомпилирован, поскольку он входит в состав источников библиотеки/исполняемого файла.
Это полезно, если у вас есть некоторые исходные файлы, которые вы каким-то образом предварительно обрабатываете, а затем добавляете эти предварительно обработанные источники с помощью add_library() или add_executable(). Обычно в IDE не будет ссылки на исходные файлы, только на эти предварительно обработанные файлы. Поэтому, установив это свойство для всех исходных файлов в ON, а затем вызвав add_library() или add_executable() при передаче как предварительно обработанных источников, так и исходных источников, или используя target_sources() для добавления исходных файлов, будет сделано именно то, чего ожидалось, т.е. исходные файлы будут видны в IDE и не будут построены.
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.16/prop_sf/HEADER_FILE_ONLY.html