diff --git a/cmake/modules/AppUtilities.cmake b/cmake/modules/AppUtilities.cmake index 3077f98..d6a1fc0 100644 --- a/cmake/modules/AppUtilities.cmake +++ b/cmake/modules/AppUtilities.cmake @@ -72,6 +72,14 @@ function (add_appstream_file) FILES "${APPSTREAM_FILE}" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo" COMPONENT appimage) + + # add test + find_program(APPSTREAMCLI_BIN "appstreamcli") + if (NOT APPSTREAMCLI_BIN) + message(STATUS "Could not find appstreamcli; won't add test/target to validate appstream files") + else () + add_test(NAME "${META_TARGET_NAME}_appstream_validation" COMMAND "${APPSTREAMCLI_BIN}" validate "${APPSTREAM_FILE}") + endif () endfunction () # define function to add *.desktop file and meta info from project meta data diff --git a/cmake/modules/BasicConfig.cmake b/cmake/modules/BasicConfig.cmake index 5e8a1ff..5de5f29 100644 --- a/cmake/modules/BasicConfig.cmake +++ b/cmake/modules/BasicConfig.cmake @@ -503,7 +503,7 @@ endif () # add autotools-style check target if (NOT TARGET check) - set(CMAKE_CTEST_COMMAND ${CMAKE_CTEST_COMMAND} -V) + set(CMAKE_CTEST_COMMAND ${CMAKE_CTEST_COMMAND} -V -E ".*appstream.*") add_custom_target( check COMMAND ${CMAKE_CTEST_COMMAND}