Changeset View
Changeset View
Standalone View
Standalone View
CMakeLists.txt
Show First 20 Lines • Show All 45 Lines • ▼ Show 20 Line(s) | |||||
46 | find_package(BISON REQUIRED) | 46 | find_package(BISON REQUIRED) | ||
47 | set_package_properties(BISON PROPERTIES | 47 | set_package_properties(BISON PROPERTIES | ||
48 | URL "http://www.gnu.org/software/bison" | 48 | URL "http://www.gnu.org/software/bison" | ||
49 | DESCRIPTION "general-purpose parser generator" | 49 | DESCRIPTION "general-purpose parser generator" | ||
50 | TYPE REQUIRED | 50 | TYPE REQUIRED | ||
51 | PURPOSE "Required for the Predicate parser" | 51 | PURPOSE "Required for the Predicate parser" | ||
52 | ) | 52 | ) | ||
53 | 53 | | |||
54 | if (CMAKE_SYSTEM_NAME MATCHES Linux) | | |||
55 | find_package( UDev ) | | |||
56 | if (UDev_FOUND) | | |||
57 | set(UDEV_FOUND TRUE) # for config-solid.h | | |||
58 | endif() | | |||
59 | | ||||
60 | set_package_properties(UDev PROPERTIES TYPE REQUIRED | | |||
61 | PURPOSE "Allows Solid to use UDev to provide information about devices on Linux" | | |||
62 | ) | | |||
63 | endif() | | |||
64 | | ||||
65 | 54 | | |||
66 | include(ECMPoQmTools) | 55 | include(ECMPoQmTools) | ||
67 | 56 | | |||
68 | 57 | | |||
69 | option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) | 58 | option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) | ||
70 | add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") | 59 | add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") | ||
71 | 60 | | |||
72 | ecm_setup_version(PROJECT VARIABLE_PREFIX SOLID | 61 | ecm_setup_version(PROJECT VARIABLE_PREFIX SOLID | ||
Show All 13 Lines | |||||
86 | add_feature_info(Solid::Job WITH_NEW_SOLID_JOB "WIP: Base class for Solid Asynchronous apis") | 75 | add_feature_info(Solid::Job WITH_NEW_SOLID_JOB "WIP: Base class for Solid Asynchronous apis") | ||
87 | 76 | | |||
88 | option(WITH_NEW_POWER_ASYNC_API "WIP: Asynchronous API for power management" Off) | 77 | option(WITH_NEW_POWER_ASYNC_API "WIP: Asynchronous API for power management" Off) | ||
89 | add_feature_info(Solid::PowerManagement WITH_NEW_POWER_ASYNC_API "WIP: Asynchronous API for power management") | 78 | add_feature_info(Solid::PowerManagement WITH_NEW_POWER_ASYNC_API "WIP: Asynchronous API for power management") | ||
90 | 79 | | |||
91 | option(WITH_NEW_POWER_ASYNC_FREEDESKTOP "WIP: Freedesktop backend for the asynchronous api" Off) | 80 | option(WITH_NEW_POWER_ASYNC_FREEDESKTOP "WIP: Freedesktop backend for the asynchronous api" Off) | ||
92 | add_feature_info(Solid::PowerManagement WITH_NEW_POWER_ASYNC_FREEDESKTOP "WIP: Freedesktop backend for the asynchronous api") | 81 | add_feature_info(Solid::PowerManagement WITH_NEW_POWER_ASYNC_FREEDESKTOP "WIP: Freedesktop backend for the asynchronous api") | ||
93 | 82 | | |||
83 | include(SolidBackendsMacros) | ||||
84 | | ||||
85 | add_device_backends_begin() | ||||
86 | add_device_backend(fakehw) | ||||
87 | if(CMAKE_SYSTEM_NAME MATCHES Linux) | ||||
88 | find_package(UDev REQUIRED) | ||||
89 | set_package_properties(UDev PROPERTIES | ||||
90 | URL "http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html" | ||||
91 | DESCRIPTION "UDev support for Solid" | ||||
92 | TYPE REQUIRED | ||||
93 | PURPOSE "Allows Solid to use UDev to provide information about devices on Linux" | ||||
94 | ) | ||||
95 | if (UDev_FOUND) | ||||
96 | set(UDEV_FOUND TRUE) # for config-solid.h | ||||
97 | endif() | ||||
98 | add_device_backend(udev) | ||||
99 | add_device_backend(udisks2) | ||||
100 | add_device_backend(fstab) | ||||
101 | add_device_backend(upower) | ||||
102 | elseif(APPLE) | ||||
103 | find_package(IOKit REQUIRED) | ||||
104 | add_device_backend(iokit) | ||||
105 | elseif(WIN32) | ||||
106 | add_device_backend(win) | ||||
107 | elseif(NOT ANDROID) | ||||
108 | add_device_backend(upower) | ||||
109 | | ||||
110 | if (CMAKE_SYSTEM_NAME MATCHES FreeBSD) | ||||
111 | add_device_backend(fstab) | ||||
112 | | ||||
113 | # FIXME: this should work on more Unix systems | ||||
114 | option(EXPERIMENTAL_BSDISKS "Use UDisks2/bsdisks backend instead of HAL to manage disk devices" OFF) | ||||
115 | else () | ||||
116 | set(EXPERIMENTAL_BSDISKS FALSE) | ||||
117 | endif() | ||||
118 | if(EXPERIMENTAL_BSDISKS) | ||||
119 | add_device_backend(udisks2) | ||||
120 | else() | ||||
121 | add_device_backend(hal) | ||||
122 | endif() | ||||
123 | endif() | ||||
124 | add_device_backends_cmake() | ||||
125 | | ||||
94 | add_subdirectory(src) | 126 | add_subdirectory(src) | ||
95 | if (BUILD_TESTING) | 127 | if (BUILD_TESTING) | ||
96 | add_subdirectory(autotests) | 128 | add_subdirectory(autotests) | ||
97 | endif() | 129 | endif() | ||
98 | 130 | | |||
99 | # create a Config.cmake and a ConfigVersion.cmake file and install them | 131 | # create a Config.cmake and a ConfigVersion.cmake file and install them | ||
100 | set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5Solid") | 132 | set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5Solid") | ||
101 | 133 | | |||
Show All 29 Lines |