From 054ed5a50b6b7396f70d1b5353d7ada36e14e19f Mon Sep 17 00:00:00 2001 From: Daniel Genrich Date: Sun, 9 Aug 2009 10:55:25 +0000 Subject: Smoke: * WITH_BF_FFTW3 flag --> fftw3 scons + cmake settings refined. * Disabled by default since mac + win32 libs missing. Works already on win64 + linux (with installed fftw3 libs) --- CMake/macros.cmake | 5 ++++- config/darwin-config.py | 6 ++++++ config/linux2-config.py | 6 ++++++ config/win32-vc-config.py | 6 ++++++ config/win64-vc-config.py | 6 ++++++ intern/smoke/CMakeLists.txt | 3 ++- intern/smoke/SConscript | 5 ++++- source/blender/makesrna/SConscript | 3 +++ tools/Blender.py | 4 ++++ tools/btools.py | 7 +++++++ 10 files changed, 48 insertions(+), 3 deletions(-) diff --git a/CMake/macros.cmake b/CMake/macros.cmake index 44fc2903875..8744fc2cdf9 100644 --- a/CMake/macros.cmake +++ b/CMake/macros.cmake @@ -50,6 +50,9 @@ MACRO(SETUP_LIBDIRS) IF(WITH_OPENAL) LINK_DIRECTORIES(${OPENAL_LIBPATH}) ENDIF(WITH_OPENAL) + IF(WITH_FFTW3) + LINK_DIRECTORIES(${FFTW3_LIBPATH}) + ENDIF(WITH_FFTW3) IF(WIN32) LINK_DIRECTORIES(${PTHREADS_LIBPATH}) @@ -61,7 +64,7 @@ MACRO(SETUP_LIBLINKS SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS} ") #TARGET_LINK_LIBRARIES(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${PYTHON_LIB} ${PYTHON_LINKFLAGS} ${JPEG_LIB} ${PNG_LIB} ${ZLIB_LIB} ${SDL_LIB} ${LLIBS}) - TARGET_LINK_LIBRARIES(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${PYTHON_LINKFLAGS} ${JPEG_LIBRARY} ${PNG_LIBRARIES} ${ZLIB_LIBRARIES} ${SDL_LIB} ${LLIBS}) + TARGET_LINK_LIBRARIES(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${PYTHON_LINKFLAGS} ${FFTW3_LIB} ${JPEG_LIBRARY} ${PNG_LIBRARIES} ${ZLIB_LIBRARIES} ${SDL_LIB} ${LLIBS}) # since we are using the local libs for python when compiling msvc projects, we need to add _d when compiling debug versions diff --git a/config/darwin-config.py b/config/darwin-config.py index 171552d0822..0b1c2f75744 100644 --- a/config/darwin-config.py +++ b/config/darwin-config.py @@ -169,6 +169,12 @@ BF_BULLET = '#extern/bullet2/src' BF_BULLET_INC = '${BF_BULLET}' BF_BULLET_LIB = 'extern_bullet' +WITH_BF_FFTW3 = False +BF_FFTW3 = LIBDIR + '/fftw3' +BF_FFTW3_INC = '${BF_FFTW3}/include' +BF_FFTW3_LIB = 'libfftw' +BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib' + #WITH_BF_NSPR = True #BF_NSPR = $(LIBDIR)/nspr #BF_NSPR_INC = -I$(BF_NSPR)/include -I$(BF_NSPR)/include/nspr diff --git a/config/linux2-config.py b/config/linux2-config.py index 6b6373bb001..62a7667d8e7 100644 --- a/config/linux2-config.py +++ b/config/linux2-config.py @@ -130,6 +130,12 @@ BF_OPENJPEG_LIB = '' BF_OPENJPEG_INC = '${BF_OPENJPEG}' BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib' +WITH_BF_FFTW3 = False +BF_FFTW3 = LIBDIR + '/usr' +BF_FFTW3_INC = '${BF_FFTW3}/include' +BF_FFTW3_LIB = 'fftw3' +BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib' + WITH_BF_REDCODE = False BF_REDCODE = '#extern/libredcode' BF_REDCODE_LIB = '' diff --git a/config/win32-vc-config.py b/config/win32-vc-config.py index c226a2dca18..4e2a735243a 100644 --- a/config/win32-vc-config.py +++ b/config/win32-vc-config.py @@ -133,6 +133,12 @@ BF_OPENJPEG_LIB = '' BF_OPENJPEG_INC = '${BF_OPENJPEG}' BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib' +WITH_BF_FFTW3 = False +BF_FFTW3 = LIBDIR + '/fftw3' +BF_FFTW3_INC = '${BF_FFTW3}/include' +BF_FFTW3_LIB = 'libfftw' +BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib' + WITH_BF_REDCODE = False BF_REDCODE_INC = '#extern' diff --git a/config/win64-vc-config.py b/config/win64-vc-config.py index 697b9141d14..56ea356715b 100644 --- a/config/win64-vc-config.py +++ b/config/win64-vc-config.py @@ -136,6 +136,12 @@ BF_OPENJPEG_LIB = '' BF_OPENJPEG_INC = '${BF_OPENJPEG}' BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib' +WITH_BF_FFTW3 = True +BF_FFTW3 = LIBDIR + '/fftw3' +BF_FFTW3_INC = '${BF_FFTW3}/include' +BF_FFTW3_LIB = 'libfftw' +BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib' + WITH_BF_REDCODE = False BF_REDCODE_INC = '#extern' diff --git a/intern/smoke/CMakeLists.txt b/intern/smoke/CMakeLists.txt index 221bc911d20..0db6acb683f 100644 --- a/intern/smoke/CMakeLists.txt +++ b/intern/smoke/CMakeLists.txt @@ -24,7 +24,7 @@ # # ***** END GPL LICENSE BLOCK ***** -SET(INC ${PNG_INC} ${ZLIB_INC} intern ../../extern/bullet2/src ../memutil ../guardealloc ${FFTW3_INC}) +SET(INC ${PNG_INC} ${ZLIB_INC} intern ../../extern/bullet2/src ../memutil ../guardealloc) FILE(GLOB SRC intern/*.cpp) @@ -34,6 +34,7 @@ ENDIF(WITH_OPENMP) IF(WITH_FFTW3) ADD_DEFINITIONS(-DFFTW3=1) + SET(INC ${INC} ${FFTW3_INC}) ENDIF(WITH_FFTW3) diff --git a/intern/smoke/SConscript b/intern/smoke/SConscript index c427764e19e..ba8a7932e03 100644 --- a/intern/smoke/SConscript +++ b/intern/smoke/SConscript @@ -10,6 +10,9 @@ if env['WITH_BF_OPENMP']: incs = env['BF_PNG_INC'] + ' ' + env['BF_ZLIB_INC'] incs += ' intern ../../extern/bullet2/src ../memutil ../guardealloc ' -# incs += env['BF_FFTW3_INC'] + +if env['WITH_BF_FFTW3']: + defs += ' FFTW3=1' + incs += env['BF_FFTW3_INC'] env.BlenderLib ('bf_smoke', sources, Split(incs), Split(defs), libtype=['intern'], priority=[40] ) diff --git a/source/blender/makesrna/SConscript b/source/blender/makesrna/SConscript index 80abd4fda61..38008e4ecdc 100644 --- a/source/blender/makesrna/SConscript +++ b/source/blender/makesrna/SConscript @@ -36,5 +36,8 @@ if env['WITH_BF_LCMS']: if env['WITH_BF_GAMEENGINE']: defs.append('GAMEBLENDER=1') + +if env['WITH_BF_FFTW3']: + defs.append('FFTW3=1') env.BlenderLib ( 'bf_rna', objs, Split(incs), defines=defs, libtype=['core'], priority = [195] ) diff --git a/tools/Blender.py b/tools/Blender.py index 6bb77e3cc85..c1503904037 100644 --- a/tools/Blender.py +++ b/tools/Blender.py @@ -131,6 +131,8 @@ def setup_staticlibs(lenv): libincs += Split(lenv['BF_OPENEXR_LIBPATH']) if lenv['WITH_BF_STATICOPENEXR']: statlibs += Split(lenv['BF_OPENEXR_LIB_STATIC']) + if lenv['WITH_BF_FFTW3']: + libincs += Split(lenv['BF_FFTW3_LIBPATH']) if lenv['WITH_BF_INTERNATIONAL']: libincs += Split(lenv['BF_GETTEXT_LIBPATH']) if lenv['WITH_BF_OPENAL']: @@ -183,6 +185,8 @@ def setup_syslibs(lenv): syslibs += Split(lenv['BF_FFMPEG_LIB']) if lenv['WITH_BF_OGG']: syslibs += Split(lenv['BF_OGG_LIB']) + if lenv['WITH_BF_FFTW3']: + syslibs += Split(lenv['BF_FFTW3_LIB']) if lenv['WITH_BF_SDL']: syslibs += Split(lenv['BF_SDL_LIB']) if not lenv['WITH_BF_STATICOPENGL']: diff --git a/tools/btools.py b/tools/btools.py index 9603022deaa..0f86d924738 100755 --- a/tools/btools.py +++ b/tools/btools.py @@ -48,6 +48,7 @@ def validate_arguments(args, bc): 'BF_WINTAB', 'BF_WINTAB_INC', 'WITH_BF_FREETYPE', 'BF_FREETYPE', 'BF_FREETYPE_INC', 'BF_FREETYPE_LIB', 'BF_FREETYPE_LIBPATH', 'WITH_BF_QUICKTIME', 'BF_QUICKTIME', 'BF_QUICKTIME_INC', 'BF_QUICKTIME_LIB', 'BF_QUICKTIME_LIBPATH', + 'WITH_BF_FFTW3', 'BF_FFTW3', 'BF_FFTW3_INC', 'BF_FFTW3_LIB', 'BF_FFTW3_LIBPATH', 'WITH_BF_STATICOPENGL', 'BF_OPENGL', 'BF_OPENGL_INC', 'BF_OPENGL_LIB', 'BF_OPENGL_LIBPATH', 'BF_OPENGL_LIB_STATIC', 'WITH_BF_PLAYER', 'WITH_BF_NOBLENDER', @@ -291,6 +292,12 @@ def read_opts(cfg, args): ('BF_QUICKTIME_INC', 'QuickTime include path', ''), ('BF_QUICKTIME_LIB', 'QuickTime library', ''), ('BF_QUICKTIME_LIBPATH', 'QuickTime library path', ''), + + (BoolVariable('WITH_BF_FFTW3', 'Use FFTW3 if true', False)), + ('BF_FFTW3', 'FFTW3 base path', ''), + ('BF_FFTW3_INC', 'FFTW3 include path', ''), + ('BF_FFTW3_LIB', 'FFTW3 library', ''), + ('BF_FFTW3_LIBPATH', 'FFTW3 library path', ''), (BoolVariable('WITH_BF_STATICOPENGL', 'Use MESA if true', True)), ('BF_OPENGL', 'OpenGL base path', ''), -- cgit v1.2.3