build(lib_install_dir): added lib_install_dir option

this is helpful for wheel builds
This commit is contained in:
2026-06-11 09:13:00 -04:00
parent f9cf681c67
commit 6f06cf03a7
4 changed files with 14 additions and 8 deletions

View File

@@ -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'))

View File

@@ -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')

View File

@@ -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.')

View File

@@ -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'),