The following issue has been SUBMITTED. 
====================================================================== 
http://public.kitware.com/Bug/view.php?id=15236 
====================================================================== 
Reported By:                Richard Ulrich
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   15236
Category:                   CPack
Reproducibility:            always
Severity:                   feature
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2014-11-07 10:25 EST
Last Modified:              2014-11-07 10:25 EST
====================================================================== 
Summary:                    CPACK_COMPONENT_GROUP can de-select required
children
Description: 
I have some required features inside a group.
Now in the WiX installer, I cannot deselect the features separately, but I can
de-select the group as a whole.
I didn't find a way to make the group required.

No idea how this bahaves with the other generators..

Steps to Reproduce: 
SET(CPACK_GENERATOR WIX)
# documenting the components
SET(CPACK_COMPONENT_RUNTIME_DISPLAY_NAME   "Runtimes")
SET(CPACK_COMPONENT_RUNTIME_DESCRIPTION    "!(loc.FeatDescRuntimes)")
SET(CPACK_COMPONENT_BASE_DISPLAY_NAME      "Base")
SET(CPACK_COMPONENT_BASE_DESCRIPTION       "!(loc.FeatDescBase)")
SET(CPACK_COMPONENT_SHARED_DISPLAY_NAME    "Shared")
SET(CPACK_COMPONENT_SHARED_DESCRIPTION     "!(loc.FeatDescShared)")
SET(CPACK_COMPONENT_PYTHON_DISPLAY_NAME    "Python")
SET(CPACK_COMPONENT_PYTHON_DESCRIPTION     "!(loc.FeatDescPython)")
SET(CPACK_COMPONENT_CONVERTER_DISPLAY_NAME "Converter")
SET(CPACK_COMPONENT_CONVERTER_DESCRIPTION  "!(loc.FeatDescConverter)")
SET(CPACK_COMPONENT_VIEWER_DISPLAY_NAME    "Viewer")
SET(CPACK_COMPONENT_VIEWER_DESCRIPTION     "!(loc.FeatDescViewer)")
SET(CPACK_COMPONENT_PL2D_DISPLAY_NAME      "PointLine2D")
SET(CPACK_COMPONENT_PL2D_DESCRIPTION       "!(loc.FeatDescPointLine2D)")
SET(CPACK_COMPONENT_PL3D_DISPLAY_NAME      "PointLine3D")
SET(CPACK_COMPONENT_PL3D_DESCRIPTION       "!(loc.FeatDescPointLine3D)")
# grouping
SET(CPACK_COMPONENT_GROUP_REQUIREMENTS_DESCRIPTION
"!(loc.FeatDescRequirements)")
SET(CPACK_COMPONENT_RUNTIME_GROUP "Requirements")
SET(CPACK_COMPONENT_BASE_GROUP    "Requirements")
SET(CPACK_COMPONENT_SHARED_GROUP  "Requirements")
SET(CPACK_COMPONENT_PYTHON_GROUP  "Requirements")
# requirements
SET(CPACK_COMPONENT_RUNTIME_REQUIRED TRUE)
SET(CPACK_COMPONENT_BASE_REQUIRED TRUE)
SET(CPACK_COMPONENT_SHARED_REQUIRED TRUE)
SET(CPACK_COMPONENT_PYTHON_REQUIRED FALSE)
SET(CPACK_COMPONENT_CONVERTER_REQUIRED FALSE)
SET(CPACK_COMPONENT_VIEWER_REQUIRED FALSE)
SET(CPACK_COMPONENT_PL2D_REQUIRED FALSE)
SET(CPACK_COMPONENT_PL3D_REQUIRED FALSE)

translates to features.wxs : 
<Fragment>
        <Feature Id="ProductFeature" Display="expand"
ConfigurableDirectory="INSTALL_ROOT" Title="PointLine23" Level="1">
            <Feature Id="CM_G_Requirements" Title="Requirements"
Description="!(loc.FeatDescRequirements)">
                <Feature Id="CM_C_runtime" Title="Runtimes"
Description="!(loc.FeatDescRuntimes)" Absent="disallow"/>
                <Feature Id="CM_C_base" Title="Base"
Description="!(loc.FeatDescBase)" Absent="disallow"/>
                <Feature Id="CM_C_python" Title="Python"
Description="!(loc.FeatDescPython)"/>
                <Feature Id="CM_C_shared" Title="Shared"
Description="!(loc.FeatDescShared)" Absent="disallow"/>
            </Feature>
            <Feature Id="CM_C_converter" Title="Converter"
Description="!(loc.FeatDescConverter)"/>
            <Feature Id="CM_C_pl2d" Title="PointLine2D"
Description="!(loc.FeatDescPointLine2D)"/>
            <Feature Id="CM_C_pl3d" Title="PointLine3D"
Description="!(loc.FeatDescPointLine3D)"/>
            <Feature Id="CM_C_viewer" Title="Viewer"
Description="!(loc.FeatDescViewer)"/>
        </Feature>

Additional Information: 
Wix does support hidden features, this would also solve the problem.
http://wixtoolset.org/documentation/manual/v3/xsd/wix/feature.html ->
Display:hidden

So for my case, two different solutions could solve it:
 * SET(CPACK_COMPONENT_GROUP_REQUIREMENTS_REQUIRED TRUE)
 * SET(CPACK_COMPONENT_RUNTIME_HIDDEN TRUE)
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2014-11-07 10:25 Richard Ulrich New Issue                                    
======================================================================

-- 

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

Reply via email to