From 4ae1e30b972e541be8431a64c2439faa9be74590 Mon Sep 17 00:00:00 2001 From: Emily Boudreaux Date: Thu, 11 Jun 2026 09:00:41 -0400 Subject: [PATCH] build(lib_install_dir): added lib_install_dir option this is useful for wheel builds --- meson.build | 2 +- meson_options.txt | 1 + src/composition/meson.build | 13 ++++++++----- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/meson.build b/meson.build index 0b7a2cd..27193ee 100644 --- a/meson.build +++ b/meson.build @@ -18,7 +18,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # *********************************************************************** # -project('libcomposition', 'cpp', version: 'v2.4.3', default_options: ['cpp_std=c++23'], meson_version: '>=1.5.0') +project('libcomposition', 'cpp', version: 'v2.4.4', default_options: ['cpp_std=c++23'], meson_version: '>=1.5.0') # Add default visibility for all C++ targets add_project_arguments('-fvisibility=default', language: 'cpp') diff --git a/meson_options.txt b/meson_options.txt index 07eb2ed..b15d3b1 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -2,3 +2,4 @@ option('pkg_config', type: 'boolean', value: true, description: 'generate pkg-co option('build_tests', type: 'boolean', value: true, description: 'build unit tests (uses gtest)') option('build_examples', type: 'boolean', value: true, description: 'build example programs') option('build_benchmarks', type: 'boolean', value: false, description: 'build benchmark programs') +option('lib_install_dir', type: 'string', value: '', description: 'Override install dir for the shared library (used by the fourdst umbrella to place libs inside the Python package in wheel builds). Empty = default libdir.') diff --git a/src/composition/meson.build b/src/composition/meson.build index 34f143b..b2f6fea 100644 --- a/src/composition/meson.build +++ b/src/composition/meson.build @@ -37,12 +37,15 @@ dependencies = [ xxhash_dep ] -# Define the libcomposition library so it can be linked against by other parts of the build system +fourdst_component_libdir = get_option('lib_install_dir') != '' ? get_option('lib_install_dir') : get_option('libdir') + libcomposition = library('composition', - composition_sources, - cpp_args: ['-fvisibility=default'], - dependencies: dependencies, - install : true) + composition_sources, + cpp_args: ['-fvisibility=default'], + dependencies: dependencies, + install: true, + install_dir: fourdst_component_libdir) + composition_dep = declare_dependency( link_with: libcomposition,