<HTML>
What an honor for me that you guys responded so quickly. Our group has done well to move to CMake. Sorry for taking such a long time to reply; I'm part of a big organization that can be slow to decide things.<BR>
<BR>
The way this is going, is to continue with one package rather than use a workaround, if we have some idea if/when CPACK_COMPONENT_&lt;compName&gt;_DEPENDS will be implemented. But, am I understanding correctly that CPACK_COMPONENT_&lt;compName&gt;_DEPENDS isn't expected to work? I see some CMake examples that use it so I'm confused why this works for some people.<BR>
<BR>
I guess my question now is, is there a plan to make the CPACK_COMPONENT_&lt;compName&gt;_DEPENDS mechanism work? At the risk of being asked to contribute :), is there any way to know when? My group can make a decision based on that info.<BR>
 <BR>
Thank you greatly!<BR>
Jeff <BR>
<BR>
&lt;turkey here&gt;<BR>
<BR>
<span style="font-weight: bold;">On Wed Nov 20  4:09 , Jeremy Fix <jeremy.fix@supelec.fr> sent:<BR>
<BR>
</jeremy.fix@supelec.fr></span><blockquote style="BORDER-LEFT: #F5F5F5 2px solid; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 0px">On 11/20/2013 09:52 AM, Eric Noulard wrote:<BR>

<span style="color: red;">&gt; 2013/11/20 Jeremy Fix &lt;<a href="javascript:top.opencompose('Jeremy.Fix@supelec.fr','','','')">Jeremy.Fix@supelec.fr</a>&gt;:</span><BR>

<span style="color: red;">&gt;&gt; Hello,</span><BR>

<span style="color: red;">&gt;&gt;</span><BR>

<span style="color: red;">&gt;&gt; I'm surprised CPACK_RPM_gui_PACKAGE_REQUIRES works , I don't find any use of</span><BR>

<span style="color: red;">&gt;&gt; CPACK_RPM_<compname>_REQUIRES in CPackRPM.cmake;</compname></span><BR>

<span style="color: red;">&gt;</span><BR>

<span style="color: red;">&gt; Yes there is for all</span><BR>

<span style="color: red;">&gt;</span><BR>

<span style="color: red;">&gt; URL REQUIRES SUGGESTS PROVIDES OBSOLETES PREFIX CONFLICTS AUTOPROV</span><BR>

<span style="color: red;">&gt; AUTOREQ AUTOREQPROV</span><BR>

<span style="color: red;">&gt;</span><BR>

<span style="color: red;">&gt; see lines 555 and following we check for component specific value first:</span><BR>

<span style="color: red;">&gt;</span><BR>

<span style="color: red;">&gt; if(DEFINED CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_${_RPM_SPEC_HEADER})</span><BR>

<span style="color: red;">&gt;</span><BR>

<span style="color: red;">&gt; then</span><BR>

<span style="color: red;">&gt; else()</span><BR>

<span style="color: red;">&gt;              if(DEFINED CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER})</span><BR>

<span style="color: red;">&gt;</span><BR>

<span style="color: red;">&gt; However we may have check the definition of</span><BR>

<span style="color: red;">&gt; "CPACK_COMPONENT_<compname>_DEPENDS" first</compname></span><BR>

<span style="color: red;">&gt; in order to fill-in CPACK_RPM_<compname>_REQUIRES.</compname></span><BR>

<span style="color: red;">&gt; This is not done.</span><BR>

<span style="color: red;">&gt;</span><BR>

<span style="color: red;">&gt; Moreover I'm not sure this could be easily factoired out since the</span><BR>

<span style="color: red;">&gt; syntax for dependency specification</span><BR>

<span style="color: red;">&gt; may well be package type specific (different name or syntax for DEB or</span><BR>

<span style="color: red;">&gt; RPM for example).</span><BR>

<span style="color: red;">&gt;</span><BR>

<span style="color: red;">&gt;&gt; What I can suggest you for generating several packages with different</span><BR>

<span style="color: red;">&gt;&gt; dependencies is to generate the different packages in multiple steps. If we</span><BR>

<span style="color: red;">&gt;&gt; suppose you defined 2 components (in the INSTALL commands) called : binary</span><BR>

<span style="color: red;">&gt;&gt; and devel ,you can then generate the packages (whether deb or rpm) as</span><BR>

<span style="color: red;">&gt;&gt; follows:</span><BR>

<span style="color: red;">&gt;&gt;</span><BR>

<span style="color: red;">&gt;&gt;</span><BR>

<span style="color: red;">&gt;&gt; SET(CPACK_INSTALL_CMAKE_PROJECTS "${CMAKE_BINARY_DIR};${CMAKE_PROJECT_NAME};</span><BR>

<span style="color: red;">&gt;&gt; ${MYBUILDTYPE};/")</span><BR>

<span style="color: red;">&gt;&gt;</span><BR>

<span style="color: red;">&gt;&gt; then for the dependencies:</span><BR>

<span style="color: red;">&gt;&gt;</span><BR>

<span style="color: red;">&gt;&gt; IF(MYBUILDTYPE STREQUAL "binary")</span><BR>

<span style="color: red;">&gt;&gt; SET(CPACK_RPM_PACKAGE_REQUIRES "gsl")</span><BR>

<span style="color: red;">&gt;&gt; SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libgsl0-dev")</span><BR>

<span style="color: red;">&gt;&gt; ELSE()</span><BR>

<span style="color: red;">&gt;&gt; SET(CPACK_RPM_PACKAGE_REQUIRES "gsl-devel")</span><BR>

<span style="color: red;">&gt;&gt; SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libgsl0-dev")</span><BR>

<span style="color: red;">&gt;&gt; ENDIF()</span><BR>

<span style="color: red;">&gt;&gt;</span><BR>

<span style="color: red;">&gt;&gt;</span><BR>

<span style="color: red;">&gt;&gt; Then the packages are generated with:</span><BR>

<span style="color: red;">&gt;&gt;</span><BR>

<span style="color: red;">&gt;&gt; cmake -DMYBUILDTYPE="binary" &amp;&amp; make package</span><BR>

<span style="color: red;">&gt;&gt; cmake -DMYBUILDTYPE="devel" &amp;&amp; make package</span><BR>

<span style="color: red;">&gt;</span><BR>

<span style="color: red;">&gt; You should be able to do that with component packaging and a</span><BR>

<span style="color: red;">&gt; CPACK_PROJECT_CONFIG_FILE.</span><BR>

<span style="color: red;">&gt;</span><BR>

<BR>

I'm not familiar with CPACK_PROJECT_CONFIG_FILE;<BR>

<BR>

I had issues with the package names generated with component packaging <BR>

as the component name is added at the end of the package name; I <BR>

prefered to generate the components in two steps to tweak the <BR>

CPACK_RPM_PACKAGE_NAME  and I use some commands a bit more complicated <BR>

than the above;<BR>

<BR>

IF(MYBUILDTYPE STREQUAL "binary")<BR>

SET(CPACK_RPM_PACKAGE_NAME ${CMAKE_PROJECT_NAME})<BR>

SET(CPACK_DEBIAN_PACKAGE_NAME ${CMAKE_PROJECT_NAME})<BR>

SET(CPACK_PACKAGE_FILE_NAME <BR>

${CMAKE_PROJECT_NAME}-${PACKAGE_VERSION}-${CMAKE_SYSTEM_PROCESSOR})<BR>

SET(CPACK_INSTALL_CMAKE_PROJECTS <BR>

"${CMAKE_BINARY_DIR};${CMAKE_PROJECT_NAME};binary;/")<BR>

ELSEIF(MYBUILDTYPE STREQUAL "devel")<BR>

SET(CPACK_RPM_PACKAGE_NAME ${CMAKE_PROJECT_NAME}-devel)<BR>

SET(CPACK_DEBIAN_PACKAGE_NAME ${CMAKE_PROJECT_NAME}-devel)<BR>

SET(CPACK_PACKAGE_FILE_NAME <BR>

${CMAKE_PROJECT_NAME}-devel-${PACKAGE_VERSION}-${CMAKE_SYSTEM_PROCESSOR})<BR>

SET(CPACK_INSTALL_CMAKE_PROJECTS <BR>

"${CMAKE_BINARY_DIR};${CMAKE_PROJECT_NAME}-devel;devel;/")<BR>

ENDIF()<BR>

<BR>

<BR>

This is just to ensure consistency between the field "Name:" in the <BR>

autogenerated spec file is  :    pkg   and pkg-devel ;<BR>

and the generated RPM (or deb) filenames:   pkg-1.00-i686.rpm  and <BR>

pkg-devel-1.00-i686.rpm<BR>

<BR>

<BR>

jeremy.<BR>

<BR>

<BR>

<BR>

--<BR>

<BR>

Powered by <a href="parse.pl?redirect=http://www.kitware.com" target="_blank">www.kitware.com</a><BR>

<BR>

Please keep messages on-topic and check the CMake FAQ at: <a href="parse.pl?redirect=http%3A%2F%2Fwww.cmake.org%2FWiki%2FCMake_FAQ" target="_blank"><span style="color: red;">http://www.cmake.org/Wiki/CMake_FAQ</span></a><BR>

<BR>

Kitware offers various services to support the CMake community. For more information on each offering, please visit:<BR>

<BR>

CMake Support: <a href="parse.pl?redirect=http%3A%2F%2Fcmake.org%2Fcmake%2Fhelp%2Fsupport.html" target="_blank"><span style="color: red;">http://cmake.org/cmake/help/support.html</span></a><BR>

CMake Consulting: <a href="parse.pl?redirect=http%3A%2F%2Fcmake.org%2Fcmake%2Fhelp%2Fconsulting.html" target="_blank"><span style="color: red;">http://cmake.org/cmake/help/consulting.html</span></a><BR>

CMake Training Courses: <a href="parse.pl?redirect=http%3A%2F%2Fcmake.org%2Fcmake%2Fhelp%2Ftraining.html" target="_blank"><span style="color: red;">http://cmake.org/cmake/help/training.html</span></a><BR>

<BR>

Visit other Kitware open-source projects at <a href="parse.pl?redirect=http%3A%2F%2Fwww.kitware.com%2Fopensource%2Fopensource.html" target="_blank"><span style="color: red;">http://www.kitware.com/opensource/opensource.html</span></a><BR>

<BR>

Follow this link to subscribe/unsubscribe:<BR>

<a href="parse.pl?redirect=http%3A%2F%2Fwww.cmake.org%2Fmailman%2Flistinfo%2Fcmake" target="_blank"><span style="color: red;">http://www.cmake.org/mailman/listinfo/cmake</span></a><BR>

</blockquote></HTML>
<BR>