最終的に、CMake リストの助けを借りてこれを見つけました。CMakeLists.txt で次のようにします。
install(PROGRAMS basic.sh DESTINATION "." COMPONENT basic)
install(PROGRAMS optional.sh DESTINATION "." COMPONENT optional)
set(CPACK_PROJECT_CONFIG_FILE "${CMAKE_CURRENT_SOURCE_DIR}/CPackOptions.cmake")
CPackOptions.cmake は ifs を処理する必要があります。必要なその他のジェネレーターについては、CPACK_*_COMPONENT_INSTALL をオンにする必要があることに注意してください。
SET(CPACK_ARCHIVE_COMPONENT_INSTALL ON)
SET(CPACK_DEB_COMPONENT_INSTALL ON)
SET(CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE 1)
IF ("${CPACK_GENERATOR}" MATCHES "TGZ")
SET(CPACK_COMPONENTS_ALL basic optional)
ELSEIF ("${CPACK_GENERATOR}" MATCHES "TBZ2")
SET(CPACK_COMPONENTS_ALL basic optional)
ELSE()
SET(CPACK_COMPONENTS_ALL basic)
ENDIF()