[CMake] CMake configuration times with Microsoft Visual C++

Michael Jackson mike.jackson at bluequartz.net
Wed Mar 7 10:00:23 EST 2012


On Mar 6, 2012, at 9:45 PM, Bill Hoffman wrote:

> On 3/6/2012 9:09 PM, Clifford Yapp wrote:
>> We use the same configuration tests on all platforms in an effort to
>> avoid having large chunks of platform-specific code in our build files,
>> but we pay a price for this on Windows - the same test process is more
>> than an order of magnitude slower with MSVC than (say) Linux.
>> 
>> Does CMake launch the MSVC C++ compiler each time it needs to do a
>> TRY_COMPILE or similar test?  If so, does anybody know of any techniques
>> for combining tests or some way to run a cl.exe instance as a "daemon"
>> to which multiple files can be fed without needing a full restart of cl.exe?
>> 
> No, good way to do this on windows.  The best you can do is to make sure it tries the windows stuff first, and that you remove as many try-compiles as possible when on Windows.  Not only does CMake launch cl.exe, but it will also launch devenv.com with command line build arguments....  :)   It is the only way to make sure that the compile environments are exact.  So, you can optimize a build for windows with a bit of work, but there is nothing easy to do from CMake to make this faster.
> 
> -Bill
> 

I also face the same issue with my own projects. I would be interested in hearing some techniques to speed this up straight from the CMake experts.
---
Mike Jackson                 www.bluequartz.net



More information about the CMake mailing list