set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Jellyfin")
set(CPACK_PACKAGE_VENDOR "Jellyfin")
set(CPACK_PACKAGE_NAME "Jellyfin")
string(REPLACE "." ";" VERSION_PARTS "${VERSION_BASE}")
list(GET VERSION_PARTS 0 CPACK_PACKAGE_VERSION_MAJOR)
list(GET VERSION_PARTS 1 CPACK_PACKAGE_VERSION_MINOR)
list(GET VERSION_PARTS 2 CPACK_PACKAGE_VERSION_PATCH)

if(APPLE)
  set(CPACK_SYSTEM_NAME "macosx-x86_64")
elseif(WIN32)
  include(FetchDependencies)
  set(CPACK_SYSTEM_NAME ${ARCHSTR})
else()
  set(CPACK_SYSTEM_NAME linux-${CMAKE_HOST_SYSTEM_PROCESSOR})
endif()
set(CPACK_PACKAGE_FILE_NAME "Jellyfin-${VERSION_STRING}-${CPACK_SYSTEM_NAME}")
set(CPACK_SOURCE_PACKAGE_FILE_NAME "Jellyfin-${VERSION_STRING}-src")

set(CPACK_PACKAGE_INSTALL_DIRECTORY "Jellyfin")
set(CPACK_STRIP_FILES 1)


if(WIN32)
  include(WindowsInstaller)
  install(FILES ${CMAKE_SOURCE_DIR}/bundle/win/qt.conf DESTINATION .)
else(WIN32)
  set(CPACK_GENERATOR "ZIP")
  if(APPLE)
    set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY 0)
  endif(APPLE)
  configure_file(${CMAKE_SOURCE_DIR}/CMakeModules/CPackGeneratedConfig.cmake.in ${CMAKE_BINARY_DIR}/CPackGeneratedConfig.cmake)
  set(CPACK_PROJECT_CONFIG_FILE ${CMAKE_BINARY_DIR}/CPackGeneratedConfig.cmake)

  include(CPack)
  cpack_add_component(Core DISPLAY_NAME "Jellyfin" DESCRIPTION "Jellyfin (Core Application)" REQUIRED)
endif(WIN32)