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 | option(UDEV_DISABLED "Allows disabling UDev usage on Linux builds" OFF) | | |||
55 | if (CMAKE_SYSTEM_NAME MATCHES Linux AND NOT UDEV_DISABLED) | | |||
56 | find_package( UDev ) | | |||
57 | if (UDev_FOUND) | | |||
58 | set(UDEV_FOUND TRUE) # for config-solid.h | | |||
59 | endif() | | |||
60 | | ||||
61 | set_package_properties(UDev PROPERTIES TYPE REQUIRED | | |||
62 | PURPOSE "Allows Solid to use UDev to provide information about devices on Linux" | | |||
63 | ) | | |||
64 | endif() | | |||
65 | | ||||
66 | 54 | | |||
67 | include(ECMPoQmTools) | 55 | include(ECMPoQmTools) | ||
68 | 56 | | |||
69 | 57 | | |||
70 | 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) | ||
71 | 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)") | ||
72 | 60 | | |||
73 | ecm_setup_version(PROJECT VARIABLE_PREFIX SOLID | 61 | ecm_setup_version(PROJECT VARIABLE_PREFIX SOLID | ||
Show All 13 Lines | |||||
87 | 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") | ||
88 | 76 | | |||
89 | 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) | ||
90 | 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") | ||
91 | 79 | | |||
92 | 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) | ||
93 | 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") | ||
94 | 82 | | |||
83 | include(SolidBackendsMacros) | ||||
84 | | ||||
85 | add_device_backends_begin() | ||||
86 | add_device_backend(fakehw) | ||||
87 | if (CMAKE_SYSTEM_NAME MATCHES Linux) | ||||
88 | option(UDEV_DISABLED "Allows disabling UDev usage on Linux builds" OFF) | ||||
89 | if (NOT UDEV_DISABLED) | ||||
90 | find_package(UDev REQUIRED) | ||||
91 | set_package_properties(UDev PROPERTIES | ||||
92 | TYPE REQUIRED | ||||
93 | PURPOSE "Allows Solid to use UDev to provide information about devices on Linux" | ||||
94 | ) | ||||
95 | endif() | ||||
96 | if (UDev_FOUND) | ||||
97 | set(UDEV_FOUND TRUE) # for config-solid.h | ||||
98 | add_device_backend(udev) | ||||
99 | endif() | ||||
100 | add_device_backend(udisks2) | ||||
101 | add_device_backend(fstab) | ||||
102 | add_device_backend(upower) | ||||
103 | elseif (APPLE) | ||||
104 | find_package(IOKit REQUIRED) | ||||
105 | add_device_backend(iokit) | ||||
106 | elseif (WIN32) | ||||
107 | add_device_backend(win) | ||||
108 | elseif (NOT ANDROID) | ||||
109 | add_device_backend(upower) | ||||
110 | add_device_backend(fstab) | ||||
111 | | ||||
112 | if (CMAKE_SYSTEM_NAME MATCHES FreeBSD) | ||||
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 | | ||||
95 | add_subdirectory(src) | 126 | add_subdirectory(src) | ||
96 | if (BUILD_TESTING) | 127 | if (BUILD_TESTING) | ||
97 | add_subdirectory(autotests) | 128 | add_subdirectory(autotests) | ||
98 | endif() | 129 | endif() | ||
99 | 130 | | |||
100 | # 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 | ||
101 | set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5Solid") | 132 | set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5Solid") | ||
102 | 133 | | |||
Show All 29 Lines |