Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMake: Set RPATHs on Installed Targets #1105

Merged
merged 2 commits into from
Sep 16, 2021

Conversation

ax3l
Copy link
Member

@ax3l ax3l commented Sep 16, 2021

Set RPATHS on installed targets.
Adding INSTALL_RPATH_USE_LINK_PATH simplifies the usage of openPMD-api when installed against shared dependencies or when building Python bindings while also building the core library as shared (non-default, but possible). Furthermore, we add $ORIGIN (or @loader_path on macOS) to express the internal dependency on our ADIOS1 wrapper libs.

Also: cleans up CMake target C++ standard Control via a function.

@ax3l ax3l added the install label Sep 16, 2021
@ax3l ax3l mentioned this pull request Sep 16, 2021
4 tasks
@franzpoeschel
Copy link
Contributor

franzpoeschel commented Sep 16, 2021

Should we add this to the output of "openPMD build configuration:"?

Also, am I doing something wrong? When I build with openPMD_INSTALL_RPATH=ON, I don't see the rpath, neither with readelf -d /install/location/libopenPMD.so nor with objdump -x /install/location/libopenPMD.so | grep RPATH. I wasn't looking properly

@ax3l
Copy link
Member Author

ax3l commented Sep 16, 2021

Yes, it's already printed in the installation summary :)

@franzpoeschel
Copy link
Contributor

Ah, next time I'll look closer

@franzpoeschel franzpoeschel merged commit 5bf5bc7 into openPMD:dev Sep 16, 2021
@ax3l ax3l deleted the topic-cmakeRPathAndCleaning branch September 16, 2021 21:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants