File tree 5 files changed +72
-0
lines changed
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[] )
682
682
{
683
683
setenv ( " GDAL_DRIVER_PATH" , gdalPlugins.toUtf8 (), 1 );
684
684
}
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
+ }
685
703
#endif
686
704
687
705
QSettings mySettings;
Original file line number Diff line number Diff line change @@ -103,4 +103,6 @@ IF (APPLE)
103
103
INSTALL (CODE "EXECUTE_PROCESS(COMMAND ln -sfh ../../../../${QGIS_LIB_SUBDIR} \" $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX} /${QGIS_BIN_DIR} /QGIS Browser.app/Contents/MacOS/lib\" )" )
104
104
INSTALL (CODE "EXECUTE_PROCESS(COMMAND ln -sfh ../../../${QGIS_PLUGIN_SUBDIR} /.. \" $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX} /${QGIS_BIN_DIR} /QGIS Browser.app/Contents/Plugins\" )" )
105
105
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\" )" )
106
108
ENDIF (APPLE )
Original file line number Diff line number Diff line change @@ -51,6 +51,34 @@ int main( int argc, char ** argv )
51
51
QCoreApplication::setOrganizationDomain ( " qgis.org" );
52
52
QCoreApplication::setApplicationName ( " QGIS2" );
53
53
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
+
54
82
QgsBrowser w;
55
83
56
84
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
53
53
)
54
54
IF (APPLE )
55
55
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
+
56
62
ENDIF (APPLE )
57
63
Original file line number Diff line number Diff line change @@ -407,6 +407,24 @@ int main( int argc, char *argv[] )
407
407
{
408
408
setenv ( " GDAL_DRIVER_PATH" , gdalPlugins.toUtf8 (), 1 );
409
409
}
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
+ }
410
428
#endif
411
429
412
430
QSettings mySettings;
You can’t perform that action at this time.
0 commit comments