Changeset View
Changeset View
Standalone View
Standalone View
CMakeLists.txt
Show All 33 Lines | |||||
34 | include(KDEInstallDirs) | 34 | include(KDEInstallDirs) | ||
35 | include(KDECMakeSettings) | 35 | include(KDECMakeSettings) | ||
36 | include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) | 36 | include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) | ||
37 | include(ECMInstallIcons) | 37 | include(ECMInstallIcons) | ||
38 | include(ECMSetupVersion) | 38 | include(ECMSetupVersion) | ||
39 | include(FeatureSummary) | 39 | include(FeatureSummary) | ||
40 | include(ECMQtDeclareLoggingCategory) | 40 | include(ECMQtDeclareLoggingCategory) | ||
41 | include(ECMAddTests) | 41 | include(ECMAddTests) | ||
42 | include(ECMQueryQmake) | ||||
kossebau: ECMQueryQmake is not part of the official API of ECM though, so you first want to make that one… | |||||
I don't know what this entails and what the consequences would be. Can you explain? Or maybe show me how? Or do it yourself? ;) ngraham: I don't know what this entails and what the consequences would be. Can you explain? Or maybe… | |||||
I am not aware of ecm contribution guides, but whenever I added something, I took conclusion from the patterns found in the existing official module files, like
Sorry, no time here to take over such work. kossebau: I am not aware of ecm contribution guides, but whenever I added something, I took conclusion… | |||||
42 | 43 | | |||
43 | add_definitions(-DQT_NO_URL_CAST_FROM_STRING -DQT_NO_CAST_FROM_ASCII -DQT_NO_FOREACH) | 44 | add_definitions(-DQT_NO_URL_CAST_FROM_STRING -DQT_NO_CAST_FROM_ASCII -DQT_NO_FOREACH) | ||
44 | if (EXISTS "${CMAKE_SOURCE_DIR}/.git") | 45 | if (EXISTS "${CMAKE_SOURCE_DIR}/.git") | ||
45 | add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x060000) | 46 | add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x060000) | ||
46 | add_definitions(-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x060000) | 47 | add_definitions(-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x060000) | ||
47 | endif() | 48 | endif() | ||
48 | 49 | | |||
49 | find_package( | 50 | find_package( | ||
▲ Show 20 Lines • Show All 57 Lines • ▼ Show 20 Line(s) | 106 | if(NOT XCB_CURSOR_FOUND) | |||
107 | set(XCB_COMPONENTS_FOUND FALSE) | 108 | set(XCB_COMPONENTS_FOUND FALSE) | ||
108 | endif() | 109 | endif() | ||
109 | 110 | | |||
110 | # fail build if none of the platform backends can be found | 111 | # fail build if none of the platform backends can be found | ||
111 | if (NOT XCB_FOUND OR NOT XCB_COMPONENTS_FOUND) | 112 | if (NOT XCB_FOUND OR NOT XCB_COMPONENTS_FOUND) | ||
112 | message(FATAL_ERROR "No suitable backend platform was found. Currently supported platforms are: XCB Components Required: ${XCB_COMPONENTS_ERRORS}") | 113 | message(FATAL_ERROR "No suitable backend platform was found. Currently supported platforms are: XCB Components Required: ${XCB_COMPONENTS_ERRORS}") | ||
113 | endif() | 114 | endif() | ||
114 | 115 | | |||
116 | # locate qdbus in the Qt path because not every distro makes a symlink at /usr/bin/qdbus | ||||
117 | query_qmake(QtBinariesDir QT_INSTALL_BINS) | ||||
qtpaths might not be in $PATH either, and if it is, might not be one matching the Qt version it's currently building against... Looking at Qt CMake module code, it seems like that is hardcoded in there during build... Maybe changing the last component of Qt5::qmake's imported path (if that's even possible) to qdbus would work. fvogt: `qtpaths` might not be in $PATH either, and if it is, might not be one matching the Qt version… | |||||
118 | | ||||
115 | # hand off to subdirectories | 119 | # hand off to subdirectories | ||
116 | 120 | | |||
117 | add_subdirectory(src) | 121 | add_subdirectory(src) | ||
118 | add_subdirectory(dbus) | 122 | add_subdirectory(dbus) | ||
119 | add_subdirectory(desktop) | 123 | add_subdirectory(desktop) | ||
120 | add_subdirectory(icons) | 124 | add_subdirectory(icons) | ||
121 | add_subdirectory(doc) | 125 | add_subdirectory(doc) | ||
122 | add_subdirectory(tests) | 126 | add_subdirectory(tests) | ||
Show All 9 Lines |
ECMQueryQmake is not part of the official API of ECM though, so you first want to make that one public.