File: meson.build

package info (click to toggle)
blop-lv2 1.0.4-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, sid, trixie
  • size: 580 kB
  • sloc: ansic: 5,389; makefile: 6
file content (31 lines) | stat: -rw-r--r-- 1,405 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 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/Windows/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, default_library=both isn't supported 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.

default_library = get_option('default_library')
host_system = host_machine.system()

# Abort on Windows with default_library=both
if host_system == 'windows' and default_library == 'both'
  error('default_library=both is not supported on Windows')
endif

# Set library_suffix to the suffix for libraries
if host_system == 'windows' and default_library == 'shared'
  # Meson appends a version to the name only for DLLs, 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