diff --git a/CMakeLists.txt b/CMakeLists.txt index 24048b26..4be52589 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -187,29 +187,6 @@ if(BUILD_TESTS AND NOT BUILD_SERVER_STANDALONE) add_subdirectory(tests) endif() -# --- Linux top-level install rules --- -if(UNIX AND NOT APPLE) - # Man pages - if(EXISTS "${CMAKE_SOURCE_DIR}/YACReader.1") - install(FILES YACReader.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) - endif() - if(EXISTS "${CMAKE_SOURCE_DIR}/YACReaderLibrary.1") - install(FILES YACReaderLibrary.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) - endif() - - # Desktop files - if(EXISTS "${CMAKE_SOURCE_DIR}/YACReader.desktop") - install(FILES YACReader.desktop YACReaderLibrary.desktop - DESTINATION ${CMAKE_INSTALL_DATADIR}/applications) - endif() - - # Icons - if(EXISTS "${CMAKE_SOURCE_DIR}/YACReader.svg") - install(FILES YACReader.svg YACReaderLibrary.svg - DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/apps) - endif() -endif() - # Summary message(STATUS "") message(STATUS "YACReader ${PROJECT_VERSION} build configuration:") diff --git a/YACReader/CMakeLists.txt b/YACReader/CMakeLists.txt index 02f3cca5..dd20fed2 100644 --- a/YACReader/CMakeLists.txt +++ b/YACReader/CMakeLists.txt @@ -129,5 +129,15 @@ endif() if(UNIX AND NOT APPLE) target_compile_definitions(YACReader PRIVATE "DATADIR=\"${CMAKE_INSTALL_FULL_DATADIR}\"") + install(TARGETS YACReader RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + install(FILES + "${PROJECT_SOURCE_DIR}/YACReader.1" + DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) + install(FILES + "${PROJECT_SOURCE_DIR}/YACReader.desktop" + DESTINATION ${CMAKE_INSTALL_DATADIR}/applications) + install(FILES + "${PROJECT_SOURCE_DIR}/YACReader.svg" + DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/apps) endif() diff --git a/YACReaderLibrary/CMakeLists.txt b/YACReaderLibrary/CMakeLists.txt index 5fff54c7..97c87db3 100644 --- a/YACReaderLibrary/CMakeLists.txt +++ b/YACReaderLibrary/CMakeLists.txt @@ -303,11 +303,21 @@ if(UNIX AND NOT APPLE) "LIBDIR=\"${CMAKE_INSTALL_FULL_LIBDIR}\"" "DATADIR=\"${CMAKE_INSTALL_FULL_DATADIR}\"" "BINDIR=\"${CMAKE_INSTALL_FULL_BINDIR}\"") + install(TARGETS YACReaderLibrary RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + install(FILES + "${PROJECT_SOURCE_DIR}/YACReaderLibrary.1" + DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) + install(FILES + "${PROJECT_SOURCE_DIR}/YACReaderLibrary.desktop" + DESTINATION ${CMAKE_INSTALL_DATADIR}/applications) + install(FILES + "${PROJECT_SOURCE_DIR}/YACReaderLibrary.svg" + DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/apps) # Server web files (for bundled server mode) if(NOT BUILD_SERVER_STANDALONE) - install(DIRECTORY ${CMAKE_SOURCE_DIR}/release/server + install(DIRECTORY "${PROJECT_SOURCE_DIR}/release/server" DESTINATION ${CMAKE_INSTALL_DATADIR}/yacreader) endif() endif() diff --git a/YACReaderLibraryServer/CMakeLists.txt b/YACReaderLibraryServer/CMakeLists.txt index f4a75169..16df0ac9 100644 --- a/YACReaderLibraryServer/CMakeLists.txt +++ b/YACReaderLibraryServer/CMakeLists.txt @@ -85,11 +85,11 @@ if(UNIX AND NOT APPLE) # Standalone server: install server web files alongside the binary if(BUILD_SERVER_STANDALONE) - install(DIRECTORY ${CMAKE_SOURCE_DIR}/release/server + install(DIRECTORY "${PROJECT_SOURCE_DIR}/release/server" DESTINATION ${CMAKE_INSTALL_DATADIR}/yacreader) endif() # systemd service - install(FILES yacreaderlibraryserver.service + install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/yacreaderlibraryserver.service" DESTINATION ${CMAKE_INSTALL_LIBDIR}/systemd/user) endif()