Fix cmake warning CMP0040 in cmake/FindDesktopFileValidate.cmake.

* desktop/CMakeLists.txt: Fix name of Elementary Contractor desktop file
  and disable Desktop file validation for it since it doesn't actually
  validate.

* cmake/FindDesktopFileValidate.cmake, cmake/FindIntltool.cmake: Don't
  assume XDG Desktop files are named ".desktop" - they aren't for
  Elementary's Contractor. Require callers to pass the full name in, fix
  call sites.
This commit is contained in:
Michael James Gratton 2016-08-11 18:27:01 +10:00
parent 979f3b9029
commit 4a2ba1446d
3 changed files with 23 additions and 18 deletions

View file

@ -7,13 +7,13 @@ install(FILES geary.appdata.xml DESTINATION share/appdata)
include (FindIntltool)
include (FindDesktopFileValidate)
if (INTLTOOL_MERGE_FOUND)
INTLTOOL_MERGE_DESKTOP (geary po)
INTLTOOL_MERGE_AUTOSTART_DESKTOP (geary-autostart po)
INTLTOOL_MERGE_DESKTOP (geary.desktop po)
INTLTOOL_MERGE_AUTOSTART_DESKTOP (geary-autostart.desktop po)
if (DESKTOP_VALIDATE)
if (DESKTOP_FILE_VALIDATE_FOUND)
VALIDATE_DESKTOP_FILE (geary)
VALIDATE_DESKTOP_FILE (geary-autostart)
VALIDATE_DESKTOP_FILE (geary.desktop)
VALIDATE_DESKTOP_FILE (geary-autostart.desktop)
else (DESKTOP_FILE_VALIDATE_FOUND)
message (FATAL_ERROR "desktop-file-validate must be installed to validate generated .desktop file")
endif (DESKTOP_FILE_VALIDATE_FOUND)
@ -50,15 +50,20 @@ if (DISABLE_CONTRACT)
else (DISABLE_CONTRACT)
message (STATUS "Install Contractor contract: ON")
if (INTLTOOL_MERGE_FOUND)
INTLTOOL_MERGE_CONTRACT (geary-attach po)
if (DESKTOP_VALIDATE)
if (DESKTOP_FILE_VALIDATE_FOUND)
VALIDATE_DESKTOP_FILE (geary-attach)
else (DESKTOP_FILE_VALIDATE_FOUND)
message (FATAL_ERROR "desktop-file-validate must be installed to validate generated .desktop file")
endif (DESKTOP_FILE_VALIDATE_FOUND)
endif (DESKTOP_VALIDATE)
INTLTOOL_MERGE_CONTRACT (geary-attach.contract po)
# Can't validate Contractor file since it isn't a valid Desktop
# file according to desktop-file-validate from desktop-file-utils 0.22:
# - geary-attach.contract: error: first group is not "Desktop Entry"
# - geary-attach.contract: error: file contains group "Contractor Entry",
# but groups extending the format should start with "X-"
# - geary-attach.contract: error: filename does not have a .desktop extension
#
# if (DESKTOP_VALIDATE)
# if (DESKTOP_FILE_VALIDATE_FOUND)
# VALIDATE_DESKTOP_FILE (geary-attach.contract)
# endif (DESKTOP_FILE_VALIDATE_FOUND)
# endif (DESKTOP_VALIDATE)
endif (INTLTOOL_MERGE_FOUND)
install (PROGRAMS geary-attach DESTINATION bin)
endif (DISABLE_CONTRACT)