From d4a970f6962dda28133290194832b726b566ddab Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 7 Jul 2022 18:59:06 -0400 Subject: Switch to meson build system --- meson/library/meson.build | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 meson/library/meson.build (limited to 'meson/library/meson.build') diff --git a/meson/library/meson.build b/meson/library/meson.build new file mode 100644 index 0000000..f50505f --- /dev/null +++ b/meson/library/meson.build @@ -0,0 +1,30 @@ +# Copyright 2020-2022 David Robillard +# SPDX-License-Identifier: CC0-1.0 OR ISC + +# General definitions for building libraries. +# +# These are essentially workarounds for meson and/or MSVC. Unfortunately, +# meson's default_library option doesn't support shared and static builds very +# well. In particular, it's often necessary to define different symbols for +# static and shared builds of libraries so that symbols can be exported. To +# work around this, we do not support default_library=both on Windows. On +# other platforms with GCC-like compilers, we can support both because symbols +# can safely be exported in the same way (giving them default visibility) in +# both static and shared builds. + +# Abort on Windows with default_library=both +if get_option('default_library') == 'both' + if host_machine.system() == 'windows' + error('default_library=both is not supported on Windows') + endif +endif + +# Set library_suffix to the suffix for libraries +if cc.get_id() == 'msvc' + # Meson appends a version to the name only on MS, which leads to inconsistent + # library names, like `mylib-1-1`. So, provide no suffix to ultimately get + # the same name as on other platforms, like `mylib-1`. + library_suffix = '' +else + library_suffix = '-@0@'.format(meson.project_version().split('.')[0]) +endif -- cgit v1.2.1