[ https://issues.apache.org/jira/browse/PROTON-2254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17398681#comment-17398681 ]
ASF GitHub Bot commented on PROTON-2254: ---------------------------------------- codecov-commenter edited a comment on pull request #330: URL: https://github.com/apache/qpid-proton/pull/330#issuecomment-898485665 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Relative paths in CMake share > ----------------------------- > > Key: PROTON-2254 > URL: https://issues.apache.org/jira/browse/PROTON-2254 > Project: Qpid Proton > Issue Type: Improvement > Components: build, cpp-binding, proton-c > Affects Versions: proton-c-0.31.0 > Environment: Debian Linux; build Proton then Dispatch into each their > own `DESTDIR`. This is done by our "layered build" system, > https://gitlab.com/arpa2/mkhere/-/blob/master/qpid_proton.sh and > https://gitlab.com/arpa2/mkhere/-/blob/master/qpid_dispatch.sh > Reporter: Rick van Rein > Assignee: Jiri Daněk > Priority: Minor > Labels: cmake, install, proton > Fix For: proton-c-0.36.0 > > Original Estimate: 0.25h > Time Spent: 4h > Remaining Estimate: 0h > > This sequency installs well: > {noformat} > cmake > make > make DESTDIR=/some/where install > {noformat} > However, further use of the installation fails, because of strict > dependencies on the *installed* paths in files like `ProtonConfig.cmake`: > {noformat} > set_target_properties(Proton::core > PROPERTIES > IMPORTED_LOCATION "/usr/local/lib/libqpid-proton-core.so" > IMPORTED_LOCATION_DEBUG "/usr/local/lib/libqpid-proton-core.so" > INTERFACE_INCLUDE_DIRECTORIES "${Proton_Core_INCLUDE_DIRS}") > {noformat} > **What would work:** First switch to the `DESTDIR`, then continue building > something like Qpid Dispatch Router. > **Solution:** Use relative directories, like in: > {noformat} > # Compute the installation prefix relative to this file. > get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) > get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) > get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) > get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) > if(_IMPORT_PREFIX STREQUAL "/") > set(_IMPORT_PREFIX "") > endif() > {noformat} > **Work-around:** An unhappy quickfix is > {noformat} > find /some/where -name *.cmake -exec \ > sed -i "s+/usr/+/some/where/usr/+g" {} \; > {noformat} -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org