set(CPACK_PACKAGE_NAME ${PROJECT_NAME})
set(CPACK_PACKAGE_VENDOR "DSDA-Doom maintainers")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "This is a successor of prboom+ with extra tooling for demo recording and playback, with a focus on speedrunning and quality of life.")
set(CPACK_PACKAGE_INSTALL_DIRECTORY ${CPACK_PACKAGE_NAME})
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
set(CPACK_VERBATIM_VARIABLES YES)
set(CPACK_RESOURCE_FILE_LICENSE ${PROJECT_SOURCE_DIR}/COPYING)

if(WIN32)
  set(CPACK_GENERATOR ZIP)
elseif(LINUX OR APPLE)
  set(CPACK_GENERATOR External TXZ)
  set(CPACK_EXTERNAL_ENABLE_STAGING TRUE)
  set(CPACK_EXTERNAL_PACKAGE_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/${CMAKE_SYSTEM_NAME}Generator.cmake")
  set(CPACK_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
  set(CPACK_SYSTEM_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR})
  set(CPACK_BIN_DIR "${DSDA_INSTALL_BINDIR}")
  set(CPACK_PWAD_DIR "${DSDAPWADDIR}")
  set(CPACK_LICENSE_DIR "${DSDA_INSTALL_COPYRIGHT_DIR}")
endif()

set(target_arch ${CMAKE_SYSTEM_PROCESSOR})
if(CMAKE_GENERATOR MATCHES "Visual Studio")
  string(TOLOWER "${CMAKE_VS_PLATFORM_NAME}" target_arch)
  string(REPLACE "win32" "x86" target_arch "${target_arch}")
elseif(CMAKE_OSX_ARCHITECTURES)
  list(JOIN CMAKE_OSX_ARCHITECTURES "-" target_arch)
endif()

string(TOLOWER "${CMAKE_SYSTEM_NAME}" platform_name)
string(REPLACE "windows" "win" platform_name "${platform_name}")
string(REPLACE "darwin" "mac" platform_name "${platform_name}")

set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${PROJECT_VERSION}-${platform_name}-${target_arch}")

include(CPack)
