HEADER_FILE_ONLY

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

源文件上的一项属性,用于指示源文件是否为没有关联实现的头文件。这是根据文件扩展名自动设置的,CMake 使用它来确定是否应计算某些依赖信息。

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

这对于您以某种方式预处理某些源文件,然后通过 add_library()add_executable() 添加这些预处理后的源文件很有用。通常,在 IDE 中,不会引用原始源文件,只引用这些预处理后的源文件。因此,通过将所有原始源文件的此属性设置为 ON,然后调用 add_library()add_executable() 并传递预处理后的源文件和原始源文件,或者使用 target_sources() 添加原始源文件,将完全按照预期进行,即原始源文件将在 IDE 中可见,并且不会被构建。