File tree Expand file tree Collapse file tree 5 files changed +72
-0
lines changed
Expand file tree Collapse file tree 5 files changed +72
-0
lines changed Original file line number Diff line number Diff line change @@ -682,6 +682,24 @@ int main( int argc, char *argv[] )
682682 {
683683 setenv ( " GDAL_DRIVER_PATH" , gdalPlugins.toUtf8 (), 1 );
684684 }
685+
686+ // Point GDAL_DATA at any GDAL share directory embedded in the app bundle
687+ if ( !getenv ( " GDAL_DATA" ) )
688+ {
689+ QStringList gdalShares;
690+ QString appResources ( QDir::cleanPath ( QgsApplication::pkgDataPath () ) );
691+ gdalShares << QCoreApplication::applicationDirPath ().append ( " /share/gdal" )
692+ << appResources.append ( " /share/gdal" )
693+ << appResources.append ( " /gdal" );
694+ Q_FOREACH ( const QString& gdalShare, gdalShares )
695+ {
696+ if ( QFile::exists ( gdalShare ) )
697+ {
698+ setenv ( " GDAL_DATA" , gdalShare.toUtf8 ().constData (), 1 );
699+ break ;
700+ }
701+ }
702+ }
685703#endif
686704
687705 QSettings mySettings;
Original file line number Diff line number Diff line change @@ -103,4 +103,6 @@ IF (APPLE)
103103 INSTALL (CODE "EXECUTE_PROCESS(COMMAND ln -sfh ../../../../${QGIS_LIB_SUBDIR} \" $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX} /${QGIS_BIN_DIR} /QGIS Browser.app/Contents/MacOS/lib\" )" )
104104 INSTALL (CODE "EXECUTE_PROCESS(COMMAND ln -sfh ../../../${QGIS_PLUGIN_SUBDIR} /.. \" $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX} /${QGIS_BIN_DIR} /QGIS Browser.app/Contents/Plugins\" )" )
105105 INSTALL (CODE "EXECUTE_PROCESS(COMMAND ln -sfh ../../../${QGIS_DATA_SUBDIR} \" $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX} /${QGIS_BIN_DIR} /QGIS Browser.app/Contents/Resources\" )" )
106+ # may not exist, unless BundleUtilities are used
107+ INSTALL (CODE "EXECUTE_PROCESS(COMMAND ln -sfh ../../../../share \" $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX} /${QGIS_BIN_DIR} /QGIS Browser.app/Contents/MacOS/share\" )" )
106108ENDIF (APPLE )
Original file line number Diff line number Diff line change @@ -51,6 +51,34 @@ int main( int argc, char ** argv )
5151 QCoreApplication::setOrganizationDomain ( " qgis.org" );
5252 QCoreApplication::setApplicationName ( " QGIS2" );
5353
54+ #ifdef Q_OS_MACX
55+ // If the GDAL plugins are bundled with the application and GDAL_DRIVER_PATH
56+ // is not already defined, use the GDAL plugins in the application bundle.
57+ QString gdalPlugins ( QCoreApplication::applicationDirPath ().append ( " /lib/gdalplugins" ) );
58+ if ( QFile::exists ( gdalPlugins ) && !getenv ( " GDAL_DRIVER_PATH" ) )
59+ {
60+ setenv ( " GDAL_DRIVER_PATH" , gdalPlugins.toUtf8 (), 1 );
61+ }
62+
63+ // Point GDAL_DATA at any GDAL share directory embedded in the app bundle
64+ if ( !getenv ( " GDAL_DATA" ) )
65+ {
66+ QStringList gdalShares;
67+ QString appResources ( QDir::cleanPath ( QgsApplication::pkgDataPath () ) );
68+ gdalShares << QCoreApplication::applicationDirPath ().append ( " /share/gdal" )
69+ << appResources.append ( " /share/gdal" )
70+ << appResources.append ( " /gdal" );
71+ Q_FOREACH ( const QString& gdalShare, gdalShares )
72+ {
73+ if ( QFile::exists ( gdalShare ) )
74+ {
75+ setenv ( " GDAL_DATA" , gdalShare.toUtf8 ().constData (), 1 );
76+ break ;
77+ }
78+ }
79+ }
80+ #endif
81+
5482 QgsBrowser w;
5583
5684 a.connect ( &a, SIGNAL ( aboutToQuit () ), &w, SLOT ( saveWindowState () ) );
Original file line number Diff line number Diff line change @@ -53,5 +53,11 @@ INSTALL (TARGETS qgis_bench
5353)
5454IF (APPLE )
5555 INSTALL (CODE "EXECUTE_PROCESS(COMMAND ln -sfh ../../../${QGIS_FW_SUBDIR} \" $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX} /${QGIS_BIN_DIR} /qgis_bench.app/Contents/Frameworks\" )" )
56+ INSTALL (CODE "EXECUTE_PROCESS(COMMAND ln -sfh ../../../../${QGIS_LIB_SUBDIR} \" $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX} /${QGIS_BIN_DIR} /qgis_bench.app/Contents/MacOS/lib\" )" )
57+ INSTALL (CODE "EXECUTE_PROCESS(COMMAND ln -sfh ../../../${QGIS_PLUGIN_SUBDIR} /.. \" $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX} /${QGIS_BIN_DIR} /qgis_bench.app/Contents/Plugins\" )" )
58+ INSTALL (CODE "EXECUTE_PROCESS(COMMAND ln -sfh ../../../${QGIS_DATA_SUBDIR} \" $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX} /${QGIS_BIN_DIR} /qgis_bench.app/Contents/Resources\" )" )
59+ # may not exist, unless BundleUtilities are used
60+ INSTALL (CODE "EXECUTE_PROCESS(COMMAND ln -sfh ../../../../share \" $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX} /${QGIS_BIN_DIR} /qgis_bench.app/Contents/MacOS/share\" )" )
61+
5662ENDIF (APPLE )
5763
Original file line number Diff line number Diff line change @@ -407,6 +407,24 @@ int main( int argc, char *argv[] )
407407 {
408408 setenv ( " GDAL_DRIVER_PATH" , gdalPlugins.toUtf8 (), 1 );
409409 }
410+
411+ // Point GDAL_DATA at any GDAL share directory embedded in the app bundle
412+ if ( !getenv ( " GDAL_DATA" ) )
413+ {
414+ QStringList gdalShares;
415+ QString appResources ( QDir::cleanPath ( QgsApplication::pkgDataPath () ) );
416+ gdalShares << QCoreApplication::applicationDirPath ().append ( " /share/gdal" )
417+ << appResources.append ( " /share/gdal" )
418+ << appResources.append ( " /gdal" );
419+ Q_FOREACH ( const QString& gdalShare, gdalShares )
420+ {
421+ if ( QFile::exists ( gdalShare ) )
422+ {
423+ setenv ( " GDAL_DATA" , gdalShare.toUtf8 ().constData (), 1 );
424+ break ;
425+ }
426+ }
427+ }
410428#endif
411429
412430 QSettings mySettings;
You can’t perform that action at this time.
0 commit comments