aboutsummaryrefslogtreecommitdiff
path: root/meson.build
diff options
context:
space:
mode:
authoraxtloss <axtlos@disroot.org>2024-05-28 13:01:13 +0200
committeraxtloss <axtlos@disroot.org>2024-05-28 13:01:13 +0200
commitb666cb3b757b408c9515b4749c7e8a05971ec451 (patch)
tree67f313f43f73205f987943a9e2cb6b367d0eb913 /meson.build
downloadautodarkmode-b666cb3b757b408c9515b4749c7e8a05971ec451.tar.gz
autodarkmode-b666cb3b757b408c9515b4749c7e8a05971ec451.tar.bz2
add files
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build84
1 files changed, 84 insertions, 0 deletions
diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000..ae62c25
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,84 @@
+project('autodarkmode', 'c',
+ version: '0.1.0',
+ meson_version: '>= 0.62.0',
+ default_options: [ 'warning_level=2', 'werror=false', 'c_std=gnu11', ],
+)
+
+cc = meson.get_compiler('c')
+
+config_h = configuration_data()
+config_h.set_quoted('PACKAGE_VERSION', meson.project_version())
+configure_file(output: 'config.h', configuration: config_h)
+add_project_arguments(['-I' + meson.project_build_root()], language: 'c')
+
+project_c_args = ['-lm',]
+test_c_args = [
+ '-Wcast-align',
+ '-Wdeclaration-after-statement',
+ '-Werror=address',
+ '-Werror=array-bounds',
+ '-Werror=empty-body',
+ '-Werror=implicit',
+ '-Werror=implicit-function-declaration',
+ '-Werror=incompatible-pointer-types',
+ '-Werror=init-self',
+ '-Werror=int-conversion',
+ '-Werror=int-to-pointer-cast',
+ '-Werror=main',
+ '-Werror=misleading-indentation',
+ '-Werror=missing-braces',
+ '-Werror=missing-include-dirs',
+ '-Werror=nonnull',
+ '-Werror=overflow',
+ '-Werror=parenthesis',
+ '-Werror=pointer-arith',
+ '-Werror=pointer-to-int-cast',
+ '-Werror=redundant-decls',
+ '-Werror=return-type',
+ '-Werror=sequence-point',
+ '-Werror=shadow',
+ '-Werror=strict-prototypes',
+ '-Werror=trigraphs',
+ '-Werror=undef',
+ '-Werror=write-strings',
+ '-Wformat-nonliteral',
+ '-Wignored-qualifiers',
+ '-Wimplicit-function-declaration',
+ '-Wlogical-op',
+ '-Wmissing-declarations',
+ '-Wmissing-format-attribute',
+ '-Wmissing-include-dirs',
+ '-Wmissing-noreturn',
+ '-Wnested-externs',
+ '-Wno-cast-function-type',
+ '-Wno-dangling-pointer',
+ '-Wno-missing-field-initializers',
+ '-Wno-sign-compare',
+ '-Wno-unused-parameter',
+ '-Wold-style-definition',
+ '-Wpointer-arith',
+ '-Wredundant-decls',
+ '-Wstrict-prototypes',
+ '-Wswitch-default',
+ '-Wswitch-enum',
+ '-Wundef',
+ '-Wuninitialized',
+ '-Wunused',
+ '-fno-strict-aliasing',
+ '-lm',
+ ['-Werror=format-security', '-Werror=format=2'],
+]
+if get_option('buildtype') != 'plain'
+ test_c_args += '-fstack-protector-strong'
+endif
+foreach arg: test_c_args
+ if cc.has_multi_arguments(arg)
+ project_c_args += arg
+ endif
+endforeach
+add_project_arguments(project_c_args, language: 'c')
+add_project_arguments('-lm', language: 'c')
+# add_project_arguments('-fsanitize=undefined,address', language: 'c')
+
+subdir('src')
+