corrected r37819, now checks for symlinks too. On Sun, Jun 26, 2011 at 5:35 AM, Mitchell Stokes <[email protected]> wrote: > 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 <[email protected]> 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 <[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 >
-- - Campbell _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
