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