Advertisement
Guest User

desktop generator

a guest
Jan 23rd, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 3.10 KB | None | 0 0
  1. diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
  2. index 623e2e23..8179c9b6 100644
  3. --- a/src/CMakeLists.txt
  4. +++ b/src/CMakeLists.txt
  5. @@ -469,16 +469,20 @@ if(LINUX)
  6.          if(NOT VERBOSED_NAME)
  7.              set(VERBOSED_NAME ${PROJECT_NAME})
  8.          endif()
  9. -        install(FILES ${DESKTOP_FILE} DESTINATION ${APPS_INSTALL_DIR} RENAME ${VERBOSED_NAME}.desktop)
  10. +        if(VERBOSE_PROGRAM_NAME)
  11. +            include(generate_desktopfile.cmake)
  12. +        else()
  13. +            set(OUT_DESK_FILE "${DESKTOP_FILE}")
  14. +        endif()
  15. +        install(FILES ${OUT_DESK_FILE} DESTINATION ${APPS_INSTALL_DIR} RENAME ${VERBOSED_NAME}.desktop)
  16.          if(IS_PSIPLUS)
  17. -            set(PLUS_LOGO_FILE ${PROJECT_SOURCE_DIR}/iconsets/system/default/psiplus/logo_128.png)
  18. +            set(PSI_LOGO_FILE ${PROJECT_SOURCE_DIR}/iconsets/system/default/psiplus/logo_128.png)
  19.              set(SHARE_SUFF "psi-plus")
  20. -            install(FILES ${PLUS_LOGO_FILE} DESTINATION ${PIXMAPS_INSTALL_DIR} RENAME psi-plus.png)
  21.          else()
  22.              set(PSI_LOGO_FILE ${PROJECT_SOURCE_DIR}/iconsets/system/default/logo_128.png)
  23.              set(SHARE_SUFF "psi")
  24. -            install(FILES ${PSI_LOGO_FILE} DESTINATION ${PIXMAPS_INSTALL_DIR} RENAME psi.png)
  25.          endif()
  26. +        install(FILES ${PSI_LOGO_FILE} DESTINATION ${PIXMAPS_INSTALL_DIR} RENAME ${VERBOSED_NAME}.png)
  27.          set(PROJECT_OUTPUT_DATA_DIR "${DATA_INSTALL_DIR}/${SHARE_SUFF}")
  28.          install(FILES ${PROJECT_SOURCE_DIR}/client_icons.txt DESTINATION ${PROJECT_OUTPUT_DATA_DIR})
  29.          install(DIRECTORY ${OTHER_FILES} DESTINATION ${PROJECT_OUTPUT_DATA_DIR})
  30. diff --git a/src/generate_desktopfile.cmake b/src/generate_desktopfile.cmake
  31. new file mode 100644
  32. index 00000000..24184398
  33. --- /dev/null
  34. +++ b/src/generate_desktopfile.cmake
  35. @@ -0,0 +1,34 @@
  36. +cmake_minimum_required( VERSION 3.1.0 )
  37. +
  38. +if(IS_PSIPLUS)
  39. +    set(NAME_PREFIX "Psi+")
  40. +    set(EXEC_REGEXP "Exec=psi-plus %U")
  41. +    set(NAME_REGEXP "Name=Psi\\+")
  42. +    set(ICON_REGEXP "Icon=psi-plus")
  43. +else()
  44. +    set(NAME_PREFIX "Psi")
  45. +    set(EXEC_REGEXP "Exec=psi %U")
  46. +    set(NAME_REGEXP "Name=Psi")
  47. +    set(ICON_REGEXP "Icon=psi")
  48. +endif()
  49. +set(TMP_DESK_FILE "${CMAKE_CURRENT_BINARY_DIR}/${VERBOSED_NAME}.desktop.in")
  50. +set(OUT_DESK_FILE "${CMAKE_BINARY_DIR}/${VERBOSED_NAME}.desktop")
  51. +file(WRITE ${TMP_DESK_FILE} "")
  52. +file(READ ${DESKTOP_FILE} DESK_FILE_CONTENTS)
  53. +#hack for desktop file generaion
  54. +string(REGEX REPLACE "${EXEC_REGEXP}" "Exec=${VERBOSED_NAME} %U" FIX1 ${DESK_FILE_CONTENTS})
  55. +string(REGEX REPLACE "${ICON_REGEXP}" "Icon=${VERBOSED_NAME}" FIX2 ${FIX1})
  56. +if(USE_WEBENGINE)
  57. +    string(REGEX REPLACE "${NAME_REGEXP}" "Name=${NAME_PREFIX} Webengine" FIX3 ${FIX2})
  58. +elseif(ENABLE_WEBKIT)
  59. +    string(REGEX REPLACE "${NAME_REGEXP}" "Name=${NAME_PREFIX} Webkit" FIX3 ${FIX2})
  60. +endif()
  61. +if(FIX3)
  62. +    file(APPEND ${TMP_DESK_FILE} "${FIX3}")
  63. +elseif(FIX2)
  64. +    file(APPEND ${TMP_DESK_FILE} "${FIX2}")
  65. +else()
  66. +    file(APPEND ${TMP_DESK_FILE} "${FIX1}")
  67. +endif()
  68. +configure_file(${TMP_DESK_FILE} ${OUT_DESK_FILE} COPYONLY)
  69. +message(STATUS "${OUT_DESK_FILE} file generated")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement