PCH unable to get precompiled headers working

I am trying to use precompiled headers.

  • One library target (erhe_pch ) is used for creating PCH to be shared with other targets, with REUSE_FROM.
  • When I build erhe_pch target in VS, the pch file (cmake_pch.pch ) is created as expected.
  • When I build any targets that use target_precompile_headers(target REUSE_FROM erhe_pch), the cmake_pch.pch file disappears, and compiler fails with Cannot open precompiled header file.

CMakeLists.txt for erhe_pch:

add_library(erhe_pch)
target_sources(erhe_pch PRIVATE erhe_pch/dummy.cpp)
target_precompile_headers(erhe_pch PUBLIC <chrono> <filesystem> <memory> <string> <vector>)

CMakeLists.txt for erhe_verify:

add_library(erhe_verify)
add_library(erhe::verify ALIAS erhe_verify)
target_sources(erhe_verify PRIVATE erhe_verify/verify.cpp PUBLIC erhe_verify/verify.hpp)
target_include_directories(erhe_verify INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
target_precompile_headers(erhe_verify REUSE_FROM erhe_pch)

cmake version 4.0.1
Visual Studio Community 2022 / 17.13.6