summaryrefslogtreecommitdiff
path: root/wscript
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-07-26 02:29:24 +0200
committerCarl Hetherington <cth@carlh.net>2020-07-26 21:30:59 +0200
commit7399b5483c5b69559bbfcee27bfd415a967add85 (patch)
tree763386d64a8575cc2a879d4651d45decddecf42a /wscript
parent89504842f5aff01ac8a8e46ec48eea0a14235739 (diff)
Rationalise compiler warning setup.
Diffstat (limited to 'wscript')
-rw-r--r--wscript14
1 files changed, 8 insertions, 6 deletions
diff --git a/wscript b/wscript
index 72db83e2c..4fba8fb57 100644
--- a/wscript
+++ b/wscript
@@ -75,6 +75,7 @@ def options(opt):
opt.add_option('--variant', help='build variant (swaroop-studio, swaroop-theater)', choices=['swaroop-studio', 'swaroop-theater'])
opt.add_option('--use-lld', action='store_true', default=False, help='use lld linker')
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')
def configure(conf):
conf.load('compiler_cxx')
@@ -106,16 +107,17 @@ def configure(conf):
'-Wall',
'-Wextra',
'-Wwrite-strings',
- '-Wsign-conversion',
- # Remove auto_ptr warnings from libxml++-2.6
- '-Wno-deprecated-declarations',
+ # I tried and failed to ignore these with _Pragma
+ '-Wno-cast-function-type',
'-Wno-ignored-qualifiers',
- '-Wno-parentheses',
'-D_FILE_OFFSET_BITS=64'])
if conf.options.force_cpp11:
conf.env.append_value('CXXFLAGS', ['-std=c++11', '-DBOOST_NO_CXX11_SCOPED_ENUMS'])
+ if conf.options.warnings_are_errors:
+ conf.env.append_value('CXXFLAGS', '-Werror')
+
if conf.env['CXX_NAME'] == 'gcc':
gcc = conf.env['CC_VERSION']
if int(gcc[0]) >= 4 and int(gcc[1]) > 1:
@@ -325,7 +327,7 @@ def configure(conf):
conf.check_cc(fragment="""
#include <libssh/libssh.h>\n
int main () {\n
- ssh_session s = ssh_new ();\n
+ ssh_new ();\n
return 0;\n
}
""",
@@ -550,7 +552,7 @@ def configure(conf):
deps.append('boost_filesystem%s' % boost_lib_suffix)
conf.check_cxx(fragment="""
#include <boost/process.hpp>\n
- int main() { boost::process::child* c = new boost::process::child("foo"); }\n
+ int main() { new boost::process::child("foo"); }\n
""",
msg='Checking for boost process library',
lib=deps,