> I am working on a cross-platform codebase on Clang/MacOS X that is also
> compiled with Visual Studio on Windows and GCC on Linux.
> The source code headers always include "precomp_common.h" at the top of each
> header files. But according to the Clang documentation
> Clang will NOT use the PCH in this case and no speed up will be performed
> since it was not include via "- include".
> Using Clang it seems the only way is to perform a conditional include:
> #ifndef __clang__
> #include "precomp_common.h"
> 2. Add "precomp_common.h" to the prefix header via -include option.
> I wonder if there is a "cleaner" way to do it.
I generally find the VS model to be the unclean one. Remove the include directive from all files, and in your project options, under C/C++ -> Advanced, add it to Forced Includes. This makes it pass the file to the compiler via the equivalent of the -include directive. (You still need to have it specified as the precompiled header.)