Yesterday I found there was a bug caused by the default linking flags (-ladvapi32 with mingw incidentally was crashing with "%.*f" printf() formatting).
So I tried to override CMAKE_C_STANDARD_LIBRARIES & CMAKE_C_STANDARD_LIBRARIES_INIT but wasn't able to find any nice way of doing it. the problem is that project(...) sets both CMAKE_C_STANDARD_LIBRARIES_INIT and CMAKE_C_STANDARD_LIBRARIES so there is nowhere you can add in your own overrides/replacements. This issue is that I want to make it as if CMAKE_C_STANDARD_LIBRARIES_INIT didnt include -ladvapi32, but otherwise works the same as it does now. its easy to clobber CMAKE_C_STANDARD_LIBRARIES on every run but then the cached value isnt any use (since the dev building may want to set). So the solution I found is to check if the value is defined, if not, override it after the project(...) is defined, saving the cache. this works but I was wondering if there was a better way. # ------ snip if(DEFINED CMAKE_C_STANDARD_LIBRARIES) set(_reset_standard_libraries OFF) else() set(_reset_standard_libraries ON) endif() project(MyProject) if (_reset_standard_libraries) set(CMAKE_C_STANDARD_LIBRARIES "" CACHE STRING "" FORCE) set(CMAKE_CXX_STANDARD_LIBRARIES "" CACHE STRING "" FORCE) mark_as_advanced(CMAKE_C_STANDARD_LIBRARIES) mark_as_advanced(CMAKE_CXX_STANDARD_LIBRARIES) endif() unset(_reset_standard_libraries) # ------ -- - Campbell _______________________________________________ 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://www.cmake.org/mailman/listinfo/cmake