From 6f06cf03a7d626521ac5dddd8fd433a13cb1002a Mon Sep 17 00:00:00 2001 From: Emily Boudreaux Date: Thu, 11 Jun 2026 09:13:00 -0400 Subject: [PATCH] build(lib_install_dir): added lib_install_dir option this is helpful for wheel builds --- build-config/quill/meson.build | 2 +- meson.build | 2 +- meson_options.txt | 1 + src/logging/meson.build | 17 +++++++++++------ 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/build-config/quill/meson.build b/build-config/quill/meson.build index 951cda7..a83690d 100644 --- a/build-config/quill/meson.build +++ b/build-config/quill/meson.build @@ -15,7 +15,7 @@ quill_sp = cmake.subproject( quill_dep = quill_sp.dependency('quill') -if get_option('default_library') != 'static' +if get_option('default_library') != 'static' and get_option('lib_install_dir') == '' message('Registering quill headers for installation...') quill_headers = meson.global_source_root() + '/subprojects/quill/include/quill' install_subdir(quill_headers, install_dir: get_option('includedir')) diff --git a/meson.build b/meson.build index 2652965..5d12165 100644 --- a/meson.build +++ b/meson.build @@ -18,7 +18,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # *********************************************************************** # -project('liblogging', 'cpp', version: 'v1.1.3', default_options: ['cpp_std=c++23'], meson_version: '>=1.5.0') +project('liblogging', 'cpp', version: 'v1.1.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 bebd86f..df3b7d1 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1,3 +1,4 @@ option('pkg_config', type: 'boolean', value: true, description: 'generate pkg-config file for liblogging (fourdst_liblogging.pc)') option('build_tests', type: 'boolean', value: true, description: 'generate unit tests (uses gtest)') option('build_examples', type: 'boolean', value: true, description: 'generate example 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/logging/meson.build b/src/logging/meson.build index e7901e3..91acf28 100644 --- a/src/logging/meson.build +++ b/src/logging/meson.build @@ -26,13 +26,18 @@ dependencies = [ quill_dep, ] +logging_lib_install_dir = get_option('lib_install_dir') != '' \ + ? get_option('lib_install_dir') \ + : get_option('libdir') + liblogging = library('logging', - logging_sources, - include_directories: include_directories('include'), - cpp_args: ['-fvisibility=default'], - install : true, - dependencies: dependencies - ) + logging_sources, + include_directories: include_directories('include'), + cpp_args: ['-fvisibility=default'], + install : true, + install_dir: logging_lib_install_dir, + dependencies: dependencies +) logging_dep = declare_dependency( include_directories: include_directories('include'),