from waflib import Logs, Context
APPNAME = 'dcpomatic'
-libdcp_version = '1.8.9'
-libsub_version = '1.6.9'
+libdcp_version = '1.8.13'
+libsub_version = '1.6.13'
this_version = subprocess.Popen(shlex.split('git tag -l --points-at HEAD'), stdout=subprocess.PIPE).communicate()[0]
last_version = subprocess.Popen(shlex.split('git describe --tags --match v* --abbrev=0'), stdout=subprocess.PIPE).communicate()[0]
opt.add_option('--enable-disk', action='store_true', default=False, help='build dcpomatic2_disk tool; requires Boost process, lwext4 and nanomsg libraries')
opt.add_option('--warnings-are-errors', action='store_true', default=False, help='build with -Werror')
opt.add_option('--wx-config', help='path to wx-config')
+ opt.add_option('--cuda-path', help='path to directory containing include/cuda_runtime_api.h etc.', default='/usr/local/cuda')
def configure(conf):
conf.load('compiler_cxx')
if int(gcc[0]) >= 8:
# I tried and failed to ignore these with _Pragma
conf.env.append_value('CXXFLAGS', ['-Wno-cast-function-type'])
- have_c11 = int(gcc[0]) >= 4 and int(gcc[1]) >= 8 and int(gcc[2]) >= 1
# Most gccs still give these warnings from boost::optional
conf.env.append_value('CXXFLAGS', ['-Wno-maybe-uninitialized'])
- else:
- have_c11 = False
+ if int(gcc[0]) > 4:
+ # gcc 4.8.5 on Centos 7 does not have this warning
+ conf.env.append_value('CXXFLAGS', ['-Wsuggest-override'])
if conf.options.enable_debug:
conf.env.append_value('CXXFLAGS', ['-g', '-DDCPOMATIC_DEBUG', '-fno-omit-frame-pointer'])
except conf.errors.ConfigurationError:
pass
+ conf.env.append_value('INCLUDES', os.path.join(conf.options.cuda_path, 'include'))
+ conf.env.append_value('LIBPATH', os.path.join(conf.options.cuda_path, 'targets', 'x86_64-linux', 'lib'))
+
#
# Windows/Linux/OS X specific
#
# libpng
conf.check_cfg(package='libpng', args='--cflags --libs', uselib_store='PNG', mandatory=True)
+ # libjpeg
+ conf.check_cxx(fragment="""
+ #include <cstddef>
+ #include <cstdio>
+ #include <jpeglib.h>
+ int main() { struct jpeg_compress_struct compress; jpeg_create_compress (&compress); return 0; }
+ """,
+ msg='Checking for libjpeg',
+ libpath='/usr/local/lib',
+ lib=['jpeg'],
+ uselib_store='JPEG')
+
# lwext4
if conf.options.enable_disk:
conf.check_cxx(fragment="""
lib=deps,
uselib_store='BOOST_PROCESS')
+ if conf.check(header_name='nvjpeg2k.h', mandatory=False):
+ conf.env.LIB_CUDA = ['cudart', 'nvjpeg2k']
+
+
# Other stuff
conf.find_program('msgfmt', var='MSGFMT')