Skip to content

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