Allow using templated appdata body

This commit is contained in:
Martchus 2018-02-21 21:55:52 +01:00
parent 4da48b0546
commit 989d1d20c8
2 changed files with 20 additions and 5 deletions

View File

@ -234,14 +234,25 @@ function(add_desktop_file)
"${META_PROJECT_NAME}"
"${DESKTOP_FILE_ADDITIONAL_ENTRIES}"
)
# create appstream desktop file from template
# read body for appstream desktop file from resources
set(META_APP_APPDATA_BODY_FILE "${CMAKE_CURRENT_SOURCE_DIR}/resources/body.appdata.xml")
if(EXISTS META_APP_APPDATA_BODY_FILE)
file(READ "${META_APP_APPIMAGE_BODY_FILE}" META_APP_APPDATA_BODY)
set(META_APP_APPDATA_SUBSTITUTED_BODY_FILE "${CMAKE_CURRENT_BINARY_DIR}/resources/${META_ID}.body.appdata.xml")
if(EXISTS "${META_APP_APPDATA_BODY_FILE}")
configure_file(
"${META_APP_APPDATA_BODY_FILE}"
"${META_APP_APPDATA_SUBSTITUTED_BODY_FILE}"
@ONLY
)
file(READ "${META_APP_APPDATA_SUBSTITUTED_BODY_FILE}" META_APP_APPDATA_BODY)
# add indentation of two additional spaces
string(REGEX REPLACE "\n([^$])" "\n \\1" META_APP_APPDATA_BODY "${META_APP_APPDATA_BODY}")
endif()
# create appstream desktop file from template
configure_file(
"${APP_APPSTREAM_TEMPLATE_FILE}"
"${CMAKE_CURRENT_BINARY_DIR}/resources/${META_ID}.appdata.xml"
@ONLY
)
# add install for the appstream file
install(

View File

@ -5,10 +5,14 @@
<project_license>@META_PROJECT_LICENSE@</project_license>
<name>@META_APP_NAME@</name>
<summary>@META_APP_DESCRIPTION@</summary>
@META_APP_APPDATA_BODY@<url type="homepage">@META_APP_URL@</url>
@META_APP_APPDATA_BODY@
<url type="homepage">@META_APP_URL@</url>
<url type="bugtracker">@META_APP_BUGTRACKER_URL@</url>
<developer_name>@META_APP_AUTHOR@</developer_name>
<provides>
<binary>@TARGET_PREFIX@@META_PROJECT_NAME@@TARGET_SUFFIX@</binary>
</provides>
<developer_name>@META_APP_AUTHOR@</developer_name>
<releases>
<release version="@META_APP_VERSION@"/>
</releases>
</component>