HEADER_FILE_ONLY

此源文件是否仅为头文件。

源文件上表示源文件是无关联实现的头文件的一个属性。这是根据文件扩展名自动设置的,它由 CMake 所用,以判定是否应计算某些依赖信息。

通过将此属性设置为 ON,你可以禁用给定源文件的编译,即使因为它属于库/可执行文件的源,而应该编译它。

如果你有一些你要预处理的源文件,然后通过 add_library()add_executable() 添加这些预处理的源,那么这会很有用。通常,在 IDE 中,不会引用原始源,只会引用这些预处理的源。因此,通过为所有原始源文件将此属性设置为 ON,然后要么调用 add_library()add_executable(),同时传递预处理的源和原始源,要么使用 target_sources() 以添加原始源文件,将会确切执行预期操作,即原始源文件将在 IDE 中可见,并且不会构建。