X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=wscript;h=1449853af63574dc26ad070580c7435516f4724e;hb=458aeb6ab1988549f9011654eb18749aa30fd3c8;hp=07f0ee81cea76cb8090ca8103997577943ef4ae8;hpb=6eeebec9cfdaf084f20efae39ac7826e6fd32bfd;p=dcpomatic.git diff --git a/wscript b/wscript index 07f0ee81c..1449853af 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.18' +VERSION = '2.11.33' 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']) @@ -105,6 +109,7 @@ def configure(conf): conf.env.append_value('CXXFLAGS', '-DUNICODE') conf.env.append_value('CXXFLAGS', '-DBOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN') conf.env.append_value('CXXFLAGS', '-mfpmath=sse') + conf.env.append_value('CXXFLAGS', '-std=c++11') wxrc = os.popen('wx-config --rescomp').read().split()[1:] conf.env.append_value('WINRCFLAGS', wxrc) if conf.options.enable_debug: @@ -147,7 +152,7 @@ def configure(conf): # OSX if conf.env.TARGET_OSX: - conf.env.append_value('CXXFLAGS', ['-DDCPOMATIC_OSX', '-Wno-unused-function', '-Wno-unused-parameter', '-Wno-unused-local-typedef']) + conf.env.append_value('CXXFLAGS', ['-DDCPOMATIC_OSX', '-Wno-unused-function', '-Wno-unused-parameter', '-Wno-unused-local-typedef', '-Wno-potentially-evaluated-expression']) conf.env.append_value('LINKFLAGS', '-headerpad_max_install_names') # @@ -228,6 +233,40 @@ 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)