This commit seems to break setups where the lib directories are reached with a symlink. My blender/../lib is a symlink to the directory where I actually keep my libs so I can avoid multiple lib checkouts, but still organize my working copies the way I want. If I comment out the check, things build just fine, so the symlink is working properly. I just don't know if IS_DIRECTORY can correctly follow it.
Operating System: Windows 7 Pro 64bit Compiler: MSVC 2010 Cheers, Mitchell On Mon, May 23, 2011 at 7:56 AM, Campbell Barton <[email protected]> wrote: > Revision: 36837 > > http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36837 > Author: campbellbarton > Date: 2011-05-23 14:56:14 +0000 (Mon, 23 May 2011) > Log Message: > ----------- > CMake changes > - don't allow building if the LIBDIR is not found on mac/windows. > - by default use -O2 rather then -O3 for GCC release flags, was crashing some > GCC versions and blender releases are supposed to use -O2. > > Modified Paths: > -------------- > trunk/blender/CMakeLists.txt > trunk/blender/build_files/cmake/macros.cmake > > Modified: trunk/blender/CMakeLists.txt > =================================================================== > --- trunk/blender/CMakeLists.txt 2011-05-23 14:51:31 UTC (rev 36836) > +++ trunk/blender/CMakeLists.txt 2011-05-23 14:56:14 UTC (rev 36837) > @@ -55,33 +55,19 @@ > # 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() > > @@ -92,10 +78,6 @@ > set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE INTERNAL "" FORCE ) > > #----------------------------------------------------------------------------- > -# Load some macros. > -include(build_files/cmake/macros.cmake) > - > -#----------------------------------------------------------------------------- > # Set default config options > > get_blender_version() > @@ -984,6 +966,12 @@ > #----------------------------------------------------------------------------- > # 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) > > Modified: trunk/blender/build_files/cmake/macros.cmake > =================================================================== > --- trunk/blender/build_files/cmake/macros.cmake 2011-05-23 14:51:31 > UTC (rev 36836) > +++ trunk/blender/build_files/cmake/macros.cmake 2011-05-23 14:56:14 > UTC (rev 36837) > @@ -388,3 +388,71 @@ > > # message(STATUS "Version (Internal): > ${BLENDER_VERSION}.${BLENDER_SUBVERSION}, Version (external): > ${BLENDER_VERSION}${BLENDER_VERSION_CHAR}-${BLENDER_VERSION_CYCLE}") > endmacro() > + > + > +# hacks to override initial project settings > +# these macros must be called directly before/after project(Blender) > +macro(blender_project_hack_pre) > + # ---------------- > + # MINGW HACK START > + # 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() > + > + # ------------------ > + # GCC -O3 HACK START > + # needed because O3 can cause problems but > + # allow the builder to set O3 manually after. > + if(DEFINED CMAKE_C_FLAGS_RELEASE) > + set(_reset_standard_cflags_rel OFF) > + else() > + set(_reset_standard_cflags_rel ON) > + endif() > + if(DEFINED CMAKE_CXX_FLAGS_RELEASE) > + set(_reset_standard_cxxflags_rel OFF) > + else() > + set(_reset_standard_cxxflags_rel ON) > + endif() > +endmacro() > + > + > +macro(blender_project_hack_post) > + # -------------- > + # MINGW HACK END > + 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) > + > + > + # ---------------- > + # GCC -O3 HACK END > + if(_reset_standard_cflags_rel) > + string(REGEX REPLACE "-O3" "-O2" CMAKE_C_FLAGS_RELEASE > "${CMAKE_C_FLAGS_RELEASE}") > + set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}" CACHE > STRING "" FORCE) > + mark_as_advanced(CMAKE_C_FLAGS_RELEASE) > + endif() > + > + if(_reset_standard_cxxflags_rel) > + string(REGEX REPLACE "-O3" "-O2" CMAKE_CXX_FLAGS_RELEASE > "${CMAKE_CXX_FLAGS_RELEASE}") > + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}" > CACHE STRING "" FORCE) > + mark_as_advanced(CMAKE_CXX_FLAGS_RELEASE) > + endif() > + > + unset(_reset_standard_cflags_rel) > + unset(_reset_standard_cxxflags_rel) > +endmacro() > > _______________________________________________ > Bf-blender-cvs mailing list > [email protected] > http://lists.blender.org/mailman/listinfo/bf-blender-cvs > _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
