X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=wscript;h=5f7e50c26afa19c3b2bc1b2b3477271675334f2a;hb=4d0c008b7940b4ecad25f97386eb6413e125a094;hp=86452bc8833bc0128e13347e6aac0af2f9780a56;hpb=21c4cf9a63785f2237bc798cbe71cd2ca9bdceb7;p=dcpomatic.git diff --git a/wscript b/wscript index 86452bc88..5f7e50c26 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.27devel' +VERSION = '2.11.47devel' def options(opt): opt.load('compiler_cxx') @@ -50,6 +50,7 @@ def options(opt): opt.add_option('--static-sub', action='store_true', default=False, help='link statically to libsub') opt.add_option('--static-curl', action='store_true', default=False, help='link statically to libcurl') opt.add_option('--workaround-gssapi', action='store_true', default=False, help='link to gssapi_krb5') + opt.add_option('--force-cpp11', action='store_true', default=False, help='force use of C++11') def configure(conf): conf.load('compiler_cxx') @@ -83,6 +84,9 @@ def configure(conf): '-Wno-deprecated-declarations', '-D_FILE_OFFSET_BITS=64']) + if conf.options.force_cpp11: + conf.env.append_value('CXXFLAGS', ['-std=c++11', '-DBOOST_NO_CXX11_SCOPED_ENUMS']) + gcc = conf.env['CC_VERSION'] if int(gcc[0]) >= 4 and int(gcc[1]) > 1: conf.env.append_value('CXXFLAGS', ['-Wno-unused-result']) @@ -229,8 +233,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) @@ -541,8 +588,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')