From ff0ba86a9b8caaf744437fa23e1b16af72e0183d Mon Sep 17 00:00:00 2001 From: Damien Plisson Date: Mon, 9 Nov 2009 17:52:13 +0000 Subject: [PATCH] Mac : - scons update to build with openCollada - scons & cmake update for render optimization cflags --- config/darwin-config.py | 19 ++++++++++++++++--- source/blender/collada/SConscript | 5 ++++- source/blender/render/CMakeLists.txt | 7 +++++++ source/blender/render/SConscript | 11 ++++++++--- 4 files changed, 35 insertions(+), 7 deletions(-) diff --git a/config/darwin-config.py b/config/darwin-config.py index 8a1b0eff6c1..03cc4eb1f8c 100644 --- a/config/darwin-config.py +++ b/config/darwin-config.py @@ -31,7 +31,7 @@ elif cmd_res[0]=='9': elif cmd_res[0]=='10': MAC_CUR_VER='10.6' -if MAC_PROC == 'powerpc': +if MACOSX_ARCHITECTURE == 'ppc': LCGDIR = '#../lib/darwin-6.1-powerpc' else : LCGDIR = '#../lib/darwin-9.x.universal' @@ -39,7 +39,7 @@ LIBDIR = '${LCGDIR}' BF_PYTHON_VERSION = '3.1' -if MAC_PROC == 'powerpc' and BF_PYTHON_VERSION == '2.3': +if MACOSX_ARCHITECTURE == 'ppc' and BF_PYTHON_VERSION == '2.3': MAC_MIN_VERS = '10.3' MACOSX_SDK='/Developer/SDKs/MacOSX10.3.9.sdk' CC = 'gcc' @@ -247,7 +247,20 @@ BF_OPENGL_LIBPATH = '/System/Library/Frameworks/OpenGL.framework/Libraries' BF_OPENGL_LINKFLAGS = ['-framework', 'OpenGL'] #OpenCollada flags -WITH_BF_COLLADA = False +WITH_BF_COLLADA = True +BF_COLLADA = '#source/blender/collada' +BF_COLLADA_INC = '${BF_COLLADA}' +BF_COLLADA_LIB = 'bf_collada' +BF_OPENCOLLADA = LIBDIR + '/opencollada' +BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include' +BF_OPENCOLLADA_LIB = 'OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils OpenCOLLADAStreamWriter MathMLSolver GeneratedSaxParser UTF xml2' +BF_OPENCOLLADA_LIBPATH = LIBDIR + '/opencollada' +BF_PCRE = LIBDIR + '/opencollada' +BF_PCRE_LIB = 'pcre' +BF_PCRE_LIBPATH = '${BF_PCRE}/lib' +#BF_EXPAT = '/usr' +#BF_EXPAT_LIB = 'expat' +#BF_EXPAT_LIBPATH = '/usr/lib' ############################################################################# ################### various compile settings and flags ################## diff --git a/source/blender/collada/SConscript b/source/blender/collada/SConscript index 7bf2870d6c5..6a1c71c9c86 100644 --- a/source/blender/collada/SConscript +++ b/source/blender/collada/SConscript @@ -4,7 +4,10 @@ Import ('env') sources = env.Glob('*.cpp') # relative paths to include dirs, space-separated, string -incs = '../blenlib ../blenkernel ../windowmanager ../makesdna ../makesrna ../editors/include ../../../intern/guardedalloc [OPENCOLLADA]/COLLADAStreamWriter/include [OPENCOLLADA]/COLLADABaseUtils/include [OPENCOLLADA]/COLLADAFramework/include [OPENCOLLADA]/COLLADASaxFrameworkLoader/include '.replace('[OPENCOLLADA]', env['BF_OPENCOLLADA_INC']) +if env['OURPLATFORM']=='darwin': + incs = '../blenlib ../blenkernel ../windowmanager ../makesdna ../makesrna ../editors/include ../../../intern/guardedalloc [OPENCOLLADA]/COLLADAStreamWriter [OPENCOLLADA]/COLLADABaseUtils [OPENCOLLADA]/COLLADAFramework [OPENCOLLADA]/COLLADASaxFrameworkLoader '.replace('[OPENCOLLADA]', env['BF_OPENCOLLADA_INC']) +else: + incs = '../blenlib ../blenkernel ../windowmanager ../makesdna ../makesrna ../editors/include ../../../intern/guardedalloc [OPENCOLLADA]/COLLADAStreamWriter/include [OPENCOLLADA]/COLLADABaseUtils/include [OPENCOLLADA]/COLLADAFramework/include [OPENCOLLADA]/COLLADASaxFrameworkLoader/include '.replace('[OPENCOLLADA]', env['BF_OPENCOLLADA_INC']) env.BlenderLib ('bf_collada', sources, Split(incs), [], libtype='core', priority=200 ) diff --git a/source/blender/render/CMakeLists.txt b/source/blender/render/CMakeLists.txt index 279ba7698b7..294e1966711 100644 --- a/source/blender/render/CMakeLists.txt +++ b/source/blender/render/CMakeLists.txt @@ -47,6 +47,13 @@ IF(WITH_QUICKTIME) ADD_DEFINITIONS(-DWITH_QUICKTIME) ENDIF(WITH_QUICKTIME) +IF(APPLE) + IF((CMAKE_OSX_ARCHITECTURES MATCHES "i386") OR (CMAKE_OSX_ARCHITECTURES MATCHES "x86_64")) + SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -mfpmath=sse") + SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -mfpmath=sse") + ENDIF((CMAKE_OSX_ARCHITECTURES MATCHES "i386") OR (CMAKE_OSX_ARCHITECTURES MATCHES "x86_64")) +ENDIF(APPLE) + #TODO #if env['OURPLATFORM']=='linux2': # cflags='-pthread' diff --git a/source/blender/render/SConscript b/source/blender/render/SConscript index f89e81708b4..4df94a096b9 100644 --- a/source/blender/render/SConscript +++ b/source/blender/render/SConscript @@ -5,9 +5,14 @@ if env['OURPLATFORM'] in ('win32-vc', 'win64-vc', 'win32-mingw'): # FIXME: need to set the appropriate flags for msvc, otherwise we get warnings cflags = [] cxxflags = [] -else: - cflags = ['-O2','-msse2','-mfpmath=sse'] - cxxflags = ['-O2','-msse2','-mfpmath=sse'] + +if env['OURPLATFORM'] == 'darwin': + if env['MACOSX_ARCHITECTURE'] in ('i386', 'x86_64'): + cflags = env['CFLAGS'] + ['-mfpmath=sse'] + cxxflags = env['CXXFLAGS'] + ['-mfpmath=sse'] + else: + cflags = env['CFLAGS'] + cxxflags = env['CXXFLAGS'] sources = env.Glob('intern/source/*.c') raysources = env.Glob('intern/raytrace/*.cpp')