Better linux install handling

This commit is contained in:
luisangelsm
2026-03-29 23:28:47 +02:00
parent 268b23376b
commit 4376a89876
4 changed files with 23 additions and 26 deletions

View File

@ -187,29 +187,6 @@ if(BUILD_TESTS AND NOT BUILD_SERVER_STANDALONE)
add_subdirectory(tests) add_subdirectory(tests)
endif() 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 # Summary
message(STATUS "") message(STATUS "")
message(STATUS "YACReader ${PROJECT_VERSION} build configuration:") message(STATUS "YACReader ${PROJECT_VERSION} build configuration:")

View File

@ -129,5 +129,15 @@ endif()
if(UNIX AND NOT APPLE) if(UNIX AND NOT APPLE)
target_compile_definitions(YACReader PRIVATE target_compile_definitions(YACReader PRIVATE
"DATADIR=\"${CMAKE_INSTALL_FULL_DATADIR}\"") "DATADIR=\"${CMAKE_INSTALL_FULL_DATADIR}\"")
install(TARGETS YACReader RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) 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() endif()

View File

@ -303,11 +303,21 @@ if(UNIX AND NOT APPLE)
"LIBDIR=\"${CMAKE_INSTALL_FULL_LIBDIR}\"" "LIBDIR=\"${CMAKE_INSTALL_FULL_LIBDIR}\""
"DATADIR=\"${CMAKE_INSTALL_FULL_DATADIR}\"" "DATADIR=\"${CMAKE_INSTALL_FULL_DATADIR}\""
"BINDIR=\"${CMAKE_INSTALL_FULL_BINDIR}\"") "BINDIR=\"${CMAKE_INSTALL_FULL_BINDIR}\"")
install(TARGETS YACReaderLibrary RUNTIME DESTINATION ${CMAKE_INSTALL_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) # Server web files (for bundled server mode)
if(NOT BUILD_SERVER_STANDALONE) if(NOT BUILD_SERVER_STANDALONE)
install(DIRECTORY ${CMAKE_SOURCE_DIR}/release/server install(DIRECTORY "${PROJECT_SOURCE_DIR}/release/server"
DESTINATION ${CMAKE_INSTALL_DATADIR}/yacreader) DESTINATION ${CMAKE_INSTALL_DATADIR}/yacreader)
endif() endif()
endif() endif()

View File

@ -85,11 +85,11 @@ if(UNIX AND NOT APPLE)
# Standalone server: install server web files alongside the binary # Standalone server: install server web files alongside the binary
if(BUILD_SERVER_STANDALONE) if(BUILD_SERVER_STANDALONE)
install(DIRECTORY ${CMAKE_SOURCE_DIR}/release/server install(DIRECTORY "${PROJECT_SOURCE_DIR}/release/server"
DESTINATION ${CMAKE_INSTALL_DATADIR}/yacreader) DESTINATION ${CMAKE_INSTALL_DATADIR}/yacreader)
endif() endif()
# systemd service # systemd service
install(FILES yacreaderlibraryserver.service install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/yacreaderlibraryserver.service"
DESTINATION ${CMAKE_INSTALL_LIBDIR}/systemd/user) DESTINATION ${CMAKE_INSTALL_LIBDIR}/systemd/user)
endif() endif()