Le 16/04/15 16:45, Raffi Enficiaud a écrit :
Le 16/04/15 15:54, Raffi Enficiaud a écrit :
Le 16/04/15 14:55, Domen Vrankar a écrit :
I was wondering if this issue has been addressed so far.
As far as I can tell from the bug report I don't think so... If it
doesn't work in CMake 3.2 then it definitely wasn't.
I confirm this does not work with 3.2. I also would like to disable
CPACK_DEBIAN_PACKAGE_SHLIBDEPS on some of the components (dpkg-shlibdeps
complains right now for eg. packages containing only documentation).
If the maintainer of the CPackDeb agrees, I can try to resolve this.
Go ahead.
Could you also provide some automated test cases for this?
Sure! I assigned the issue to myself. Let's see how it goes.
I am right now testing the cmake 3.2 based on master. Before that I had
a code running ok-kind-of with the default cmake of ubuntu 14.04
(2.8.12.2).
When I create the debian with components for the two versions of cmake
with the same source tree, (option CPACK_DEB_PACKAGE_COMPONENTS)
- I can see the packages generated with 2.8.12.1
- I cannot see the packages generated with 3.2.20150416-g53264
- Cmake 3.2 is generating a package with the files at incorrect
destinations: for the component core-dev, the files will be installed on
core-dev/usr/include/xxx, while for cmake 2.8.12, the destination path
is urs/include/xxx
How can I have the previous behaviour with cmake 3.2?
Thanks,
Raffi
Ok, it was a good excercise to start with.
In the member function cmCPackGenerator::WantsComponentInstallation,
apparently it is required that groups AND components exist to have the
component install:
https://github.com/Kitware/CMake/blob/master/Source/CPack/cmCPackGenerator.cxx#L1505
If I change the line to
&& (!(this->ComponentGroups.empty()) || !(this->Components.empty())))
it works as before (cmake 2.8.12).
Is it required that groups and components are defined to be able to have
a component installation? (one file per component). In the wiki page,
http://www.cmake.org/Wiki/CMake:Component_Install_With_CPack
I can read "A component does not have to belong to any component GROUP".
I checked the tests for that, and I think they do not cover that case
since the groups are defined there.
Any suggestions?
Best,
Raffi
--
Powered by www.kitware.com
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Kitware offers various services to support the CMake community. For more
information on each offering, please visit:
CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers