强制 CMake 重建预编译头文件

Force CMake to rebuild precompiled headers

如何让 CMake 重建所有预编译头文件? (使用 g++ 和 Linux)以及如何让 CMake 禁用所有预编译头文件?

我收到一些突然出现的构建错误,它们引用了 .ch 文件。所以想调查这是否是由于预编译头文件造成的。

在 CMake 中,假设使用 target_precompile_headers() command, you can disable precompiled headers for a specific CMake target by setting the DISABLE_PRECOMPILE_HEADERS 属性:

set_target_properties(MyTarget PROPERTIES 
    DISABLE_PRECOMPILE_HEADERS ON
)

或者您可以通过在 top-level CMake 文件中进行设置来为 整个 项目禁用预编译 headers:

set(CMAKE_DISABLE_PRECOMPILE_HEADERS ON)

要让 CMake 重建所有预编译的 headers,您可以简单地删除那些已经生成的,所以它们是 re-generated。