[client,common] add WITH_INSTALL_CLIENT_DESKTOP_FILES
This new CMake option allows installing .desktop files and application icons if turned on.
This commit is contained in:
parent
5538681fc3
commit
c377b0ce86
@ -18,6 +18,7 @@
|
|||||||
# Clients
|
# Clients
|
||||||
|
|
||||||
include(CMakeDependentOption)
|
include(CMakeDependentOption)
|
||||||
|
include(InstallFreeRDPDesktop)
|
||||||
|
|
||||||
if(WITH_CLIENT_COMMON)
|
if(WITH_CLIENT_COMMON)
|
||||||
add_subdirectory(common)
|
add_subdirectory(common)
|
||||||
|
@ -77,5 +77,6 @@ if (NOT WITH_CLIENT_SDL_VERSIONED)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT client)
|
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT client)
|
||||||
|
install_freerdp_desktop("${MODULE_NAME}")
|
||||||
|
|
||||||
add_subdirectory(man)
|
add_subdirectory(man)
|
||||||
|
@ -76,5 +76,6 @@ if (NOT WITH_CLIENT_SDL_VERSIONED)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT client)
|
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT client)
|
||||||
|
install_freerdp_desktop("${MODULE_NAME}" "${MODULE_NAME}")
|
||||||
|
|
||||||
add_subdirectory(man)
|
add_subdirectory(man)
|
||||||
|
@ -56,3 +56,4 @@ target_link_libraries(${PROJECT_NAME} PRIVATE ${LIBS})
|
|||||||
|
|
||||||
set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER "Client/Sample")
|
set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER "Client/Sample")
|
||||||
install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT client)
|
install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT client)
|
||||||
|
install_freerdp_desktop("${PROJECT_NAME}")
|
||||||
|
@ -29,6 +29,7 @@ list(APPEND LIBS
|
|||||||
target_link_libraries(${MODULE_NAME} PRIVATE ${LIBS})
|
target_link_libraries(${MODULE_NAME} PRIVATE ${LIBS})
|
||||||
|
|
||||||
install(TARGETS ${MODULE_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT client)
|
install(TARGETS ${MODULE_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT client)
|
||||||
|
install_freerdp_desktop("${MODULE_NAME}")
|
||||||
|
|
||||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Client/X11")
|
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Client/X11")
|
||||||
|
|
||||||
|
39
cmake/InstallFreeRDPDesktop.cmake
Normal file
39
cmake/InstallFreeRDPDesktop.cmake
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
|
option(WITH_INSTALL_CLIENT_DESKTOP_FILES "Install .desktop files for clients" OFF)
|
||||||
|
|
||||||
|
set(DESKTOP_RESOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/../resources" CACHE INTERNAL "")
|
||||||
|
|
||||||
|
function(install_freerdp_desktop name)
|
||||||
|
if(WITH_INSTALL_CLIENT_DESKTOP_FILES)
|
||||||
|
get_target_property(FREERDP_APP_NAME ${name} OUTPUT_NAME)
|
||||||
|
set(FREERDP_BIN_NAME "${CMAKE_INSTALL_FULL_BINDIR}/${FREERDP_APP_NAME}")
|
||||||
|
set(FREERDP_DESKTOP_NAME "${CMAKE_CURRENT_BINARY_DIR}/${FREERDP_BIN_NAME}.desktop")
|
||||||
|
set(FREERDP_DESKTOP_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/${FREERDP_BIN_NAME}-file.desktop")
|
||||||
|
configure_file(
|
||||||
|
${DESKTOP_RESOURCE_DIR}/freerdp.desktop.template
|
||||||
|
${FREERDP_DESKTOP_NAME}
|
||||||
|
@ONLY
|
||||||
|
)
|
||||||
|
configure_file(
|
||||||
|
${DESKTOP_RESOURCE_DIR}/freerdp-file.desktop.template
|
||||||
|
${FREERDP_DESKTOP_FILE_NAME}
|
||||||
|
@ONLY
|
||||||
|
)
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
${FREERDP_DESKTOP_NAME}
|
||||||
|
${FREERDP_DESKTOP_FILE_NAME}
|
||||||
|
DESTINATION
|
||||||
|
${CMAKE_INSTALL_DATAROOTDIR}/applications
|
||||||
|
)
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
${DESKTOP_RESOURCE_DIR}/FreeRDP_Icon.svg
|
||||||
|
DESTINATION
|
||||||
|
${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps
|
||||||
|
RENAME
|
||||||
|
FreeRDP.svg
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
endfunction()
|
16
resources/freerdp-file.desktop.template
Normal file
16
resources/freerdp-file.desktop.template
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Version=1.0
|
||||||
|
Type=Application
|
||||||
|
Name=@FREERDP_APP_NAME@
|
||||||
|
Comment=Access remote desktops with FreeRDP
|
||||||
|
Categories=GTK;GNOME;X-GNOME-NetworkSettings;Network;
|
||||||
|
Keywords=remote desktop;rdp;
|
||||||
|
TryExec=@FREERDP_BIN_NAME@
|
||||||
|
Exec=@FREERDP_BIN_NAME@ %U
|
||||||
|
Icon=FreeRDP
|
||||||
|
MimeType=x-scheme-handler/rdp;
|
||||||
|
Actions=Edit;
|
||||||
|
Terminal=true
|
||||||
|
StartupNotify=true
|
||||||
|
NoDisplay=true
|
||||||
|
X-Desktop-File-Install-Version=0.24
|
14
resources/freerdp.desktop.template
Normal file
14
resources/freerdp.desktop.template
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Name=@FREERDP_APP_NAME@
|
||||||
|
X-GNOME-FullName=FreeRDP Remote Desktop Client
|
||||||
|
GenericName=FreeRDP RDP Client
|
||||||
|
Comment=Connect to RDP servers for remote work or administration
|
||||||
|
Exec=@FREERDP_BIN_NAME@
|
||||||
|
Icon=FreeRDP
|
||||||
|
Terminal=true
|
||||||
|
Type=Application
|
||||||
|
Keywords=remote desktop;rdp;
|
||||||
|
Categories=GTK;GNOME;X-GNOME-NetworkSettings;Network;
|
||||||
|
MimeType=x-scheme-handler/rdp;
|
||||||
|
StartupNotify=true
|
||||||
|
StartupWMClass=com.freerdp.FreeRDP
|
Loading…
Reference in New Issue
Block a user