build(vendor): vendor libraries now install in a dedicated directory

We now install vendor libraries into includedir/fourdst/vendor to avoid conflicts with user installed libraries. Note that currently this only applies to headers and not compiled shared libraries

BREAKING CHANGE:
This commit is contained in:
2026-06-05 11:36:42 +02:00
parent 3937a2b828
commit 2b8a4bd60f
5 changed files with 18 additions and 5 deletions

View File

@@ -1,2 +1,8 @@
cli11_proj = subproject('cli11')
cli11_dep = cli11_proj.get_variable('CLI11_dep')
cli11_dep = cli11_proj.get_variable('CLI11_dep')
install_subdir(
meson.project_source_root() / 'subprojects' / 'CLI11-2.6.1' / 'include',
install_dir: get_option('includedir') / 'fourdst' / 'vendor',
strip_directory: true
)

View File

@@ -32,6 +32,6 @@ reflect_cpp_dep = declare_dependency(
install_subdir(
'include',
install_dir: get_option('includedir'),
install_dir: get_option('includedir') / 'fourdst' / 'vendor',
strip_directory: true
)

View File

@@ -2,6 +2,6 @@ tomlpp_dep = dependency('tomlplusplus', required: true, static: true).as_system(
install_subdir(
meson.project_source_root() / 'subprojects' / 'tomlplusplus-3.4.0' / 'include',
install_dir: get_option('includedir'),
install_dir: get_option('includedir') / 'fourdst' / 'vendor',
strip_directory: true
)

View File

@@ -37,6 +37,9 @@ endif
if get_option('pkg_config')
message('Generating pkg-config file for libconfig...')
vendor_inc_flags = '-I${includedir}' / 'fourdst' / 'vendor'
pkg = import('pkgconfig')
pkg.generate(
name: 'libconfig',
@@ -44,6 +47,7 @@ if get_option('pkg_config')
version: meson.project_version(),
libraries: [reflect_cpp_library],
filebase: 'fourdst_config',
install_dir: join_paths(get_option('libdir'), 'pkgconfig')
install_dir: join_paths(get_option('libdir'), 'pkgconfig'),
extra_cflags: vendor_inc_flags
)
endif

View File

@@ -1,5 +1,8 @@
config_dep = declare_dependency(
include_directories: include_directories('include'),
include_directories: [
include_directories('include'),
include_directories('include/fourdst/config'),
],
dependencies: [reflect_cpp_dep],
)