Thanks Domen! The use of original-case for <component> in
CPACK_RPM_<component>_XXXX was indeed the problem. I never did get the
CPACK_RPM_*_PACKAGE_PREFIX variable to work but I'm using a different
(probably more correct) approach that gets me what I wanted.

Can this use of mixed case-sensitive/all-upper-case can be clarified in the
documentation for CPACK_ and CPAC_RPM_ component variables?

Thanks,
Andy

On Tue, Feb 2, 2016 at 2:51 PM, Domen Vrankar <domen.vran...@gmail.com>
wrote:

> > set(CPACK_GENERATOR "RPM")
> > set(CPACK_RPM_BLAH1_USER_BINARY_SPECFILE
> > "${CMAKE_CURRENT_SOURCE_DIR}/install/SPECS/blah1.spec.in")
> > set(CPACK_RPM_BLAH1_PACKAGE_PREFIX "${CMAKE_INSTALL_PREFIX}/blah1")
> > set(CPACK_RPM_BLAH2_PACKAGE_PREFIX "${CMAKE_INSTALL_PREFIX}/blah2")
> > set(CPACK_RPM_COMPONENT_INSTALL ON)
> > set(CPACK_COMPONENTS_ALL blah1 blah2)
> > include(CPack)
> >
> > What I want this to do is install blah1 in something like /opt/blah1 and
> > install blah2 in /opt/blah2 and use a custom binary spec for component
> > blah1. It does none of these things and instead puts both blah1 and
> blah2 in
> > CPACK_PACKAGING_INSTALL_PREFIX and uses a GENERATED binary spec file for
> > both blah1 and blah2.
>
> This can be done but not all of those features came in at the same
> time so you should check the documentation for the version of
> CMake/CPack you are using.
>
> Also for historical reasons there is a difference between CPack
> variables and CPackRPM specific variables: with CPACK_* variables the
> component part should be in upper case as in your example while with
> CPACK_RPM_* variables the component part should be the same as the
> name of the component (for e.g. in your case
> CPACK_RPM_blah1_PACKAGE_PREFIX).
>
> Also instead of using CPACK_RPM_*_PACKAGE_PREFIX variables you might
> also want to take a look at CPACK_RPM_RELOCATION_PATHS that can be
> used in combination with GNUInstallDirs.cmake script that comes with
> CMake.
>
> e.g.
> include(GNUInstallDirs)
> set(CPACK_RPM_RELOCATION_PATHS "${CMAKE_INSTALL_INCLUDEDIR}"
>   "${CMAKE_INSTALL_LIBDIR}" "${CMAKE_INSTALL_BINDIR}")
>
> This way each rpm package can have more than one install prefix location.
>
> Regards,
> Domen
>
-- 

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

Reply via email to