On 9/14/2012 6:47 AM, Patrick Gansterer wrote: > I've pushed a new version to the ce branch again. Maybe you find time > to give me some feedback. I'll test it in the meantime.
Great start! Good catch on the duplicated local generator implementations. IIRC the methods were originally different but became the same after some recent refactoring. I'm glad to see that enabled even more cleanup. The idea of a "generator platform" is not generic among all generators. Rather than the general CMAKE_GENERATOR_PLATFORM infrastructure I'd generator-specific handling. The value of -GP should be passed to the global generator created from -G. If the generator does not support platform specification in this way then -GP should be an error (all generators except VS >= 8). If the generator does support -GP then it should do its own thing to save the value. For VS save it in a cache entry like "CMAKE_VS_PLATFORM" (we have "CMAKE_VS_PLATFORM_TOOLSET" already for the VS 10 toolchain in some cases). I realized that existing projects may test ${CMAKE_GENERATOR} to look for things like "Win64". For compatibility we need to make sure that -G "Visual Studio 10" -GP x64 results in CMAKE_GENERATOR being set to -G "Visual Studio 10 Win64" while processing CMake code even if it is not used that way internally. Of course for future VS versions the generator names will not need to work this way, only the existing ones. In the compiler id sources, you add this: +#ifdef ADD_MAINCRTSTARTUP +void mainCRTStartup() {} +#endif It should be compiled with the actual compiler for the platform. Is there a predefined macro that could be used instead? Does it have to be conditional? I do not think they would hurt anything on other platforms (just use "(void)" instead of "()" in the declaration). In the "Remove TargetMachine for linker" change does that work for VS 10 too? Currently the change only affects VS 7-9. Thanks! -Brad -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers