[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:35:07 CEST 2011
It looks like replacing:
if(NOT IS_DIRECTORY "${LIBDIR}")
with
if(NOT EXISTS "${LIBDIR}/")
Allows the check to pass if a symlink is used. I'm not sure if this is
really "correct" though.
Cheers,
Mitchell
On Sat, Jun 25, 2011 at 10:30 PM, Mitchell Stokes <mogurijin at gmail.com> wrote:
> 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