fix(rpath): fixed macos RPATH issue

This commit is contained in:
2026-06-11 12:20:32 -04:00
parent 342eb90068
commit 0431e0c7de
3 changed files with 25 additions and 12 deletions

View File

@@ -48,7 +48,7 @@ PROJECT_NAME = fourdst::libcomposition
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = v2.4.7
PROJECT_NUMBER = v2.4.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

View File

@@ -18,7 +18,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# *********************************************************************** #
project('libcomposition', 'cpp', version: 'v2.4.7', default_options: ['cpp_std=c++23'], meson_version: '>=1.5.0')
project('libcomposition', 'cpp', version: 'v2.4.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')

View File

@@ -37,12 +37,16 @@ dependencies = [
xxhash_dep
]
samedir_rpath = host_machine.system() == 'darwin' ? '@loader_path' : '$ORIGIN'
libcomposition = library('composition',
composition_sources,
cpp_args: ['-fvisibility=default'],
dependencies: dependencies,
install: true,
install_dir: composition_libdir
install_dir: composition_libdir,
install_rpath: samedir_rpath,
build_rpath: samedir_rpath
)
@@ -56,47 +60,56 @@ composition_headers = files(
'include/fourdst/composition/composition.h',
'include/fourdst/composition/composition_abstract.h',
)
install_headers(composition_headers, install_dir : composition_header_install_dir)
composition_headers_utils = files(
'include/fourdst/composition/utils/utils.h',
'include/fourdst/composition/utils/composition_hash.h'
)
install_headers(composition_headers_utils, install_dir: composition_header_install_dir / 'utils')
composition_headers_io = files(
'include/fourdst/composition/io/standard_compositions.h',
'include/fourdst/composition/io/StandardMetalFractionsBinary.h'
)
install_headers(composition_headers_io, install_dir: composition_header_install_dir / 'io')
composition_headers_decorators = files(
'include/fourdst/composition/decorators/composition_masked.h',
'include/fourdst/composition/decorators/composition_decorator_abstract.h',
)
install_headers(composition_headers_decorators, install_dir: composition_header_install_dir / 'decorators')
composition_headers_atomic = files(
'include/fourdst/atomic/atomicSpecies.h',
'include/fourdst/atomic/elements.h',
'include/fourdst/atomic/species.h',
)
install_headers(composition_headers_atomic, install_dir: composition_header_install_dir / 'atomic')
composition_exception_headers = files(
'include/fourdst/composition/exceptions/exceptions_composition.h',
)
install_headers(composition_exception_headers, install_dir: composition_header_install_dir / 'exceptions')
composition_iterator_headers = files(
'include/fourdst/composition/iterators/composition_abstract_iterator.h',
)
install_headers(composition_iterator_headers, install_dir: composition_header_install_dir / 'iterators')
if get_option('build_python')
install_data(composition_headers, install_dir : composition_header_install_dir)
install_data(composition_headers_utils, install_dir: composition_header_install_dir / 'utils')
install_data(composition_headers_io, install_dir: composition_header_install_dir / 'io')
install_data(composition_headers_decorators, install_dir: composition_header_install_dir / 'decorators')
install_data(composition_headers_atomic, install_dir: composition_header_install_dir / 'atomic')
install_data(composition_exception_headers, install_dir: composition_header_install_dir / 'exceptions')
install_data(composition_iterator_headers, install_dir: composition_header_install_dir / 'iterators')
else
install_headers(composition_headers, install_dir : composition_header_install_dir)
install_headers(composition_headers_utils, install_dir: composition_header_install_dir / 'utils')
install_headers(composition_headers_io, install_dir: composition_header_install_dir / 'io')
install_headers(composition_headers_decorators, install_dir: composition_header_install_dir / 'decorators')
install_headers(composition_headers_atomic, install_dir: composition_header_install_dir / 'atomic')
install_headers(composition_exception_headers, install_dir: composition_header_install_dir / 'exceptions')
install_headers(composition_iterator_headers, install_dir: composition_header_install_dir / 'iterators')
endif
v = meson.project_version()
conf_data = configuration_data()