From 4b560b54f424ac71fc067b47f6f3fbb0aa25c490 Mon Sep 17 00:00:00 2001 From: Daniel Kolesa Date: Sat, 19 Sep 2020 04:19:20 +0200 Subject: [PATCH] less bad compiler warnings handling --- examples/meson.build | 1 - meson.build | 18 ++++++++++-------- src/meson.build | 3 +-- tests/meson.build | 2 -- 4 files changed, 11 insertions(+), 13 deletions(-) diff --git a/examples/meson.build b/examples/meson.build index e35784f..6342166 100644 --- a/examples/meson.build +++ b/examples/meson.build @@ -20,7 +20,6 @@ foreach example: libostd_examples_src [example], dependencies: [libostd, thread_dep], include_directories: libostd_includes, - cpp_args: extra_cxxflags, install: false ) endforeach diff --git a/meson.build b/meson.build index 4ee0557..fab281e 100644 --- a/meson.build +++ b/meson.build @@ -1,6 +1,6 @@ project('libostd', ['cpp'], version: '0.1.0', - default_options: ['buildtype=plain', 'cpp_std=c++17'], + default_options: ['buildtype=plain', 'cpp_std=c++17', 'warning_level=3'], meson_version: '>=0.46' ) @@ -15,15 +15,17 @@ unicode_data = join_paths('data', 'UnicodeData-11.0.txt') libostd_includes = [include_directories('.')] -tgt_compiler_id = meson.get_compiler('cpp').get_id() -if tgt_compiler_id == 'gcc' or tgt_compiler_id == 'clang' - extra_cxxflags = ['-Wextra', '-Wshadow', '-Wold-style-cast'] -else - extra_cxxflags = [] -endif - cxx = meson.get_compiler('cpp') +if get_option('buildtype') != 'plain' + if cxx.has_argument('-Wshadow') + add_global_arguments('-Wshadow', language: 'cpp') + endif + if cxx.has_argument('-Wold-style-cast') + add_global_arguments('-Wold-style-cast', language: 'cpp') + endif +endif + if cxx.has_argument('-fvisibility=hidden') add_global_arguments('-fvisibility=hidden', language: 'cpp') endif diff --git a/src/meson.build b/src/meson.build index 37525b5..b69b6b4 100644 --- a/src/meson.build +++ b/src/meson.build @@ -49,7 +49,7 @@ thread_dep = dependency('threads') libostd_gen_unicode_exe = executable('gen_unicode', ['../gen_unicode.cc'], include_directories: libostd_includes, - cpp_args: extra_cxxflags + ['-DOSTD_GEN_UNICODE_BUILD'], + cpp_args: ['-DOSTD_GEN_UNICODE_BUILD'], install: false, native: true ) @@ -70,7 +70,6 @@ libostd_lib = both_libraries('ostd', libostd_src, libostd_extra_src, dependencies: thread_dep, include_directories: libostd_includes + [include_directories('.')], - cpp_args: extra_cxxflags, install: true, version: meson.project_version() ) diff --git a/tests/meson.build b/tests/meson.build index 1269738..516775a 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -2,7 +2,6 @@ test_runner_exe = executable('test_runner', ['test_runner.cc'], dependencies: libostd, include_directories: libostd_includes, - cpp_args: extra_cxxflags, install: false ) @@ -40,7 +39,6 @@ foreach test_idx: libostd_tests_indices [libostd_tests_src[test_idx]], dependencies: libostd, include_directories: libostd_includes, - cpp_args: extra_cxxflags, install: false ) endforeach