build(linux): consolidate appstream metainfo (#3954)
This commit is contained in:
parent
b2d44f5ba9
commit
c9a06fd8a7
15 changed files with 118 additions and 100 deletions
|
|
@ -136,26 +136,13 @@ if(${SUNSHINE_TRAY} STREQUAL 1)
|
|||
endif()
|
||||
|
||||
# desktop file
|
||||
# todo - validate desktop files with `desktop-file-validate`
|
||||
if(NOT ${SUNSHINE_BUILD_FLATPAK})
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sunshine.desktop"
|
||||
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications")
|
||||
else()
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sunshine.desktop"
|
||||
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications"
|
||||
RENAME "${PROJECT_FQDN}.desktop")
|
||||
endif()
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_FQDN}.desktop"
|
||||
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications")
|
||||
if(NOT ${SUNSHINE_BUILD_APPIMAGE} AND NOT ${SUNSHINE_BUILD_FLATPAK})
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sunshine_terminal.desktop"
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_FQDN}.terminal.desktop"
|
||||
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications")
|
||||
endif()
|
||||
|
||||
# metadata file
|
||||
# todo - validate file with `appstream-util validate-relax`
|
||||
if(NOT ${SUNSHINE_BUILD_FLATPAK})
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sunshine.appdata.xml"
|
||||
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo")
|
||||
else()
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_FQDN}.metainfo.xml"
|
||||
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo")
|
||||
endif()
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_FQDN}.metainfo.xml"
|
||||
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo")
|
||||
|
|
|
|||
|
|
@ -54,3 +54,34 @@ else()
|
|||
MESSAGE(WARNING ": Git not found, cannot find git version")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# set date variables
|
||||
set(PROJECT_YEAR "1990")
|
||||
set(PROJECT_MONTH "01")
|
||||
set(PROJECT_DAY "01")
|
||||
|
||||
# Extract year, month, and day
|
||||
if(PROJECT_VERSION MATCHES "^([0-9]{4})[.]([0-9]{3,4})")
|
||||
# First capture group is the year
|
||||
set(PROJECT_YEAR "${CMAKE_MATCH_1}")
|
||||
|
||||
# Second capture group is month/day
|
||||
set(MONTH_DAY "${CMAKE_MATCH_2}")
|
||||
string(LENGTH "${MONTH_DAY}" MONTH_DAY_LENGTH)
|
||||
if(MONTH_DAY_LENGTH EQUAL 3)
|
||||
string(SUBSTRING "${MONTH_DAY}" 0 1 PROJECT_MONTH)
|
||||
string(SUBSTRING "${MONTH_DAY}" 1 2 PROJECT_DAY)
|
||||
elseif(MONTH_DAY_LENGTH EQUAL 4)
|
||||
string(SUBSTRING "${MONTH_DAY}" 0 2 PROJECT_MONTH)
|
||||
string(SUBSTRING "${MONTH_DAY}" 2 2 PROJECT_DAY)
|
||||
endif()
|
||||
|
||||
# Ensure month is two digits
|
||||
if(PROJECT_MONTH LESS 10 AND NOT PROJECT_MONTH MATCHES "^0")
|
||||
set(PROJECT_MONTH "0${PROJECT_MONTH}")
|
||||
endif()
|
||||
# Ensure day is two digits
|
||||
if(PROJECT_DAY LESS 10 AND NOT PROJECT_DAY MATCHES "^0")
|
||||
set(PROJECT_DAY "0${PROJECT_DAY}")
|
||||
endif()
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -12,19 +12,17 @@ elseif(UNIX)
|
|||
# configure the .desktop file
|
||||
set(SUNSHINE_DESKTOP_ICON "sunshine")
|
||||
if(${SUNSHINE_BUILD_APPIMAGE})
|
||||
configure_file(packaging/linux/AppImage/sunshine.desktop sunshine.desktop @ONLY)
|
||||
configure_file(packaging/linux/AppImage/${PROJECT_FQDN}.desktop ${PROJECT_FQDN}.desktop @ONLY)
|
||||
elseif(${SUNSHINE_BUILD_FLATPAK})
|
||||
set(SUNSHINE_DESKTOP_ICON "${PROJECT_FQDN}")
|
||||
configure_file(packaging/linux/flatpak/sunshine.desktop sunshine.desktop @ONLY)
|
||||
configure_file(packaging/linux/flatpak/${PROJECT_FQDN}.metainfo.xml
|
||||
${PROJECT_FQDN}.metainfo.xml @ONLY)
|
||||
configure_file(packaging/linux/flatpak/${PROJECT_FQDN}.desktop ${PROJECT_FQDN}.desktop @ONLY)
|
||||
else()
|
||||
configure_file(packaging/linux/sunshine.desktop sunshine.desktop @ONLY)
|
||||
configure_file(packaging/linux/sunshine_terminal.desktop sunshine_terminal.desktop @ONLY)
|
||||
configure_file(packaging/linux/${PROJECT_FQDN}.desktop ${PROJECT_FQDN}.desktop @ONLY)
|
||||
configure_file(packaging/linux/${PROJECT_FQDN}.terminal.desktop ${PROJECT_FQDN}.terminal.desktop @ONLY)
|
||||
endif()
|
||||
|
||||
# configure metadata file
|
||||
configure_file(packaging/linux/sunshine.appdata.xml sunshine.appdata.xml @ONLY)
|
||||
configure_file(packaging/linux/${PROJECT_FQDN}.metainfo.xml ${PROJECT_FQDN}.metainfo.xml @ONLY)
|
||||
|
||||
# configure service
|
||||
configure_file(packaging/linux/sunshine.service.in sunshine.service @ONLY)
|
||||
|
|
@ -38,8 +36,6 @@ elseif(UNIX)
|
|||
# configure the flatpak manifest
|
||||
if(${SUNSHINE_CONFIGURE_FLATPAK_MAN})
|
||||
configure_file(packaging/linux/flatpak/${PROJECT_FQDN}.yml ${PROJECT_FQDN}.yml @ONLY)
|
||||
configure_file(packaging/linux/flatpak/${PROJECT_FQDN}.metainfo.xml
|
||||
${PROJECT_FQDN}.metainfo.xml @ONLY)
|
||||
file(COPY packaging/linux/flatpak/deps/ DESTINATION ${CMAKE_BINARY_DIR})
|
||||
file(COPY packaging/linux/flatpak/modules DESTINATION ${CMAKE_BINARY_DIR})
|
||||
file(COPY generated-sources.json DESTINATION ${CMAKE_BINARY_DIR})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue