diff --git a/cmake/FindDesktopFileValidate.cmake b/cmake/FindDesktopFileValidate.cmake index 250c8380..0672d616 100644 --- a/cmake/FindDesktopFileValidate.cmake +++ b/cmake/FindDesktopFileValidate.cmake @@ -13,8 +13,8 @@ endif (DESKTOP_FILE_VALIDATE_EXECUTABLE) if (DESKTOP_FILE_VALIDATE_FOUND) macro (VALIDATE_DESKTOP_FILE desktop_id) - add_custom_command (TARGET ${desktop_id}.desktop POST_BUILD - COMMAND ${DESKTOP_FILE_VALIDATE_EXECUTABLE} ${desktop_id}.desktop + add_custom_command (TARGET ${desktop_id} POST_BUILD + COMMAND ${DESKTOP_FILE_VALIDATE_EXECUTABLE} ${desktop_id} ) endmacro (VALIDATE_DESKTOP_FILE desktop_id) endif (DESKTOP_FILE_VALIDATE_FOUND) diff --git a/cmake/FindIntltool.cmake b/cmake/FindIntltool.cmake index 067b3604..44c3c921 100644 --- a/cmake/FindIntltool.cmake +++ b/cmake/FindIntltool.cmake @@ -15,21 +15,21 @@ if (INTLTOOL_MERGE_FOUND) macro (INTLTOOL_MERGE_DESKTOP desktop_id po_dir) add_custom_target (geary.desktop ALL ${INTLTOOL_MERGE_EXECUTABLE} --desktop-style ${CMAKE_SOURCE_DIR}/${po_dir} - ${CMAKE_CURRENT_SOURCE_DIR}/${desktop_id}.desktop.in ${desktop_id}.desktop + ${CMAKE_CURRENT_SOURCE_DIR}/${desktop_id}.in ${desktop_id} ) install (FILES ${CMAKE_CURRENT_BINARY_DIR}/geary.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications) endmacro (INTLTOOL_MERGE_DESKTOP desktop_id po_dir) macro (INTLTOOL_MERGE_AUTOSTART_DESKTOP desktop_id po_dir) add_custom_target (geary-autostart.desktop ALL ${INTLTOOL_MERGE_EXECUTABLE} --desktop-style ${CMAKE_SOURCE_DIR}/${po_dir} - ${CMAKE_CURRENT_SOURCE_DIR}/${desktop_id}.desktop.in ${desktop_id}.desktop + ${CMAKE_CURRENT_SOURCE_DIR}/${desktop_id}.in ${desktop_id} ) install (FILES ${CMAKE_CURRENT_BINARY_DIR}/geary-autostart.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications) endmacro (INTLTOOL_MERGE_AUTOSTART_DESKTOP desktop_id po_dir) macro (INTLTOOL_MERGE_CONTRACT desktop_id po_dir) add_custom_target (geary-attach.contract ALL ${INTLTOOL_MERGE_EXECUTABLE} --desktop-style ${CMAKE_SOURCE_DIR}/${po_dir} - ${CMAKE_CURRENT_SOURCE_DIR}/${desktop_id}.contract.in ${desktop_id}.contract + ${CMAKE_CURRENT_SOURCE_DIR}/${desktop_id}.in ${desktop_id} ) install (FILES ${CMAKE_CURRENT_BINARY_DIR}/geary-attach.contract DESTINATION ${CMAKE_INSTALL_PREFIX}/share/contractor) endmacro (INTLTOOL_MERGE_CONTRACT desktop_id po_dir) diff --git a/desktop/CMakeLists.txt b/desktop/CMakeLists.txt index 127911f5..f61e912c 100644 --- a/desktop/CMakeLists.txt +++ b/desktop/CMakeLists.txt @@ -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)