runtime: Fix where desktop file and icon are installed (#7072)

With `xdg-*` utilities CMAKE_INSTALL_PREFIX is incorrectly ignored.

Taken from [nvim-qt][1]. For some reason it only checks for !APPLE.

[1]: b26596d164/src/gui/CMakeLists.txt (L48-L55)
This commit is contained in:
Nikolai Aleksandrovich Pavlov 2017-07-27 04:52:22 +03:00 committed by Justin M. Keyes
parent a2dc33ba19
commit 861ba1ddd4

View File

@ -100,20 +100,6 @@ add_custom_target(
${GENERATED_PACKAGE_TAGS} ${GENERATED_PACKAGE_TAGS}
) )
# Optional targets for nvim.desktop file and icon.
find_program(XDG_MENU_PRG xdg-desktop-menu)
find_program(XDG_ICON_PRG xdg-icon-resource)
if(XDG_MENU_PRG)
add_custom_target(desktop-file
COMMAND xdg-desktop-menu install --novendor ${PROJECT_SOURCE_DIR}/runtime/nvim.desktop)
# add_dependencies(runtime desktop-file)
endif()
if(XDG_ICON_PRG)
add_custom_target(desktop-icon
COMMAND xdg-icon-resource install --novendor --size 128 ${PROJECT_SOURCE_DIR}/runtime/nvim.png)
# add_dependencies(runtime desktop-icon)
endif()
# CMake is painful here. It will create the destination using the user's # CMake is painful here. It will create the destination using the user's
# current umask, and we don't want that. And we don't just want to install # current umask, and we don't want that. And we don't just want to install
# the target directory, as it will mess with existing permissions. So this # the target directory, as it will mess with existing permissions. So this
@ -128,6 +114,16 @@ install_helper(
FILES ${GENERATED_SYN_VIM} FILES ${GENERATED_SYN_VIM}
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/nvim/runtime/syntax/vim) DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/nvim/runtime/syntax/vim)
if(NOT APPLE)
install_helper(
FILES ${CMAKE_CURRENT_SOURCE_DIR}/nvim.desktop
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications)
install_helper(
FILES ${CMAKE_CURRENT_SOURCE_DIR}/nvim.png
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pixmaps)
endif()
file(GLOB_RECURSE RUNTIME_PROGRAMS file(GLOB_RECURSE RUNTIME_PROGRAMS
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
*.awk *.sh *.bat) *.awk *.sh *.bat)