Bug #2022
Incorrect pkg-config requirement extraction for cmake-cpp projects
Status: | Rejected | Start date: | 09/24/2014 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | J. Moringen | % Done: | 0% | |
Category: | Project Analysis | |||
Target version: | 0.3 |
Description
For example for the annotate project it extracts:
#<VERSION-SPEC annotate:master {100956BBC3}> (1 missing dependency): No provider for (:PKG-CONFIG "btl-1.1").
I expect something like:
#<VERSION-SPEC annotate:master {100956BBC3}> (1 missing dependency): No provider for (:PKG-CONFIG "btl" (1 1)).
The btl project actually provides:
"extra-provides": [ [ "cmake", "btl", "1.1" ], [ "pkg-config", "btl", "1.1" ] ]
Related issues
History
#1 Updated by J. Moringen over 9 years ago
- Description updated (diff)
- Status changed from New to Feedback
- Target version set to 0.3
The correctness of the extraction depends on whether the pkg-config module is named "btl-1.1" or "btl", i.e. does the upstream project install btl-1.1.pc
or btl.pc
?
If possible, please attach the btl[-1.1].pc
file and paste the PKG_CHECK_MODULES
(or similar) call in the downstream project.
The btl project actually provides:
[...]
This is hand-written and may not reflect what btl actually does :)
#2 Updated by S. Meyer zu Borgsen over 9 years ago
- File btl-1.1.pc added
BTL creates btl-1.1.pc (see attachment).
Downstream calls:
PKG_CHECK_MODULES(LIBRARIES REQUIRED eigen3 xmltio btl-1.1)
Maybe this problem is related to: #2021 ?
#3 Updated by J. Moringen over 9 years ago
- Status changed from Feedback to Rejected
In this case, the pkg-config module name isBTL creates
btl-1.1.pc
(see attachment).Downstream calls:
PKG_CHECK_MODULES(LIBRARIES REQUIRED eigen3 xmltio btl-1.1)
btl-1.1
and the correct specifications are
extra-provides
[ "pkg-config", "btl-1.1", "1.1.2" ]
in the upstream project(:PKG-CONFIG "btl-1.1")
in the downstream project (which is already the case)
Maybe this problem is related to: #2021 ?
Possible, since analyzing the repository contents as a CMake project could detect the provided pkg-config module. However, I'm not sure whether the current CMake analysis can do that.
I'm rejecting this issue since the fix is either- Change the
btl
recipe toextra-provides
[ "pkg-config", "btl-1.1", "1.1.2" ]
- Fix #2021 and check whether the provided pkg-config module can be detected automatically
I suggested implementing 1) until 2) is done.
#4 Updated by J. Moringen over 9 years ago
- Related to Bug #2021: Projects that contain pom.xml and CMakeLists.txt get treated as maven project only added