# global compiler settings common_compiler_flags = [ '-Wshadow', '-Wunused', '-Wunused-parameter', '-Wmisleading-indentation', '-Wundef', '-Wuninitialized', # casts '-Wcast-align', # performance problem casts '-Wcast-qual', # conversion '-Wconversion', # type conversion may lose data '-Wsign-conversion', # sign conversion '-Wdouble-promotion', # implicit float to double # pointers '-Wpointer-arith', '-Wnull-dereference', ] c_compiler_flags = [ '-fanalyzer', ] cpp_compiler_flags = [ '-Weffc++', # inheritance '-Wnon-virtual-dtor', # class with virtual functions has non-virt dtor '-Woverloaded-virtual', # overloaded (not override) virtual function # casts '-Wold-style-cast', # C-style casts ] add_project_arguments(common_compiler_flags, c_compiler_flags, language: 'c') add_project_arguments(common_compiler_flags, cpp_compiler_flags, language: 'cpp') add_project_arguments('-D__ARCH__=i686', language: 'c', native: false) subdir_done()