mirror of
https://github.com/YACReader/yacreader
synced 2026-03-01 10:22:58 -05:00
95 lines
2.6 KiB
CMake
95 lines
2.6 KiB
CMake
# YACReaderLibraryServer - Headless REST server
|
|
|
|
qt_add_executable(YACReaderLibraryServer
|
|
main.cpp
|
|
console_ui_library_creator.h
|
|
console_ui_library_creator.cpp
|
|
libraries_updater.h
|
|
libraries_updater.cpp
|
|
)
|
|
|
|
target_include_directories(YACReaderLibraryServer PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${CMAKE_SOURCE_DIR}/YACReaderLibrary
|
|
${CMAKE_SOURCE_DIR}/YACReaderLibrary/db
|
|
)
|
|
|
|
target_compile_definitions(YACReaderLibraryServer PRIVATE
|
|
SERVER_RELEASE
|
|
YACREADER_LIBRARY
|
|
)
|
|
|
|
# Resources
|
|
qt_add_resources(yacreaderlibraryserver_images_rcc "${CMAKE_CURRENT_SOURCE_DIR}/images.qrc")
|
|
target_sources(YACReaderLibraryServer PRIVATE ${yacreaderlibraryserver_images_rcc})
|
|
|
|
# Translations
|
|
qt_add_translations(YACReaderLibraryServer
|
|
TS_FILES
|
|
yacreaderlibraryserver_es.ts
|
|
yacreaderlibraryserver_ru.ts
|
|
yacreaderlibraryserver_pt.ts
|
|
yacreaderlibraryserver_fr.ts
|
|
yacreaderlibraryserver_nl.ts
|
|
yacreaderlibraryserver_tr.ts
|
|
yacreaderlibraryserver_de.ts
|
|
yacreaderlibraryserver_zh_CN.ts
|
|
yacreaderlibraryserver_zh_TW.ts
|
|
yacreaderlibraryserver_zh_HK.ts
|
|
)
|
|
|
|
target_link_libraries(YACReaderLibraryServer PRIVATE
|
|
Qt::Core
|
|
Qt::Network
|
|
Qt::Sql
|
|
Qt::Core5Compat
|
|
library_common
|
|
db_helper
|
|
comic_backend
|
|
common_all
|
|
naturalsort
|
|
cbx_backend
|
|
server
|
|
QsLog
|
|
QrCode
|
|
)
|
|
|
|
# Platform-specific
|
|
if(WIN32)
|
|
target_link_libraries(YACReaderLibraryServer PRIVATE oleaut32 ole32 shell32 user32)
|
|
endif()
|
|
|
|
if(APPLE)
|
|
set_target_properties(YACReaderLibraryServer PROPERTIES
|
|
MACOSX_BUNDLE TRUE
|
|
MACOSX_BUNDLE_GUI_IDENTIFIER "com.yacreader.YACReaderLibraryServer"
|
|
MACOSX_BUNDLE_BUNDLE_NAME "YACReaderLibraryServer"
|
|
)
|
|
target_link_libraries(YACReaderLibraryServer PRIVATE
|
|
"-framework Foundation"
|
|
"-framework ApplicationServices"
|
|
"-framework AppKit"
|
|
)
|
|
endif()
|
|
|
|
# Linux install rules
|
|
if(UNIX AND NOT APPLE)
|
|
target_compile_definitions(YACReaderLibraryServer PRIVATE
|
|
"LIBDIR=\"${CMAKE_INSTALL_FULL_LIBDIR}\""
|
|
"DATADIR=\"${CMAKE_INSTALL_FULL_DATADIR}\""
|
|
"BINDIR=\"${CMAKE_INSTALL_FULL_BINDIR}\""
|
|
)
|
|
|
|
install(TARGETS YACReaderLibraryServer RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
|
|
|
# Standalone server: install server web files alongside the binary
|
|
if(BUILD_SERVER_STANDALONE)
|
|
install(DIRECTORY ${CMAKE_SOURCE_DIR}/release/server
|
|
DESTINATION ${CMAKE_INSTALL_DATADIR}/yacreader)
|
|
endif()
|
|
|
|
# systemd service
|
|
install(FILES yacreaderlibraryserver.service
|
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/systemd/user)
|
|
endif()
|