[ 
https://issues.apache.org/jira/browse/PROTON-2254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17416933#comment-17416933
 ] 

ASF GitHub Bot commented on PROTON-2254:
----------------------------------------

astitcher commented on pull request #334:
URL: https://github.com/apache/qpid-proton/pull/334#issuecomment-922092043


   Also afaict the LIBRARIES var is much easier because it just uses the 
modular name in the directly (eg Proton::core) and doesn't have to worry about 
actual file paths etc.


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


> 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to