Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
- index 623e2e23..8179c9b6 100644
- --- a/src/CMakeLists.txt
- +++ b/src/CMakeLists.txt
- @@ -469,16 +469,20 @@ if(LINUX)
- if(NOT VERBOSED_NAME)
- set(VERBOSED_NAME ${PROJECT_NAME})
- endif()
- - install(FILES ${DESKTOP_FILE} DESTINATION ${APPS_INSTALL_DIR} RENAME ${VERBOSED_NAME}.desktop)
- + if(VERBOSE_PROGRAM_NAME)
- + include(generate_desktopfile.cmake)
- + else()
- + set(OUT_DESK_FILE "${DESKTOP_FILE}")
- + endif()
- + install(FILES ${OUT_DESK_FILE} DESTINATION ${APPS_INSTALL_DIR} RENAME ${VERBOSED_NAME}.desktop)
- if(IS_PSIPLUS)
- - set(PLUS_LOGO_FILE ${PROJECT_SOURCE_DIR}/iconsets/system/default/psiplus/logo_128.png)
- + set(PSI_LOGO_FILE ${PROJECT_SOURCE_DIR}/iconsets/system/default/psiplus/logo_128.png)
- set(SHARE_SUFF "psi-plus")
- - install(FILES ${PLUS_LOGO_FILE} DESTINATION ${PIXMAPS_INSTALL_DIR} RENAME psi-plus.png)
- else()
- set(PSI_LOGO_FILE ${PROJECT_SOURCE_DIR}/iconsets/system/default/logo_128.png)
- set(SHARE_SUFF "psi")
- - install(FILES ${PSI_LOGO_FILE} DESTINATION ${PIXMAPS_INSTALL_DIR} RENAME psi.png)
- endif()
- + install(FILES ${PSI_LOGO_FILE} DESTINATION ${PIXMAPS_INSTALL_DIR} RENAME ${VERBOSED_NAME}.png)
- set(PROJECT_OUTPUT_DATA_DIR "${DATA_INSTALL_DIR}/${SHARE_SUFF}")
- install(FILES ${PROJECT_SOURCE_DIR}/client_icons.txt DESTINATION ${PROJECT_OUTPUT_DATA_DIR})
- install(DIRECTORY ${OTHER_FILES} DESTINATION ${PROJECT_OUTPUT_DATA_DIR})
- diff --git a/src/generate_desktopfile.cmake b/src/generate_desktopfile.cmake
- new file mode 100644
- index 00000000..24184398
- --- /dev/null
- +++ b/src/generate_desktopfile.cmake
- @@ -0,0 +1,34 @@
- +cmake_minimum_required( VERSION 3.1.0 )
- +
- +if(IS_PSIPLUS)
- + set(NAME_PREFIX "Psi+")
- + set(EXEC_REGEXP "Exec=psi-plus %U")
- + set(NAME_REGEXP "Name=Psi\\+")
- + set(ICON_REGEXP "Icon=psi-plus")
- +else()
- + set(NAME_PREFIX "Psi")
- + set(EXEC_REGEXP "Exec=psi %U")
- + set(NAME_REGEXP "Name=Psi")
- + set(ICON_REGEXP "Icon=psi")
- +endif()
- +set(TMP_DESK_FILE "${CMAKE_CURRENT_BINARY_DIR}/${VERBOSED_NAME}.desktop.in")
- +set(OUT_DESK_FILE "${CMAKE_BINARY_DIR}/${VERBOSED_NAME}.desktop")
- +file(WRITE ${TMP_DESK_FILE} "")
- +file(READ ${DESKTOP_FILE} DESK_FILE_CONTENTS)
- +#hack for desktop file generaion
- +string(REGEX REPLACE "${EXEC_REGEXP}" "Exec=${VERBOSED_NAME} %U" FIX1 ${DESK_FILE_CONTENTS})
- +string(REGEX REPLACE "${ICON_REGEXP}" "Icon=${VERBOSED_NAME}" FIX2 ${FIX1})
- +if(USE_WEBENGINE)
- + string(REGEX REPLACE "${NAME_REGEXP}" "Name=${NAME_PREFIX} Webengine" FIX3 ${FIX2})
- +elseif(ENABLE_WEBKIT)
- + string(REGEX REPLACE "${NAME_REGEXP}" "Name=${NAME_PREFIX} Webkit" FIX3 ${FIX2})
- +endif()
- +if(FIX3)
- + file(APPEND ${TMP_DESK_FILE} "${FIX3}")
- +elseif(FIX2)
- + file(APPEND ${TMP_DESK_FILE} "${FIX2}")
- +else()
- + file(APPEND ${TMP_DESK_FILE} "${FIX1}")
- +endif()
- +configure_file(${TMP_DESK_FILE} ${OUT_DESK_FILE} COPYONLY)
- +message(STATUS "${OUT_DESK_FILE} file generated")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement