[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36837] trunk/blender: CMake changes
Mitchell Stokes
mogurijin at gmail.com
Sun Jun 26 07:30:01 CEST 2011
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 <ideasman42 at gmail.com> 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
> Bf-blender-cvs at blender.org
> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>
More information about the Bf-committers
mailing list