X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=wscript;h=ab86865b25cac7c4b5279fccfa2b5b0ab9eb8c00;hb=cb0d899ec71a854e8d54213245812702d85b5670;hp=0e6ae47dd0fc832e5781aec923d3154f610f6fbe;hpb=4ca3e80cb3943bd3994250f536dbe0483f350606;p=dcpomatic.git diff --git a/wscript b/wscript index 0e6ae47dd..ab86865b2 100644 --- a/wscript +++ b/wscript @@ -1,5 +1,5 @@ # -# Copyright (C) 2012-2016 Carl Hetherington +# Copyright (C) 2012-2017 Carl Hetherington # # This file is part of DCP-o-matic. # @@ -27,7 +27,7 @@ import distutils.spawn from waflib import Logs, Context APPNAME = 'dcpomatic' -VERSION = '2.11.29' +VERSION = '2.13.0devel' def options(opt): opt.load('compiler_cxx') @@ -78,8 +78,11 @@ def configure(conf): '-msse', '-fno-strict-aliasing', '-Wall', - '-Wno-attributes', + '-Wcast-align', '-Wextra', + '-Wwrite-strings', + '-Wunsafe-loop-optimizations', + '-Wlogical-op', # Remove auto_ptr warnings from libxml++-2.6 '-Wno-deprecated-declarations', '-D_FILE_OFFSET_BITS=64']) @@ -233,8 +236,51 @@ def configure(conf): includes=conf.env['INCLUDES_MAGICK'], define_name='DCPOMATIC_HAVE_MAGICKLIB_NAMESPACE') + # See where MagickCore.h is + conf.check_cxx(fragment=""" + #include \n + int main() { return 0; }\n + """, + mandatory=False, + msg='Checking for MagickCore.h location', + okmsg='magick', + errmsg='not magick', + includes=conf.env['INCLUDES_MAGICK'], + define_name='DCPOMATIC_MAGICKCORE_MAGICK') + + conf.check_cxx(fragment=""" + #include \n + int main() { return 0; }\n + """, + mandatory=False, + msg='Checking for MagickCore.h location', + okmsg='MagickCore', + errmsg='not MagickCore', + includes=conf.env['INCLUDES_MAGICK'], + define_name='DCPOMATIC_MAGICKCORE_MAGICKCORE') + + # See if we have advanced compare() methods in Magick + conf.check_cxx(fragment=""" + #include \n + int main() { Magick::Image a; Magick::Image b; a.compare(b, Magick::RootMeanSquaredErrorMetric); } + """, + mandatory=False, + msg='Checking for advanced compare() method in {Image/Graphics}Magick', + uselib='MAGICK', + define_name='DCPOMATIC_ADVANCED_MAGICK_COMPARE' + ) + # libzip conf.check_cfg(package='libzip', args='--cflags --libs', uselib_store='ZIP', mandatory=True) + conf.check_cxx(fragment=""" + #include + int main() { zip_source_t* foo; } + """, + mandatory=False, + msg="Checking for zip_source_t", + uselib="ZIP", + define_name='DCPOMATIC_HAVE_ZIP_SOURCE_T' + ) # fontconfig conf.check_cfg(package='fontconfig', args='--cflags --libs', uselib_store='FONTCONFIG', mandatory=True) @@ -284,10 +330,10 @@ def configure(conf): # libcxml if conf.options.static_cxml: - conf.check_cfg(package='libcxml', atleast_version='0.15.1', args='--cflags', uselib_store='CXML', mandatory=True) + conf.check_cfg(package='libcxml', atleast_version='0.15.5', args='--cflags', uselib_store='CXML', mandatory=True) conf.env.STLIB_CXML = ['cxml'] else: - conf.check_cfg(package='libcxml', atleast_version='0.15.1', args='--cflags --libs', uselib_store='CXML', mandatory=True) + conf.check_cfg(package='libcxml', atleast_version='0.15.5', args='--cflags --libs', uselib_store='CXML', mandatory=True) # libssh if conf.options.static_ssh: @@ -309,21 +355,21 @@ def configure(conf): # libdcp if conf.options.static_dcp: - conf.check_cfg(package='libdcp-1.0', atleast_version='1.4.1', args='--cflags', uselib_store='DCP', mandatory=True) + conf.check_cfg(package='libdcp-1.0', atleast_version='1.5.1', args='--cflags', uselib_store='DCP', mandatory=True) conf.env.DEFINES_DCP = [f.replace('\\', '') for f in conf.env.DEFINES_DCP] conf.env.STLIB_DCP = ['dcp-1.0', 'asdcp-cth', 'kumu-cth', 'openjp2'] conf.env.LIB_DCP = ['glibmm-2.4', 'ssl', 'crypto', 'bz2', 'xslt'] else: - conf.check_cfg(package='libdcp-1.0', atleast_version='1.4.1', args='--cflags --libs', uselib_store='DCP', mandatory=True) + conf.check_cfg(package='libdcp-1.0', atleast_version='1.5.1', args='--cflags --libs', uselib_store='DCP', mandatory=True) conf.env.DEFINES_DCP = [f.replace('\\', '') for f in conf.env.DEFINES_DCP] # libsub if conf.options.static_sub: - conf.check_cfg(package='libsub-1.0', atleast_version='1.2.1', args='--cflags', uselib_store='SUB', mandatory=True) + conf.check_cfg(package='libsub-1.0', atleast_version='1.3.0', args='--cflags', uselib_store='SUB', mandatory=True) conf.env.DEFINES_SUB = [f.replace('\\', '') for f in conf.env.DEFINES_SUB] conf.env.STLIB_SUB = ['sub-1.0'] else: - conf.check_cfg(package='libsub-1.0', atleast_version='1.2.1', args='--cflags --libs', uselib_store='SUB', mandatory=True) + conf.check_cfg(package='libsub-1.0', atleast_version='1.3.0', args='--cflags --libs', uselib_store='SUB', mandatory=True) conf.env.DEFINES_SUB = [f.replace('\\', '') for f in conf.env.DEFINES_SUB] # libxml++ @@ -545,8 +591,12 @@ def configure(conf): Logs.pprint('YELLOW', '') +def download_supporters(): + os.system('curl https://dcpomatic.com/supporters.cc > build/supporters.cc') + def build(bld): create_version_cc(VERSION, bld.env.CXXFLAGS) + download_supporters() bld.recurse('src') bld.recurse('graphics')