HEADER_FILE_ONLY

这个源文件只是一个头文件吗。

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

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

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