Skip to content

Commit 3ca86ba

Browse files
committed
FindQGIS.cmake search OSGeo4W qgis locations relative to install
With newer OSGeo4W installs, the dev may have multiple ‘qgis’ installs and this allows defining the subdirectory prior to searching
1 parent b52b577 commit 3ca86ba

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

cmake/FindQGIS.cmake

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,15 @@
1212

1313
#MESSAGE("Searching for QGIS")
1414
IF(WIN32)
15+
# OSGEO4W_QGIS_SUBDIR relative install: qgis[-rel|-ltr][-dev], etc.
16+
IF (NOT OSGEO4W_QGIS_SUBDIR OR "${OSGEO4W_QGIS_SUBDIR}" STREQUAL "")
17+
IF (NOT "$ENV{OSGEO4W_QGIS_SUBDIR}" STREQUAL "")
18+
SET (OSGEO4W_QGIS_SUBDIR $ENV{OSGEO4W_QGIS_SUBDIR})
19+
ELSE ()
20+
SET (OSGEO4W_QGIS_SUBDIR qgis)
21+
ENDIF ()
22+
ENDIF ()
23+
1524
#MESSAGE("Searching for QGIS in $ENV{PROGRAMFILES}/QGIS")
1625
IF (MINGW)
1726
FIND_PATH(QGIS_PLUGIN_DIR
@@ -40,7 +49,7 @@ IF(WIN32)
4049
FIND_PATH(QGIS_PLUGIN_DIR
4150
NAMES spatialqueryplugin.dll
4251
PATHS
43-
"$ENV{OSGEO4W_ROOT}/apps/qgis/plugins"
52+
"$ENV{OSGEO4W_ROOT}/apps/${OSGEO4W_QGIS_SUBDIR}/plugins"
4453
"$ENV{PROGRAMFILES}/QGIS/plugins"
4554
)
4655
FIND_PATH(QGIS_INCLUDE_DIR
@@ -49,6 +58,7 @@ IF(WIN32)
4958
"$ENV{INCLUDE}"
5059
"$ENV{LIB_DIR}/include/qgis"
5160
"$ENV{OSGEO4W_ROOT}/include"
61+
"$ENV{OSGEO4W_ROOT}/apps/${OSGEO4W_QGIS_SUBDIR}/include"
5262
"$ENV{PROGRAMFILES}/QGIS/include"
5363
)
5464
FIND_LIBRARY(QGIS_CORE_LIBRARY
@@ -57,6 +67,7 @@ IF(WIN32)
5767
"$ENV{LIB_DIR}/lib/"
5868
"$ENV{LIB}"
5969
"$ENV{OSGEO4W_ROOT}/lib"
70+
"$ENV{OSGEO4W_ROOT}/apps/${OSGEO4W_QGIS_SUBDIR}/lib"
6071
"$ENV{PROGRAMFILES}/QGIS/lib"
6172
)
6273
FIND_LIBRARY(QGIS_GUI_LIBRARY
@@ -65,6 +76,7 @@ IF(WIN32)
6576
"$ENV{LIB_DIR}"
6677
"$ENV{LIB}"
6778
"$ENV{OSGEO4W_ROOT}/lib"
79+
"$ENV{OSGEO4W_ROOT}/apps/${OSGEO4W_QGIS_SUBDIR}/lib"
6880
"$ENV{PROGRAMFILES}/QGIS/lib"
6981
)
7082
FIND_LIBRARY(QGIS_ANALYSIS_LIBRARY
@@ -73,6 +85,7 @@ IF(WIN32)
7385
"$ENV{LIB_DIR}"
7486
"$ENV{LIB}"
7587
"$ENV{OSGEO4W_ROOT}/lib"
88+
"$ENV{OSGEO4W_ROOT}/apps/${OSGEO4W_QGIS_SUBDIR}/lib"
7689
"$ENV{PROGRAMFILES}/QGIS/lib"
7790
)
7891
ENDIF (MSVC)

0 commit comments

Comments
 (0)