forked from bartvdbraak/blender
2617d37034
The main idea is to share as much code between cases when feature-full built is done and only logging is needed, so all the defines and include directories are guaranteed to be the same. This would hopefully make it so MinGW compilation is all happy about Cycles logging for both CMake and SCons.
70 lines
2.7 KiB
Python
70 lines
2.7 KiB
Python
#!/usr/bin/python
|
|
|
|
# NOTE: This file is automatically generated by bundle.sh script
|
|
# If you're doing changes in this file, please update template
|
|
# in that script too
|
|
|
|
import sys
|
|
import os
|
|
|
|
Import('env')
|
|
|
|
defs = []
|
|
incs = '.'
|
|
|
|
if env['WITH_BF_LIBMV'] or (env['WITH_BF_CYCLES'] and env['WITH_BF_CYCLES_LOGGING']):
|
|
defs.append('GOOGLE_GLOG_DLL_DECL=')
|
|
defs.append('WITH_LIBMV_GUARDED_ALLOC')
|
|
defs.append('LIBMV_NO_FAST_DETECTOR')
|
|
|
|
incs += ' ../Eigen3 third_party/gflags third_party/glog/src third_party/ceres/include third_party/ceres/config ../../intern/guardedalloc'
|
|
incs += ' ' + env['BF_PNG_INC']
|
|
incs += ' ' + env['BF_ZLIB_INC']
|
|
|
|
if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc', 'win64-mingw'):
|
|
incs += ' ./third_party/glog/src/windows ./third_party/glog/src/windows/glog'
|
|
if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
|
|
incs += ' ./third_party/msinttypes'
|
|
else:
|
|
incs += ' ./third_party/glog/src'
|
|
|
|
if env['WITH_BF_LIBMV']:
|
|
if not env['WITH_SHARED_PTR_SUPPORT']:
|
|
print("-- Unable to find shared_ptr which is required for compilation.")
|
|
exit(1)
|
|
|
|
if env['SHARED_PTR_HEADER'] == 'tr1/memory':
|
|
defs.append('CERES_TR1_MEMORY_HEADER')
|
|
if env['SHARED_PTR_NAMESPACE'] == 'std::tr1':
|
|
defs.append('CERES_TR1_SHARED_PTR')
|
|
|
|
src = env.Glob('intern/*.cc')
|
|
src.remove('intern' + os.sep + 'stub.cc')
|
|
src += env.Glob('libmv/autotrack/*.cc')
|
|
src += env.Glob('libmv/base/*.cc')
|
|
src += env.Glob('libmv/image/*.cc')
|
|
src += env.Glob('libmv/multiview/*.cc')
|
|
src += env.Glob('libmv/numeric/*.cc')
|
|
src += env.Glob('libmv/simple_pipeline/*.cc')
|
|
src += env.Glob('libmv/tracking/*.cc')
|
|
src += env.Glob('third_party/gflags/*.cc')
|
|
else:
|
|
src = env.Glob("intern/stub.cc")
|
|
|
|
src = [src for src in src if src.find('_test.cc') == -1]
|
|
|
|
env.BlenderLib(libname = 'extern_libmv', sources=src, includes=Split(incs), defines=defs, libtype=['extern', 'player'], priority=[20,137])
|
|
|
|
if env['WITH_BF_LIBMV'] or (env['WITH_BF_CYCLES'] and env['WITH_BF_CYCLES_LOGGING']):
|
|
glog_src = []
|
|
if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc', 'win64-mingw'):
|
|
glog_src += ['./third_party/glog/src/logging.cc', './third_party/glog/src/raw_logging.cc', './third_party/glog/src/utilities.cc', './third_party/glog/src/vlog_is_on.cc']
|
|
glog_src += ['./third_party/glog/src/windows/port.cc']
|
|
else:
|
|
glog_src += env.Glob("third_party/glog/src/*.cc")
|
|
|
|
env.BlenderLib(libname = 'extern_glog', sources=glog_src, includes=Split(incs), defines=defs, libtype=['extern', 'player'], priority=[20,137])
|
|
|
|
if env['WITH_BF_LIBMV']:
|
|
SConscript(['third_party/SConscript'])
|