File: CMakeLists.txt

package info (click to toggle)
kde-cli-tools 4%3A6.3.4-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 7,396 kB
  • sloc: cpp: 4,368; sh: 42; makefile: 7
file content (36 lines) | stat: -rw-r--r-- 1,518 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

if (NOT TARGET KF6::KIOWidgets)
   set(KIOCORE_ONLY ON)
   add_definitions(-DKIOCORE_ONLY=1)
   set(kio_libs KF6::KIOCore)
else ()
   set(kio_libs KF6::KIOWidgets)
endif ()

function(add_kioclient_interface TARGET_NAME)
    add_executable(${TARGET_NAME} kioclient.cpp kioclient.h)
    string(TOUPPER "${TARGET_NAME}" UPPER_TARGET_NAME)
    target_compile_definitions(${TARGET_NAME} PRIVATE "-DKIOCLIENT_AS_${UPPER_TARGET_NAME}")
    target_compile_definitions(${TARGET_NAME} PRIVATE -DPROJECT_VERSION="${PROJECT_VERSION}")
    target_link_libraries(${TARGET_NAME} Qt::DBus Qt::Widgets KF6::CoreAddons ${kio_libs} KF6::I18n)
    install_compat_symlink(${TARGET_NAME})
    install(TARGETS ${TARGET_NAME} DESTINATION ${KDE_INSTALL_FULL_BINDIR})
endfunction()

#we compile every file with different definitions, so it will behave slightly different
add_kioclient_interface(kioclient)
add_kioclient_interface(kdecp)
add_kioclient_interface(kdemv)

#kioclient is not marked as nongui since download and openProperties do graphical things
ecm_mark_nongui_executable(kdemv)
ecm_mark_nongui_executable(kdecp)

if (NOT KIOCORE_ONLY)
add_executable(kde-open kioclient.cpp kioclient.h)
target_compile_definitions(kde-open PRIVATE "-DKIOCLIENT_AS_KDEOPEN")
target_compile_definitions(kde-open PRIVATE -DPROJECT_VERSION="${PROJECT_VERSION}")
target_link_libraries(kde-open Qt::DBus KF6::CoreAddons KF6::KIOWidgets KF6::I18n)
install_compat_symlink(kde-open)
install(TARGETS kde-open DESTINATION ${KDE_INSTALL_FULL_BINDIR})
endif()