|
1 | 1 | ## Once run this will define:
|
2 | 2 | ##
|
3 |
| -## QGIS_FOUND = system has QGIS lib |
| 3 | +## QGIS_FOUND = system has QGIS lib |
4 | 4 | ##
|
5 | 5 | ## QGIS_CORE_LIBRARY = full path to the CORE library
|
6 | 6 | ## QGIS_GUI_LIBRARY = full path to the GUI library
|
|
9 | 9 | ## QGIS_INCLUDE_DIR = where to find headers
|
10 | 10 | ## QGIS_UI_INCLUDE_DIR = where to find ui_* generated headers
|
11 | 11 | ##
|
| 12 | +## QGIS_VERSION = version as defined in qgsconfig.h, as major.minor.patch |
| 13 | +## |
12 | 14 | ## Definitions or ENV variables affecting search locations
|
13 | 15 | ##
|
14 | 16 | ## OSGEO4W_ROOT = [A-Z]:/path/to/OSGeo4W/install/root
|
@@ -205,12 +207,35 @@ ELSE(WIN32)
|
205 | 207 | ENDIF(UNIX)
|
206 | 208 | ENDIF(WIN32)
|
207 | 209 |
|
| 210 | +IF (QGIS_INCLUDE_DIR) |
| 211 | + SET(QGIS_VERSION QGIS_VERSION-NOTFOUND) |
| 212 | + FIND_FILE(_qgsconfig_h qgsconfig.h PATHS ${QGIS_INCLUDE_DIR}) |
| 213 | + IF (_qgsconfig_h) |
| 214 | + FILE(READ ${_qgsconfig_h} _qgsconfig) |
| 215 | + IF (_qgsconfig) |
| 216 | + # version defined like #define VERSION "2.14.8-Essen" |
| 217 | + FILE(STRINGS "${_qgsconfig_h}" _qgsversion_str REGEX "^#define VERSION .*$") |
| 218 | + STRING(REGEX REPLACE "^#define VERSION +\"([0-9]+\\.[0-9]+\\.[0-9]+).*$" "\\1" _qgsversion "${_qgsversion_str}") |
| 219 | + IF (_qgsversion) |
| 220 | + SET(QGIS_VERSION ${_qgsversion}) |
| 221 | + ELSE () |
| 222 | + MESSAGE(WARNING "No QGIS version determined: failed to parse qgsconfig.h") |
| 223 | + ENDIF () |
| 224 | + ELSE() |
| 225 | + MESSAGE(WARNING "No QGIS version determined: failed to read qgsconfig.h") |
| 226 | + ENDIF () |
| 227 | + ELSE () |
| 228 | + MESSAGE(WARNING "No QGIS version determined: failed to find qgsconfig.h") |
| 229 | + ENDIF () |
| 230 | +ENDIF () |
| 231 | + |
208 | 232 | IF (QGIS_INCLUDE_DIR AND QGIS_CORE_LIBRARY AND QGIS_GUI_LIBRARY AND QGIS_ANALYSIS_LIBRARY)
|
209 | 233 | SET(QGIS_FOUND TRUE)
|
210 | 234 | ENDIF ()
|
211 | 235 |
|
212 | 236 | IF (QGIS_FOUND)
|
213 | 237 | IF (NOT QGIS_FIND_QUIETLY)
|
| 238 | + MESSAGE(STATUS "Found QGIS: ${QGIS_VERSION}") |
214 | 239 | MESSAGE(STATUS "Found QGIS core: ${QGIS_CORE_LIBRARY}")
|
215 | 240 | MESSAGE(STATUS "Found QGIS gui: ${QGIS_GUI_LIBRARY}")
|
216 | 241 | MESSAGE(STATUS "Found QGIS analysis: ${QGIS_ANALYSIS_LIBRARY}")
|
|
0 commit comments