diff --git a/CMakeLists.txt b/CMakeLists.txt index ef8b8efc772..b0da2360b84 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -50,8 +50,33 @@ set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/build_files/cmake/Modules/") # quiet output for Makefiles, 'make -s' helps too # set_property(GLOBAL PROPERTY RULE_MESSAGES OFF) +# ignore system set flag, use our own +# must be before project(...) +# if the user wants to add their own its ok after first run. +if(DEFINED CMAKE_C_STANDARD_LIBRARIES) + set(_reset_standard_libraries OFF) +else() + set(_reset_standard_libraries ON) +endif() + + project(Blender) + +if (_reset_standard_libraries) + message("Reset Libs") + # Must come after project(...) + # + # MINGW workaround for -ladvapi32 being included which surprisingly causes + # string formatting of floats, eg: printf("%.*f", 3, value). to crash blender + # with a meaningless stack trace. by overriding this flag we ensure we only + # have libs we define and that cmake & scons builds match. + set(CMAKE_C_STANDARD_LIBRARIES "" CACHE STRING "" FORCE) + set(CMAKE_CXX_STANDARD_LIBRARIES "" CACHE STRING "" FORCE) +endif() +unset(_reset_standard_libraries) + + enable_testing() #-----------------------------------------------------------------------------