mirror of
https://github.com/MorizzG/tool-default-configs.git
synced 2025-12-06 09:32:41 +00:00
62 lines
1.2 KiB
Meson
62 lines
1.2 KiB
Meson
|
|
project('<project name>', 'cpp',
|
||
|
|
version : '<version>',
|
||
|
|
default_options : [
|
||
|
|
'cpp_std=c++20',
|
||
|
|
|
||
|
|
'warning_level=3',
|
||
|
|
'werror=true',
|
||
|
|
|
||
|
|
'b_lto=true',
|
||
|
|
|
||
|
|
'b_pie=true'
|
||
|
|
]
|
||
|
|
)
|
||
|
|
|
||
|
|
cc = meson.get_compiler('cpp')
|
||
|
|
cc_id = cc.get_id()
|
||
|
|
system = host_machine.system()
|
||
|
|
|
||
|
|
message(f'system: @system@')
|
||
|
|
|
||
|
|
link_args = []
|
||
|
|
|
||
|
|
if system == 'linux'
|
||
|
|
add_project_arguments(
|
||
|
|
'-Wconversion',
|
||
|
|
'-Wimplicit-fallthrough',
|
||
|
|
|
||
|
|
'-Wformat=2',
|
||
|
|
'-fno-delete-null-pointer-checks',
|
||
|
|
|
||
|
|
'-fstack-clash-protection',
|
||
|
|
'-fstack-protector-strong',
|
||
|
|
|
||
|
|
language : 'cpp',
|
||
|
|
)
|
||
|
|
|
||
|
|
link_args += [
|
||
|
|
'-Wl,-z,nodlopen',
|
||
|
|
'-Wl,-z,noexecstack',
|
||
|
|
'-Wl,-z,relro',
|
||
|
|
'-Wl,-z,now',
|
||
|
|
]
|
||
|
|
|
||
|
|
if get_option('buildtype') == 'debug'
|
||
|
|
message('Compiling with -ftrapv and _GLIBCXX_ASSERTIONS')
|
||
|
|
|
||
|
|
add_project_arguments(
|
||
|
|
'-ftrapv',
|
||
|
|
'-D_GLIBCXX_ASSERTIONS',
|
||
|
|
|
||
|
|
language : 'cpp',
|
||
|
|
)
|
||
|
|
else
|
||
|
|
message('Compiling with FORTIFY_SOURCE=3')
|
||
|
|
|
||
|
|
add_project_arguments(
|
||
|
|
'-D_FORTIFY_SOURCE=3',
|
||
|
|
|
||
|
|
language : 'cpp'
|
||
|
|
)
|
||
|
|
endif
|
||
|
|
endif
|