[CMake] CPACK_COMPONENT_<compName>_DEPENDS doesn't work
Jeremy Fix
Jeremy.Fix at Supelec.fr
Wed Nov 20 03:15:58 EST 2013
Hello,
I'm surprised CPACK_RPM_gui_PACKAGE_REQUIRES works , I don't find any
use of CPACK_RPM_<compName>_REQUIRES in CPackRPM.cmake;
What I can suggest you for generating several packages with different
dependencies is to generate the different packages in multiple steps. If
we suppose you defined 2 components (in the INSTALL commands) called :
binary and devel ,you can then generate the packages (whether deb or
rpm) as follows:
SET(CPACK_INSTALL_CMAKE_PROJECTS
"${CMAKE_BINARY_DIR};${CMAKE_PROJECT_NAME}; ${MYBUILDTYPE};/")
then for the dependencies:
IF(MYBUILDTYPE STREQUAL "binary")
SET(CPACK_RPM_PACKAGE_REQUIRES "gsl")
SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libgsl0-dev")
ELSE()
SET(CPACK_RPM_PACKAGE_REQUIRES "gsl-devel")
SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libgsl0-dev")
ENDIF()
Then the packages are generated with:
cmake -DMYBUILDTYPE="binary" && make package
cmake -DMYBUILDTYPE="devel" && make package
best;
Jeremy.
On 11/20/2013 03:51 AM, jeff at linuxwest.com wrote:
> Hello CMake group,
>
> I'm trying to do a component-based install that will produce multiple
> packages, where one package depends on another. I am using cmake
> version 2.8.12.1. Have multiple packages working well but the
> dependencies have not been easy.
>
> The variable CPACK_COMPONENT_<compName>_DEPENDS, given by the command
> `cpack --help-variable-list`, as far as I can tell, does nothing.
> Surprisingly, what ended up doing the trick on an RPM-based system is:
>
> SET(CPACK_RPM_gui_PACKAGE_REQUIRES "my-lib >= 0.1.1")
>
> Why does this work? This is inconsistent with the documentation.
>
> The bigger problem, I'm trying to solve at the moment, is how to make
> component dependencies work on Debian. I have tried every combination
> of cpack variable + component name and nothing stops an install with a
> message like, "Unable to install gui because it depends on my-lib"
> (because my-lib doesn't exist so it should halt the installer).
>
> Does component-based install even work for Debian (actually, I'm on
> ubuntu but whatever)? I saw about two references to it on the entire
> Internet so a good resource is hard to find, currently. It would be
> idea if I can use CPACK_COMPONENT_<compName>_DEPENDS for both deb and
> rpm but as I said, it doesn't work.
>
>
> Thank you for any help/guidance.
>
> Jeff
>
>
>
>
>
> --
>
> 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://www.cmake.org/mailman/listinfo/cmake
--
Jérémy Fix (PhD)
Assistant Professor
Supélec
2 rue Edouard Belin
57070 Metz, France
Tél: +33(0)387 76 47 79
Fax: +33(0)387764700
Email: Jeremy.Fix at Supelec.fr
Homepage : http://malis.metz.supelec.fr/~fix_jer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20131120/9feb96d8/attachment-0001.htm>
More information about the CMake
mailing list