78 lines
2.5 KiB
CMake
78 lines
2.5 KiB
CMake
include_guard(GLOBAL)
|
|
|
|
include(GNUInstallDirs)
|
|
|
|
if(UNIX AND NOT APPLE)
|
|
set(_qemby_runtime_install_dir "${CMAKE_INSTALL_BINDIR}")
|
|
if(QEMBY_RUNTIME_LIB_SUBDIR)
|
|
set(_qemby_runtime_install_dir
|
|
"${CMAKE_INSTALL_LIBDIR}/${QEMBY_RUNTIME_LIB_SUBDIR}")
|
|
endif()
|
|
|
|
foreach(_qemby_runtime_target IN ITEMS qEmbyApp qEmbyCore QWKCore QWKWidgets)
|
|
if(TARGET "${_qemby_runtime_target}")
|
|
set_target_properties("${_qemby_runtime_target}" PROPERTIES
|
|
INSTALL_RPATH "$ORIGIN"
|
|
)
|
|
endif()
|
|
endforeach()
|
|
|
|
set(_qemby_qwk_install_targets)
|
|
foreach(_qemby_qwk_target IN ITEMS QWKCore QWKWidgets)
|
|
if(TARGET "${_qemby_qwk_target}")
|
|
list(APPEND _qemby_qwk_install_targets "${_qemby_qwk_target}")
|
|
endif()
|
|
endforeach()
|
|
|
|
if(_qemby_qwk_install_targets)
|
|
install(TARGETS ${_qemby_qwk_install_targets}
|
|
LIBRARY DESTINATION "${_qemby_runtime_install_dir}"
|
|
RUNTIME DESTINATION "${_qemby_runtime_install_dir}"
|
|
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
|
)
|
|
endif()
|
|
|
|
if(QEMBY_RUNTIME_LIB_SUBDIR)
|
|
set(_qemby_launcher_exec
|
|
"${CMAKE_INSTALL_LIBDIR}/${QEMBY_RUNTIME_LIB_SUBDIR}/qEmbyApp")
|
|
else()
|
|
set(_qemby_launcher_exec "${CMAKE_INSTALL_BINDIR}/qEmbyApp")
|
|
endif()
|
|
|
|
set(_qemby_launcher "${CMAKE_CURRENT_BINARY_DIR}/qemby")
|
|
file(WRITE "${_qemby_launcher}"
|
|
"#!/bin/sh\n"
|
|
"prefix_dir=$(CDPATH= cd -- \"$(dirname -- \"$0\")/..\" && pwd)\n"
|
|
"exec \"$prefix_dir/${_qemby_launcher_exec}\" \"$@\"\n"
|
|
)
|
|
install(PROGRAMS "${_qemby_launcher}"
|
|
DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
|
)
|
|
|
|
set(_qemby_desktop_file "${CMAKE_CURRENT_BINARY_DIR}/qemby.desktop")
|
|
file(WRITE "${_qemby_desktop_file}"
|
|
"[Desktop Entry]\n"
|
|
"Type=Application\n"
|
|
"Name=qEmby\n"
|
|
"Comment=Desktop client for Emby and Jellyfin media servers\n"
|
|
"Exec=qemby\n"
|
|
"Icon=qemby\n"
|
|
"Terminal=false\n"
|
|
"Categories=AudioVideo;Video;Player;\n"
|
|
)
|
|
install(FILES "${_qemby_desktop_file}"
|
|
DESTINATION "${CMAKE_INSTALL_DATADIR}/applications"
|
|
)
|
|
|
|
install(FILES "${CMAKE_SOURCE_DIR}/src/qEmbyApp/resources/svg/qemby_logo.svg"
|
|
DESTINATION "${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/apps"
|
|
RENAME qemby.svg
|
|
)
|
|
endif()
|
|
|
|
set(CPACK_PACKAGE_NAME "${PROJECT_NAME}")
|
|
set(CPACK_PACKAGE_VERSION "${PROJECT_VERSION}")
|
|
set(CPACK_PACKAGE_VENDOR "qEmby")
|
|
|
|
include(CPack)
|