diff --git a/cmake/FindIntltool.cmake b/cmake/FindIntltool.cmake new file mode 100644 index 00000000..45318c4b --- /dev/null +++ b/cmake/FindIntltool.cmake @@ -0,0 +1,23 @@ +# FindIntltool.cmake +# +# Jim Nelson +# Copyright 2012 Yorba Foundation + +find_program (INTLTOOL_MERGE_EXECUTABLE intltool-merge) + +if (INTLTOOL_MERGE_EXECUTABLE) + set (INTLTOOL_MERGE_FOUND TRUE) +else (INTLTOOL_MERGE_EXECUTABLE) + set (INTLTOOL_MERGE_FOUND FALSE) +endif (INTLTOOL_MERGE_EXECUTABLE) + +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 + ) + install (FILES ${CMAKE_CURRENT_BINARY_DIR}/geary.desktop DESTINATION /usr/share/applications) + endmacro (INTLTOOL_MERGE_DESKTOP desktop_id po_dir) +endif (INTLTOOL_MERGE_FOUND) + diff --git a/desktop/CMakeLists.txt b/desktop/CMakeLists.txt index 8173aaee..ac2ef700 100644 --- a/desktop/CMakeLists.txt +++ b/desktop/CMakeLists.txt @@ -1,7 +1,12 @@ # -# Install geary.desktop +# Build and install geary.desktop # -install(FILES geary.desktop DESTINATION /usr/share/applications) + +include (FindIntltool) +if (INTLTOOL_MERGE_FOUND) + INTLTOOL_MERGE_DESKTOP (geary po) +endif (INTLTOOL_MERGE_FOUND) + if (LIBINDICATE_FOUND) install(FILES geary DESTINATION /usr/share/indicators/messages/applications) endif () diff --git a/desktop/geary.desktop b/desktop/geary.desktop.in similarity index 74% rename from desktop/geary.desktop rename to desktop/geary.desktop.in index fdc361a3..e0e587c7 100644 --- a/desktop/geary.desktop +++ b/desktop/geary.desktop.in @@ -1,7 +1,7 @@ [Desktop Entry] -Name=Geary Mail -GenericName=Mail Client -Comment=Send and receive email +_Name=Geary Mail +_GenericName=Mail Client +_Comment=Send and receive email Icon=geary TryExec=geary Exec=geary %U @@ -13,7 +13,7 @@ StartupNotify=true Actions=Compose; [Desktop Action Compose] -Name=Compose Message +_Name=Compose Message Exec=geary mailto: OnlyShowIn=X-Messaging Menu;Unity; diff --git a/src/client/geary-application.vala b/src/client/geary-application.vala index ca2e3bb9..5f5c8ea1 100644 --- a/src/client/geary-application.vala +++ b/src/client/geary-application.vala @@ -452,7 +452,7 @@ along with Geary; if not, write to the Free Software Foundation, Inc., public File? get_desktop_file() { File desktop_file = is_installed() ? system_desktop_file_directory.get_child("geary.desktop") - : File.new_for_path(SOURCE_ROOT_DIR).get_child("desktop/geary.desktop"); + : File.new_for_path(SOURCE_ROOT_DIR).get_child("build").get_child("desktop").get_child("geary.desktop"); return desktop_file.query_exists() ? desktop_file : null; }