62 lines
2.0 KiB
CMake
62 lines
2.0 KiB
CMake
IF(MAC OR LINUX OR WIN32)
|
|
IF(JENKINS_APPCAST)
|
|
SET(APPCAST_URL ${REMOTE_CONFIG_URL}/build CACHE STRING "Appcast download URL" FORCE)
|
|
ELSE()
|
|
SET(APPCAST_URL ${REMOTE_CONFIG_URL} CACHE STRING "Appcast download URL" FORCE)
|
|
ENDIF()
|
|
|
|
MACRO(ADD_APPCAST_FILE _files _system)
|
|
FOREACH(filePath ${_files})
|
|
FILE_SIZE(fileSize ${filePath})
|
|
IF(NOT DEFINED fileSize)
|
|
MESSAGE(FATAL_ERROR "Cannot get file size of: ${file}")
|
|
ENDIF()
|
|
|
|
GET_FILENAME_COMPONENT(file ${filePath} NAME)
|
|
MESSAGE(STATUS "Processing: ${file}")
|
|
IF(NOT "${_system}" STREQUAL "SOURCES")
|
|
FILE(READ ${PACKAGING_DIR}/updater/Appcast.item.xml.in item)
|
|
|
|
STRING(REPLACE "AusweisApp2-" "" APPCAST_FILE_VERSION ${file})
|
|
STRING(REPLACE ".dmg" "" APPCAST_FILE_VERSION ${APPCAST_FILE_VERSION})
|
|
STRING(REPLACE ".msi" "" APPCAST_FILE_VERSION ${APPCAST_FILE_VERSION})
|
|
|
|
STRING(TIMESTAMP currentDate "%Y-%m-%dT%H:%M:%S")
|
|
STRING(REPLACE "APPCAST_DATE" ${currentDate} item ${item})
|
|
STRING(REPLACE "APPCAST_DOWNLOAD_URL" "${APPCAST_URL}/${file}" item ${item})
|
|
STRING(REPLACE "APPCAST_VERSION" "${APPCAST_FILE_VERSION}" item ${item})
|
|
STRING(REPLACE "APPCAST_OS" ${_system} item ${item})
|
|
STRING(REPLACE "APPCAST_PACKAGE_SIZE" "${fileSize}" item ${item})
|
|
STRING(REPLACE "APPCAST_URL" "${APPCAST_URL}" item ${item})
|
|
SET(APPCAST_ITEMS "${APPCAST_ITEMS}\n${item}")
|
|
ENDIF()
|
|
|
|
FILE(SHA256 ${filePath} fileHash)
|
|
FILE(WRITE ${filePath}.sha256 "${fileHash} ${file}\n")
|
|
ENDFOREACH()
|
|
ENDMACRO()
|
|
|
|
IF(LINUX OR MAC)
|
|
FILE(GLOB DMG_FILES ${PROJECT_BINARY_DIR}/*.dmg)
|
|
FILE(GLOB MSI_FILES ${PROJECT_BINARY_DIR}/*.msi)
|
|
FILE(GLOB TAR_GZ_FILES ${PROJECT_BINARY_DIR}/*.tar.gz)
|
|
|
|
IF(DMG_FILES)
|
|
ADD_APPCAST_FILE("${DMG_FILES}" "Q_OS_MAC")
|
|
ENDIF()
|
|
|
|
IF(MSI_FILES)
|
|
ADD_APPCAST_FILE("${MSI_FILES}" "Q_OS_WIN32")
|
|
ENDIF()
|
|
|
|
IF(TAR_GZ_FILES)
|
|
ADD_APPCAST_FILE("${TAR_GZ_FILES}" "SOURCES")
|
|
ENDIF()
|
|
|
|
IF(APPCAST_ITEMS)
|
|
CONFIGURE_FILE(${PACKAGING_DIR}/updater/Appcast.xml.in ${PROJECT_BINARY_DIR}/Appcast.xml @ONLY)
|
|
ENDIF()
|
|
ENDIF()
|
|
|
|
ENDIF()
|