[
https://issues.apache.org/jira/browse/PROTON-2254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17416927#comment-17416927
]
ASF GitHub Bot commented on PROTON-2254:
----------------------------------------
jiridanek edited a comment on pull request #334:
URL: https://github.com/apache/qpid-proton/pull/334#issuecomment-922087036
This is just something I was able to test now. For the real fix, I'd still
want to remove the `INCLUDEDIR` cmake variable, so that I am not leaving
unneeded things around. The 'nonmodern' `*Config.cmake` variables
`*_INCLUDE_DIRS` should extract the paths directly from the modern target, the
way it is done for `*_LIBRARIES`.
edit: also, I just realized PROTON-2254 broke the pkgconfig file
--
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]