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') 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...') message('Registering quill headers for installation...')
quill_headers = meson.global_source_root() + '/subprojects/quill/include/quill' quill_headers = meson.global_source_root() + '/subprojects/quill/include/quill'
install_subdir(quill_headers, install_dir: get_option('includedir')) 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 # 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 default visibility for all C++ targets
add_project_arguments('-fvisibility=default', language: 'cpp') 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('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_tests', type: 'boolean', value: true, description: 'generate unit tests (uses gtest)')
option('build_examples', type: 'boolean', value: true, description: 'generate example programs') 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, quill_dep,
] ]
logging_lib_install_dir = get_option('lib_install_dir') != '' \
? get_option('lib_install_dir') \
: get_option('libdir')
liblogging = library('logging', liblogging = library('logging',
logging_sources, logging_sources,
include_directories: include_directories('include'), include_directories: include_directories('include'),
cpp_args: ['-fvisibility=default'], cpp_args: ['-fvisibility=default'],
install : true, install : true,
dependencies: dependencies install_dir: logging_lib_install_dir,
) dependencies: dependencies
)
logging_dep = declare_dependency( logging_dep = declare_dependency(
include_directories: include_directories('include'), include_directories: include_directories('include'),