From 8dfc9d8a6a97869e7ab55008551493cd399f086b Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 30 Mar 2019 10:00:03 +0100 Subject: [PATCH] Fix Install locations on Linux --- CMakeLists.txt | 15 +++++++++++++-- MinetestMapperGUI.desktop | 10 ---------- MinetestMapperGui.in.desktop | 10 ++++++++++ 3 files changed, 23 insertions(+), 12 deletions(-) delete mode 100644 MinetestMapperGUI.desktop create mode 100644 MinetestMapperGui.in.desktop diff --git a/CMakeLists.txt b/CMakeLists.txt index 6775a17..8fce7d8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -141,6 +141,13 @@ if(WIN32) set(INSTALL_RUNTIME_DIR ".") endif() +if(UNIX) + set(ICON_DIR "/usr/local/share/icons/hicolor/scalable/apps") + if(BUILD_PORTABLE) + set(ICON_DIR ".") + endif() + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/MinetestMapperGui.in.desktop" "${CMAKE_CURRENT_BINARY_DIR}/MinetestMapperGui.desktop") +endif() set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION ${INSTALL_RUNTIME_DIR}) include(InstallRequiredSystemLibraries) @@ -181,8 +188,12 @@ if(WIN32) CONFIGURATIONS RelWithDebInfo FILES_MATCHING PATTERN "*.dll") elseif(UNIX) - install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/images/icon.svg" DESTINATION "/usr/local/share/icons/hicolor/scalable/apps" RENAME "MinetestMapperGUI.svg") - install(FILES "MinetestMapperGUI.desktop" DESTINATION "/usr/share/applications") + if(BUILD_PORTABLE) + # .desktop files does not support relative paths. + else() + install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/images/icon.svg" DESTINATION "${ICON_DIR}" RENAME "${PROJECT_NAME}.svg") + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/MinetestMapperGui.desktop" DESTINATION "/usr/share/applications") + endif() endif() include(CPack) diff --git a/MinetestMapperGUI.desktop b/MinetestMapperGUI.desktop deleted file mode 100644 index f7e3900..0000000 --- a/MinetestMapperGUI.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Version=1.0 -Type=Application -Terminal=false -Name=MinetestMapperGUI -Comment=Graphical userinterface for MinetestMapper -TryExec=MinetestMapperGUI -Exec=MinetestMapperGUI -Icon=/usr/local/share/icons/hicolor/scalable/apps/MinetestMapperGUI.svg -Categories=Utility;Application; diff --git a/MinetestMapperGui.in.desktop b/MinetestMapperGui.in.desktop new file mode 100644 index 0000000..954a4fb --- /dev/null +++ b/MinetestMapperGui.in.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Version=${PROJECT_VERSION} +Type=Application +Terminal=false +Name=${PROJECT_NAME} +Comment=${PROJECT_DESCRIPTION} +TryExec=${PROJECT_NAME} +Exec=${PROJECT_NAME} +Icon=${ICON_DIR}/${PROJECT_NAME}.svg +Categories=Utility;Application;