diff options
Diffstat (limited to 'build_files')
-rw-r--r-- | build_files/cmake/macros.cmake | 14 | ||||
-rw-r--r-- | build_files/scons/config/darwin-config.py | 6 | ||||
-rw-r--r-- | build_files/scons/config/linux-config.py | 8 | ||||
-rw-r--r-- | build_files/scons/config/win32-mingw-config.py | 6 | ||||
-rw-r--r-- | build_files/scons/config/win32-vc-config.py | 6 | ||||
-rw-r--r-- | build_files/scons/config/win64-mingw-config.py | 6 | ||||
-rw-r--r-- | build_files/scons/config/win64-vc-config.py | 6 | ||||
-rw-r--r-- | build_files/scons/tools/Blender.py | 12 | ||||
-rw-r--r-- | build_files/scons/tools/btools.py | 11 |
9 files changed, 74 insertions, 1 deletions
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index 56985e5c1fa..34f6a360db6 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -370,6 +370,16 @@ function(setup_liblinks if(WITH_OPENCOLORIO) target_link_libraries(${target} ${OPENCOLORIO_LIBRARIES}) endif() + if(WITH_OPENSUBDIV) + if(WIN32 AND NOT UNIX) + file_list_suffix(OPENSUBDIV_LIBRARIES_DEBUG "${OPENSUBDIV_LIBRARIES}" "_d") + target_link_libraries_debug(${target} "${OPENSUBDIV_LIBRARIES_DEBUG}") + target_link_libraries_optimized(${target} "${OPENSUBDIV_LIBRARIES}") + unset(OPENSUBDIV_LIBRARIES_DEBUG) + else() + target_link_libraries(${target} ${OPENSUBDIV_LIBRARIES}) + endif() + endif() if(WITH_CYCLES_OSL) target_link_libraries(${target} ${OSL_LIBRARIES}) endif() @@ -674,6 +684,10 @@ function(SETUP_BLENDER_SORTED_LIBS) list_insert_after(BLENDER_SORTED_LIBS "ge_logic_ngnetwork" "extern_bullet") endif() + if(WITH_OPENSUBDIV) + list(APPEND BLENDER_SORTED_LIBS bf_intern_opensubdiv) + endif() + foreach(SORTLIB ${BLENDER_SORTED_LIBS}) set(REMLIB ${SORTLIB}) foreach(SEARCHLIB ${BLENDER_LINK_LIBS}) diff --git a/build_files/scons/config/darwin-config.py b/build_files/scons/config/darwin-config.py index 1fb6d649ae9..d3d4afaa6ab 100644 --- a/build_files/scons/config/darwin-config.py +++ b/build_files/scons/config/darwin-config.py @@ -213,6 +213,12 @@ WITH_BF_FREESTYLE = True #OpenMP ( will be checked for compiler support and turned off eventually ) WITH_BF_OPENMP = True +WITH_BF_OPENSUBDIV = False +BF_OPENSUBDIV = LIBDIR + '/opensubdiv' +BF_OPENSUBDIV_INC = '${BF_OPENSUBDIV}/include' +BF_OPENSUBDIV_LIB = 'osdCPU osdGPU' +BF_OPENSUBDIV_LIBPATH = '${BF_OPENSUBDIV}/lib' + #Ray trace optimization WITH_BF_RAYOPTIMIZATION = True BF_RAYOPTIMIZATION_SSE_FLAGS = [] diff --git a/build_files/scons/config/linux-config.py b/build_files/scons/config/linux-config.py index 9607045662f..3556c52021a 100644 --- a/build_files/scons/config/linux-config.py +++ b/build_files/scons/config/linux-config.py @@ -226,6 +226,14 @@ BF_3DMOUSE_LIB_STATIC = '${BF_3DMOUSE_LIBPATH}/libspnav.a' #Freestyle WITH_BF_FREESTYLE = True +WITH_BF_OPENSUBDIV = False +WITH_BF_STATICOPENSUBDIV = False +BF_OPENSUBDIV = '/usr' +BF_OPENSUBDIV_INC = '${BF_OPENSUBDIV}/include' +BF_OPENSUBDIV_LIB = 'osdCPU osdGPU' +BF_OPENSUBDIV_LIB_STATIC = '${BF_OPENSUBDIV_LIBPATH}/libosdGPU.a ${BF_OPENSUBDIV_LIBPATH}/libosdCPU.a' +BF_OPENSUBDIV_LIBPATH = '${BF_OPENSUBDIV}/lib' + ## CC = 'gcc' CXX = 'g++' diff --git a/build_files/scons/config/win32-mingw-config.py b/build_files/scons/config/win32-mingw-config.py index cbb7755637a..3a4dfcef4c9 100644 --- a/build_files/scons/config/win32-mingw-config.py +++ b/build_files/scons/config/win32-mingw-config.py @@ -166,6 +166,12 @@ BF_BOOST_LIB = 'boost_date_time-mgw46-mt-s-1_49 boost_filesystem-mgw46-mt-s-1_49 BF_BOOST_LIB_INTERNATIONAL = 'boost_locale-mgw46-mt-s-1_49' BF_BOOST_LIBPATH = '${BF_BOOST}/lib' +WITH_BF_OPENSUBDIV = False +BF_OPENSUBDIV = LIBDIR + '/opensubdiv' +BF_OPENSUBDIV_INC = '${BF_OPENSUBDIV}/include' +BF_OPENSUBDIV_LIB = 'osdCPU osdGPU' +BF_OPENSUBDIV_LIBPATH = '${BF_OPENSUBDIV}/lib' + #Ray trace optimization WITH_BF_RAYOPTIMIZATION = True BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse'] diff --git a/build_files/scons/config/win32-vc-config.py b/build_files/scons/config/win32-vc-config.py index 9f3b3440628..b639621c7d7 100644 --- a/build_files/scons/config/win32-vc-config.py +++ b/build_files/scons/config/win32-vc-config.py @@ -208,6 +208,12 @@ BF_RAYOPTIMIZATION_SSE_FLAGS = ['/arch:SSE'] #Freestyle WITH_BF_FREESTYLE = True +WITH_BF_OPENSUBDIV = False +BF_OPENSUBDIV = LIBDIR + '/opensubdiv' +BF_OPENSUBDIV_INC = '${BF_OPENSUBDIV}/include' +BF_OPENSUBDIV_LIB = 'osdCPU osdGPU' +BF_OPENSUBDIV_LIBPATH = '${BF_OPENSUBDIV}/lib' + WITH_BF_STATICOPENGL = False BF_OPENGL_INC = '${BF_OPENGL}/include' BF_OPENGL_LIBINC = '${BF_OPENGL}/lib' diff --git a/build_files/scons/config/win64-mingw-config.py b/build_files/scons/config/win64-mingw-config.py index e4def7e5a5c..16d859194db 100644 --- a/build_files/scons/config/win64-mingw-config.py +++ b/build_files/scons/config/win64-mingw-config.py @@ -165,6 +165,12 @@ BF_BOOST_LIB = 'boost_date_time-mgw47-mt-s-1_49 boost_date_time-mgw47-mt-sd-1_49 BF_BOOST_LIB_INTERNATIONAL = ' boost_locale-mgw47-mt-s-1_49 boost_locale-mgw47-mt-sd-1_49' BF_BOOST_LIBPATH = '${BF_BOOST}/lib' +WITH_BF_OPENSUBDIV = False +BF_OPENSUBDIV = LIBDIR + '/opensubdiv' +BF_OPENSUBDIV_INC = '${BF_OPENSUBDIV}/include' +BF_OPENSUBDIV_LIB = 'osdCPU osdGPU' +BF_OPENSUBDIV_LIBPATH = '${BF_OPENSUBDIV}/lib' + #Ray trace optimization WITH_BF_RAYOPTIMIZATION = True BF_RAYOPTIMIZATION_SSE_FLAGS = ['-mmmx', '-msse', '-msse2'] diff --git a/build_files/scons/config/win64-vc-config.py b/build_files/scons/config/win64-vc-config.py index 9ac0173537e..7cb6e6a471d 100644 --- a/build_files/scons/config/win64-vc-config.py +++ b/build_files/scons/config/win64-vc-config.py @@ -212,6 +212,12 @@ BF_RAYOPTIMIZATION_SSE_FLAGS = [''] #Freestyle WITH_BF_FREESTYLE = True +WITH_BF_OPENSUBDIV = False +BF_OPENSUBDIV = LIBDIR + '/opensubdiv' +BF_OPENSUBDIV_INC = '${BF_OPENSUBDIV}/include' +BF_OPENSUBDIV_LIB = 'osdCPU osdGPU' +BF_OPENSUBDIV_LIBPATH = '${BF_OPENSUBDIV}/lib' + WITH_BF_STATICOPENGL = False BF_OPENGL_INC = '${BF_OPENGL}/include' BF_OPENGL_LIBINC = '${BF_OPENGL}/lib' diff --git a/build_files/scons/tools/Blender.py b/build_files/scons/tools/Blender.py index 0ed83d57f9f..8419f9703e0 100644 --- a/build_files/scons/tools/Blender.py +++ b/build_files/scons/tools/Blender.py @@ -242,6 +242,11 @@ def setup_staticlibs(lenv): if lenv['WITH_BF_STATIC3DMOUSE']: statlibs += Split(lenv['BF_3DMOUSE_LIB_STATIC']) + if lenv['WITH_BF_OPENSUBDIV']: + libincs += Split(lenv['BF_OPENSUBDIV_LIBPATH']) + if lenv['WITH_BF_STATICOPENSUBDIV']: + statlibs += Split(lenv['BF_OPENSUBDIV_LIB_STATIC']) + # setting this last so any overriding of manually libs could be handled if lenv['OURPLATFORM'] not in ('win32-vc', 'win32-mingw', 'win64-vc', 'linuxcross', 'win64-mingw'): # We must remove any previous items defining this path, for same reason stated above! @@ -344,6 +349,13 @@ def setup_syslibs(lenv): if not lenv['WITH_BF_STATICPNG']: syslibs += Split(lenv['BF_PNG_LIB']) + if lenv['WITH_BF_OPENSUBDIV']: + if not lenv['WITH_BF_STATICOPENSUBDIV']: + if lenv['BF_DEBUG'] and lenv['OURPLATFORM'] in ('win32-vc', 'win64-vc', 'win32-mingw', 'win64-mingw'): + syslibs += [osdlib+'_d' for osdlib in Split(lenv['BF_OPENSUBDIV_LIB'])] + else: + syslibs += Split(lenv['BF_OPENSUBDIV_LIB']) + # Hack to pass OSD libraries to linker before extern_{clew,cuew} for syslib in create_blender_liblist(lenv, 'system'): syslibs.append(os.path.basename(syslib)) diff --git a/build_files/scons/tools/btools.py b/build_files/scons/tools/btools.py index 76450fbd223..51a2e40794d 100644 --- a/build_files/scons/tools/btools.py +++ b/build_files/scons/tools/btools.py @@ -182,7 +182,8 @@ def validate_arguments(args, bc): 'WITH_BF_BOOST', 'WITH_BF_STATICBOOST', 'BF_BOOST', 'BF_BOOST_INC', 'BF_BOOST_LIB', 'BF_BOOST_LIB_INTERNATIONAL', 'BF_BOOST_LIB_STATIC', 'BF_BOOST_LIBPATH', 'WITH_BF_LIBMV', 'WITH_BF_LIBMV_SCHUR_SPECIALIZATIONS', 'WITH_BF_CYCLES_OSL', 'WITH_BF_STATICOSL', 'BF_OSL', 'BF_OSL_INC', 'BF_OSL_LIB', 'BF_OSL_LIBPATH', 'BF_OSL_LIB_STATIC', 'BF_OSL_COMPILER', - 'WITH_BF_LLVM', 'WITH_BF_STATICLLVM', 'BF_LLVM', 'BF_LLVM_LIB', 'BF_LLVM_LIBPATH', 'BF_LLVM_LIB_STATIC', 'BF_PROGRAM_LINKFLAGS' + 'WITH_BF_LLVM', 'WITH_BF_STATICLLVM', 'BF_LLVM', 'BF_LLVM_LIB', 'BF_LLVM_LIBPATH', 'BF_LLVM_LIB_STATIC', 'BF_PROGRAM_LINKFLAGS', + 'WITH_BF_OPENSUBDIV', 'WITH_BF_STATICOPENSUBDIV', 'BF_OPENSUBDIV', 'BF_OPENSUBDIV_INC', 'BF_OPENSUBDIV_LIB', 'BF_OPENSUBDIV_LIBPATH', 'BF_OPENSUBDIV_LIB_STATIC' ] # Have options here that scons expects to be lists @@ -656,6 +657,14 @@ def read_opts(env, cfg, args): ('BF_PROGRAM_LINKFLAGS', 'Link flags applied only to final binaries (blender and blenderplayer, not makesrna/makesdna)', ''), + (BoolVariable('WITH_BF_OPENSUBDIV', 'Build with OpenSubdiv library', False)), + (BoolVariable('WITH_BF_STATICOPENSUBDIV', 'Staticly link to OpenColorIO', False)), + ('BF_OPENSUBDIV', 'OpenSubdiv root path', ''), + ('BF_OPENSUBDIV_INC', 'OpenSubdiv include path', ''), + ('BF_OPENSUBDIV_LIB', 'OpenSubdiv library', ''), + ('BF_OPENSUBDIV_LIBPATH', 'OpenSubdiv library path', ''), + ('BF_OPENSUBDIV_LIB_STATIC', 'OpenSubdiv static library', '') + (BoolVariable('WITH_BF_CPP11', '"Build with C++11 standard enabled, for development use only!', False)), (BoolVariable('WITH_BF_LEGACY_DEPSGRAPH', 'Build Blender with legacy dependency graph', True)), |