CMake changes
[blender-staging.git] / CMakeLists.txt
index 83e6705e4981238571c5623e177b1957e371bb41..a8fc301906f9a93266a8d2311210a8a078841eab 100644 (file)
@@ -55,33 +55,19 @@ 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()
+#-----------------------------------------------------------------------------
+# Load some macros.
+include(build_files/cmake/macros.cmake)
 
 
-project(Blender)
+#-----------------------------------------------------------------------------
+# Initialize project.
 
+blender_project_hack_pre()
 
-if (_reset_standard_libraries)
-       # 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)
-       mark_as_advanced(CMAKE_C_STANDARD_LIBRARIES)
-       mark_as_advanced(CMAKE_CXX_STANDARD_LIBRARIES)
-endif()
-unset(_reset_standard_libraries)
+project(Blender)
 
+blender_project_hack_post()
 
 enable_testing()
 
@@ -91,10 +77,6 @@ enable_testing()
 set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE INTERNAL "" FORCE )
 set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE INTERNAL "" FORCE )
 
-#-----------------------------------------------------------------------------
-# Load some macros.
-include(build_files/cmake/macros.cmake)
-
 #-----------------------------------------------------------------------------
 # Set default config options
 
@@ -984,6 +966,12 @@ endif()
 #-----------------------------------------------------------------------------
 # Common.
 
+if(APPLE OR WIN32)
+       if(NOT IS_DIRECTORY "${LIBDIR}")
+               message(FATAL_ERROR "Apple and Windows require pre-compiled libs at: '${LIBDIR}'")
+       endif()
+endif()
+
 if(WITH_RAYOPTIMIZATION)
        if(CMAKE_COMPILER_IS_GNUCC)
                if(SUPPORT_SSE_BUILD)