mirror of
https://github.com/YACReader/yacreader
synced 2026-04-12 15:49:53 -04:00
Better linux install handling
This commit is contained in:
@ -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:")
|
||||
|
||||
@ -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()
|
||||
|
||||
@ -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()
|
||||
|
||||
@ -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()
|
||||
|
||||
Reference in New Issue
Block a user