diff --git a/Doxyfile b/Doxyfile index ae2af3b..852530c 100644 --- a/Doxyfile +++ b/Doxyfile @@ -48,7 +48,7 @@ PROJECT_NAME = libconfig # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = v2.2.7 +PROJECT_NUMBER = v2.2.8 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewers a diff --git a/build-config/CLI11/meson.build b/build-config/CLI11/meson.build index d2d56ff..9e66bb6 100644 --- a/build-config/CLI11/meson.build +++ b/build-config/CLI11/meson.build @@ -4,5 +4,5 @@ cli11_dep = cli11_proj.get_variable('CLI11_dep') cli11_headers = cli11_proj.get_variable('cli11_headers') cli11_impl_headers = cli11_proj.get_variable('cli11_impl_headers') -install_headers(cli11_headers, subdir: 'fourdst/vendor/CLI') -install_headers(cli11_impl_headers, subdir: 'fourdst/vendor/CLI/impl') \ No newline at end of file +install_headers(cli11_headers, install_dir: config_header_root / 'fourdst' / 'vendor' / 'CLI') +install_headers(cli11_impl_headers, install_dir: config_header_root / 'fourdst' / 'vendor' / 'CLI' / 'impl') \ No newline at end of file diff --git a/build-config/reflect-cpp/meson.build b/build-config/reflect-cpp/meson.build index 3eb013b..8f8691c 100644 --- a/build-config/reflect-cpp/meson.build +++ b/build-config/reflect-cpp/meson.build @@ -33,6 +33,6 @@ reflect_cpp_dep = declare_dependency( install_subdir( 'include', - install_dir: get_option('includedir') / 'fourdst' / 'vendor', - strip_directory: true + install_dir: config_header_root / 'fourdst' / 'vendor', + strip_directory: true, ) diff --git a/build-config/tomlpp/meson.build b/build-config/tomlpp/meson.build index 7b25a36..bf76b5e 100644 --- a/build-config/tomlpp/meson.build +++ b/build-config/tomlpp/meson.build @@ -2,8 +2,7 @@ tomlpp_inc_dir = include_directories('vendor/include') install_subdir( 'vendor/include', - install_dir: get_option('includedir') / 'fourdst' / 'vendor', - strip_directory: true + install_dir: config_header_root / 'fourdst' / 'vendor', + strip_directory: true, + exclude_files: ['meson.build'], ) - - diff --git a/meson.build b/meson.build index 5660e58..196a5ce 100644 --- a/meson.build +++ b/meson.build @@ -18,11 +18,15 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # *********************************************************************** # -project('libconfig', ['cpp', 'c'], version: 'v2.2.7', default_options: ['cpp_std=c++23'], meson_version: '>=1.5.0') +project('libconfig', ['cpp', 'c'], version: 'v2.2.8', 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') +config_header_root = get_option('header_install_dir') != '' \ + ? get_option('header_install_dir') \ + : get_option('includedir') + cpp = meson.get_compiler('cpp') subdir('build-config') subdir('src') diff --git a/meson_options.txt b/meson_options.txt index 83c7264..9d605e0 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1,5 +1,6 @@ option('pkg_config', type: 'boolean', value: true, description: 'generate pkg-config file for libconfig (fourdst_config.pc)') option('build_tests', type: 'boolean', value: true, description: 'Build unit and integration tests (uses gtest)') option('build_examples', type: 'boolean', value: true, description: 'Build simple 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.'):w +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.') +option('header_install_dir', type: 'string', value: '', description: 'Override the header install root (used by the fourdst umbrella to place headers inside the Python package in wheel builds). Empty = default includedir.') diff --git a/src/config/meson.build b/src/config/meson.build index 86f1068..174eb59 100644 --- a/src/config/meson.build +++ b/src/config/meson.build @@ -13,10 +13,10 @@ config_headers = files( 'include/fourdst/config/ansi.h', 'include/fourdst/config/validate.h', ) -install_headers(config_headers, subdir : 'fourdst/config') config_exception_headers = files( 'include/fourdst/config/exceptions/exceptions.h', ) -install_headers(config_exception_headers, subdir : 'fourdst/config/exceptions') +install_headers(config_headers, install_dir: config_header_root / 'fourdst' / 'config') +install_headers(config_exception_headers, install_dir: config_header_root / 'fourdst' / 'config' / 'exceptions') \ No newline at end of file