diff options
author | David Robillard <d@drobilla.net> | 2022-07-07 18:59:06 -0400 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2022-07-17 18:13:53 -0400 |
commit | d4a970f6962dda28133290194832b726b566ddab (patch) | |
tree | cfe9747042d55388705371a8ce95505ffb702470 /meson/library | |
parent | 7f3a2651a3635232d94f7bf9ce23d6b575735732 (diff) | |
download | lv2-d4a970f6962dda28133290194832b726b566ddab.tar.xz |
Switch to meson build system
Diffstat (limited to 'meson/library')
-rw-r--r-- | meson/library/meson.build | 30 |
1 files changed, 30 insertions, 0 deletions
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 <d@drobilla.net> +# 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 |