include(CPackComponent)

if(RunCMake_SUBTEST_SUFFIX STREQUAL "none")
  unset(CPACK_EXTERNAL_REQUESTED_VERSIONS)
elseif(RunCMake_SUBTEST_SUFFIX STREQUAL "good")
  set(CPACK_EXTERNAL_REQUESTED_VERSIONS "1.0")
elseif(RunCMake_SUBTEST_SUFFIX STREQUAL "good_multi")
  set(CPACK_EXTERNAL_REQUESTED_VERSIONS "1.0;2.0")
elseif(RunCMake_SUBTEST_SUFFIX STREQUAL "bad_major")
  set(CPACK_EXTERNAL_REQUESTED_VERSIONS "2.0")
elseif(RunCMake_SUBTEST_SUFFIX STREQUAL "bad_minor")
  set(CPACK_EXTERNAL_REQUESTED_VERSIONS "1.1")
elseif(RunCMake_SUBTEST_SUFFIX STREQUAL "invalid_good")
  set(CPACK_EXTERNAL_REQUESTED_VERSIONS "1;1.0")
elseif(RunCMake_SUBTEST_SUFFIX STREQUAL "invalid_bad")
  set(CPACK_EXTERNAL_REQUESTED_VERSIONS "1")
elseif(RunCMake_SUBTEST_SUFFIX STREQUAL "stage_and_package")
  set(CPACK_EXTERNAL_ENABLE_STAGING 1)
  set(CPACK_EXTERNAL_PACKAGE_SCRIPT "${CMAKE_CURRENT_LIST_DIR}/create_package.cmake")
  set(CPACK_PACKAGE_CHECKSUM SHA1)
endif()

file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/f1.txt" test1)
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/f2.txt" test2)
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/f3.txt" test3)
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/f4.txt" test4)

install(FILES "${CMAKE_CURRENT_BINARY_DIR}/f1.txt" DESTINATION share/cpack-test COMPONENT f1)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/f2.txt" DESTINATION share/cpack-test COMPONENT f2)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/f3.txt" DESTINATION share/cpack-test COMPONENT f3)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/f4.txt" DESTINATION share/cpack-test COMPONENT f4)

cpack_add_component(f1
  DISPLAY_NAME "File 1"
  DESCRIPTION "Component for file 1"
  GROUP f12
  INSTALL_TYPES full f12
)

cpack_add_component(f2
  DISPLAY_NAME "File 2"
  DESCRIPTION "Component for file 2"
  GROUP f12
  DEPENDS f1
  INSTALL_TYPES full f12
)

cpack_add_component(f3
  DISPLAY_NAME "File 3"
  DESCRIPTION "Component for file 3"
  GROUP f34
  DEPENDS f1 f2
  INSTALL_TYPES full
)

cpack_add_component(f4
  DISPLAY_NAME "File 4"
  DESCRIPTION "Component for file 4"
  GROUP f34
  DEPENDS f2 f3 f1
  INSTALL_TYPES full
)

cpack_add_component_group(f12
  DISPLAY_NAME "Files 1 and 2"
  DESCRIPTION "Component group for files 1 and 2"
  PARENT_GROUP f1234
)

cpack_add_component_group(f34
  DISPLAY_NAME "Files 3 and 4"
  DESCRIPTION "Component group for files 3 and 4"
  PARENT_GROUP f1234
)

cpack_add_component_group(f1234
  DISPLAY_NAME "Files 1-4"
  DESCRIPTION "Component group for all files"
)

cpack_add_install_type(full
  DISPLAY_NAME "Full installation"
)

cpack_add_install_type(f12
  DISPLAY_NAME "Only files 1 and 2"
)
