summaryrefslogtreecommitdiffstats
path: root/async/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'async/CMakeLists.txt')
-rw-r--r--async/CMakeLists.txt71
1 files changed, 66 insertions, 5 deletions
diff --git a/async/CMakeLists.txt b/async/CMakeLists.txt
index a6b53f8..6a93a2c 100644
--- a/async/CMakeLists.txt
+++ b/async/CMakeLists.txt
@@ -1,12 +1,73 @@
1project(libasync) 1project(KAsync)
2 2
3option(WITH_KJOB "Enable native support for KJob in libasync API (enabled by default)" ON) 3cmake_minimum_required(VERSION 2.8.12)
4
5# ECM setup
6find_package(ECM 5.10.0 CONFIG REQUIRED)
7set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
8
9include(GenerateExportHeader)
10include(ECMGenerateHeaders)
11include(ECMGeneratePriFile)
12include(ECMPackageConfigHelpers)
13include(ECMSetupVersion)
14include(FeatureSummary)
15include(KDEInstallDirs)
16include(KDECMakeSettings)
17include(KDEFrameworkCompilerSettings)
18
19set(KASYNC_VERSION "4.99.0")
20
21set(KF5_VERSION "5.10.0")
22set(QT_REQUIRED_VERSION "5.2.0")
23
24ecm_setup_version(${KASYNC_VERSION}
25 VARIABLE_PREFIX KASYNC
26 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kasync_version.h"
27 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5AsyncConfigVersion.cmake"
28 SOVERSION 5
29)
30
31
32########### Find packages ###########
33find_package(Qt5 ${QT_REQUIRED_VERSION} REQUIRED COMPONENTS Core Test)
4 34
35option(WITH_KJOB "Enable native support for KJob in libasync API (enabled by default)" ON)
5if (WITH_KJOB) 36if (WITH_KJOB)
6 set(MINUMUM_FRAMEWORKS_VERSION "5.8.0") 37 find_package(KF5CoreAddons REQUIRED ${KF5_VERSION})
7 find_package(KF5CoreAddons REQUIRED ${MINUMUM_FRAMEWORKS_VERSION})
8 add_definitions(-DWITH_KJOB) 38 add_definitions(-DWITH_KJOB)
9endif() 39endif()
10 40
41########### Targets ###########
11add_subdirectory(src) 42add_subdirectory(src)
12add_subdirectory(autotests) \ No newline at end of file 43add_subdirectory(autotests)
44
45
46########### CMake Config Files ###########
47set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5Async")
48
49ecm_configure_package_config_file(
50 "${CMAKE_CURRENT_SOURCE_DIR}/KF5AsyncConfig.cmake.in"
51 "${CMAKE_CURRENT_BINARY_DIR}/KF5AsyncConfig.cmake"
52 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
53)
54
55install(FILES
56 "${CMAKE_CURRENT_BINARY_DIR}/KF5AsyncConfig.cmake"
57 "${CMAKE_CURRENT_BINARY_DIR}/KF5AsyncConfigVersion.cmake"
58 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
59 COMPONENT Devel
60)
61
62install(EXPORT
63 KF5AsyncTargets
64 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
65 FILE KF5AsyncTargets.cmake
66 NAMESPACE KF5::)
67
68install(FILES
69 ${CMAKE_CURRENT_BINARY_DIR}/kasync_version.h
70 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5} COMPONENT Devel
71)
72
73feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)