On Fri, Mar 20, 2015 at 6:13 PM, Brad King <brad.k...@kitware.com> wrote: > On 03/13/2015 08:44 AM, Daniel Pfeifer wrote: >> I pushed some work to https://github.com/purpleKarrot/CMake/commits/pch > > Thanks for working on this. I'm hoping others will respond because > I have little experience with PCH. > >> target_precompile_headers(bar INTERFACE bar.h) > [snip] >> This command is used to set a list of headers "to precompile". > > This would say that any target that links to 'bar' would get 'bar.h' as > a source file to be precompiled for that target's settings. This makes > some sense for producing the precompiled header, but what decides what > precompiled header is *used* by each source file? IIUC a given compiler > call may specify at most one precompiled header to use because it is > actually more like a partially compiled translation unit to be continued > by each source consuming it.
There is be one header per target that is precompiled and used to compile all source files of that target. This header is generated by CMake. It simply #includes all files that are requested to be precompiled. In the example above, each target that links to 'bar' will have a precompiled header that contains the line '#include <bar.h>' among others. cheers, Daniel -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers