Our continuous integration system currently runs a perl script to parse our sln/proj files to set the following options:
DebugInformationFormat=’0′ GenerateDebugInformation=’FALSE’
Preventing generation of pdbs allows us to increase the parallelization of the CIS compile. However, this method seems hacky and occasionally fails – is there a better method?
The only alternative I can think of is adding a configuration called RELEASE_NOPDB, but I’m afraid that will complicate maintenance of the RELEASE configuration – maintainers will have to ensure to reflect all changes to the NOPDB version when changes are made.
Suggestions?
This answer mentions *.vsprops files as a way to propagate ‘global’ information across projects. Perhaps they can solve your problem too.
Otherwise, I would suggest that you let CMake generate your solution and project files.