1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2025-02-07 15:04:13 +00:00
transmission/daemon/CMakeLists.txt
Mike Gelfand bc380511db
Modernize CMake code (ongoing refactoring) (#4507)
* Reformat CMake code

* Bump minimum CMake version to 3.12

* Add target sources separately via `target_source()`

* Make `tr_win32_app_info()` add target sources on its own

* Don't use `include_directories()`

* Don't use `add_definitions()`

* Limit use of `add_compile_options()`

* Move VDKQueue target declaration to a subdirectory

* Add `tr_disable_source_files_compile()` helper

* Add `tr_target_glib_resources()` helper

* Add `tr_gettext_msgfmt()` helper

* Enable AUTOUIC for Qt client

* Enable AUTORCC for Qt client

* Remove AUTO{MOC,RCC,UIC} source group overrides

* Add `tr_target_idl_files()` helper

* Move source group setup to `tr_qt_add_translation()`

* Add `tr_target_xib_files()` helper

* Prefer `target_sources()` to intermediate variables

* Use explicit visibility versions of `target_*()` commands

* Prefer genexes to conditions in `target_*()` commands

* Add `tr_allow_compile_if()` helper

* Leave only top-level `project()`, remove the rest

* Minor fixups

* Fixup Mac QL plugin install

* Fixup IDE target folders and source groups
2023-01-01 19:49:48 +00:00

61 lines
1.4 KiB
CMake

add_executable(${TR_NAME}-daemon)
target_sources(${TR_NAME}-daemon
PRIVATE
daemon.cc
daemon.h
daemon-posix.cc
daemon-win32.cc)
tr_allow_compile_if(
[=[[WIN32]]=]
daemon-win32.cc
[=[[NOT WIN32]]=]
daemon-posix.cc)
target_compile_definitions(${TR_NAME}-daemon
PRIVATE
$<$<BOOL:${WITH_SYSTEMD}>:USE_SYSTEMD>)
tr_target_compile_definitions_for_headers(${TR_NAME}-daemon
PRIVATE
sys/signalfd.h)
tr_target_compile_definitions_for_functions(${TR_NAME}-daemon
PRIVATE
daemon
syslog)
target_include_directories(${TR_NAME}-daemon
PRIVATE
${CMAKE_SOURCE_DIR})
target_include_directories(${TR_NAME}-daemon SYSTEM
PRIVATE
${LIBFMT_INCLUDE_DIRS}
${CURL_INCLUDE_DIRS}
${EVENT2_INCLUDE_DIRS}
$<$<BOOL:${WITH_SYSTEMD}>:${SYSTEMD_INCLUDE_DIRS}>)
target_link_libraries(${TR_NAME}-daemon
PRIVATE
${TR_NAME}
${EVENT2_LIBRARIES}
$<$<BOOL:${WITH_SYSTEMD}>:${SYSTEMD_LIBRARIES}>)
tr_win32_app_info(${TR_NAME}-daemon
"Transmission Daemon"
"${TR_NAME}-daemon"
"${TR_NAME}-daemon.exe")
foreach(P daemon)
install(
TARGETS ${TR_NAME}-${P}
DESTINATION ${CMAKE_INSTALL_BINDIR})
if(INSTALL_DOC)
install(
FILES ${TR_NAME}-${P}.1
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
endif()
endforeach()