From 81fbdf1e460fd198a53903cc8f250cc4508f25fe Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Tue, 22 Apr 2025 10:04:40 +0300 Subject: pixelformats: Disable constexpr for older compilers gcc 11 and earlier do not support constexpr strings and vectors. Add tests and ifdefs to only use constexpr on selected places for gcc 12+. Signed-off-by: Tomi Valkeinen --- meson.build | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'meson.build') diff --git a/meson.build b/meson.build index 9789e8c..cec41f3 100644 --- a/meson.build +++ b/meson.build @@ -22,6 +22,18 @@ if cpp.has_argument('-Wno-c99-designator') ] endif +if cpp.compiles('#include \n constexpr bool test(const std::string& x) { return x.empty(); }') + add_global_arguments('-DHAS_CONSTEXPR_STR', language : 'cpp') +else + message('Compiler does not support constexpr strings') +endif + +if cpp.compiles('#include \n constexpr bool test(const std::vector& x) { return x.empty(); }') + add_global_arguments('-DHAS_CONSTEXPR_VEC', language : 'cpp') +else + message('Compiler does not support constexpr vectors') +endif + add_project_arguments(cpp_arguments, language : 'cpp') libfmt_dep = dependency('fmt') @@ -33,7 +45,7 @@ if libdrmomap_dep.found() endif if get_option('libutils') - add_global_arguments('-DHAS_KMSXXUTIL', language : 'cpp') + add_global_arguments('-DHAS_KMSXXUTIL', language : 'cpp') endif subdir('kms++') -- cgit v1.2.3