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