[QGIS Commit] r10406 - in trunk/qgis/mac/xcode: . Qgis.xcodeproj

svn_qgis at osgeo.org svn_qgis at osgeo.org
Sun Mar 22 21:26:29 EDT 2009


Author: kyngchaos
Date: 2009-03-22 21:26:28 -0400 (Sun, 22 Mar 2009)
New Revision: 10406

Added:
   trunk/qgis/mac/xcode/bundle-template.sh
Modified:
   trunk/qgis/mac/xcode/Qgis.xcodeproj/project.pbxproj
   trunk/qgis/mac/xcode/ReadMe.rtf
   trunk/qgis/mac/xcode/qgis_settings.xcconfig
Log:
added bundle script for user extras

Modified: trunk/qgis/mac/xcode/Qgis.xcodeproj/project.pbxproj
===================================================================
--- trunk/qgis/mac/xcode/Qgis.xcodeproj/project.pbxproj	2009-03-22 23:42:53 UTC (rev 10405)
+++ trunk/qgis/mac/xcode/Qgis.xcodeproj/project.pbxproj	2009-03-23 01:26:28 UTC (rev 10406)
@@ -7894,6 +7894,7 @@
 		721DDCE60F6E97C2006DD13E /* v.in.ogr.qgis.loc.1.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; name = v.in.ogr.qgis.loc.1.svg; path = ../../src/plugins/grass/modules/v.in.ogr.qgis.loc.1.svg; sourceTree = SOURCE_ROOT; };
 		721DDCE70F6E97C2006DD13E /* v.in.ogr.qgis.2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = v.in.ogr.qgis.2.png; path = ../../src/plugins/grass/modules/v.in.ogr.qgis.2.png; sourceTree = SOURCE_ROOT; };
 		721DDCE80F6E97C2006DD13E /* v.in.ogr.qgis.1.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; name = v.in.ogr.qgis.1.svg; path = ../../src/plugins/grass/modules/v.in.ogr.qgis.1.svg; sourceTree = SOURCE_ROOT; };
+		723043270F770E15009B5354 /* bundle-template.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "bundle-template.sh"; sourceTree = "<group>"; };
 		7256F29B0F4141240022BE1F /* core.so */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.bundle"; name = core.so; path = generated/python/python/core/core.so; sourceTree = SOURCE_ROOT; };
 		7256F29C0F4141570022BE1F /* gui.so */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.bundle"; name = gui.so; path = generated/python/python/gui/gui.so; sourceTree = SOURCE_ROOT; };
 		7256F2DC0F4147890022BE1F /* TODO */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = TODO; path = ../../TODO; sourceTree = SOURCE_ROOT; };
@@ -7963,7 +7964,7 @@
 		72A2395B0F74A69300AFC35B /* BeataGui.ui */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = BeataGui.ui; path = ../../src/ui/BeataGui.ui; sourceTree = SOURCE_ROOT; };
 		72A56B310F3C810600BA32A1 /* libdelimitedtextplugin.so */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = libdelimitedtextplugin.so; sourceTree = BUILT_PRODUCTS_DIR; };
 		72A56B4B0F3C822800BA32A1 /* libgeoreferencerplugin.so */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = libgeoreferencerplugin.so; sourceTree = BUILT_PRODUCTS_DIR; };
-		72A56B560F3C823800BA32A1 /* libgpsimporter.so */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = libgpsimporter.so; sourceTree = BUILT_PRODUCTS_DIR; };
+		72A56B560F3C823800BA32A1 /* libgpsimporterplugin.so */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = libgpsimporterplugin.so; sourceTree = BUILT_PRODUCTS_DIR; };
 		72A56B600F3C823800BA32A1 /* libgrassplugin.so */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = libgrassplugin.so; sourceTree = BUILT_PRODUCTS_DIR; };
 		72A56B740F3C824400BA32A1 /* libinterpolationplugin.so */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = libinterpolationplugin.so; sourceTree = BUILT_PRODUCTS_DIR; };
 		72A56B7E0F3C824400BA32A1 /* libnortharrowplugin.so */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = libnortharrowplugin.so; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -8458,7 +8459,7 @@
 				72A07E5F0F3BF35F004FC2A4 /* libcopyrightlabelplugin.so */,
 				72A56B310F3C810600BA32A1 /* libdelimitedtextplugin.so */,
 				72A56B4B0F3C822800BA32A1 /* libgeoreferencerplugin.so */,
-				72A56B560F3C823800BA32A1 /* libgpsimporter.so */,
+				72A56B560F3C823800BA32A1 /* libgpsimporterplugin.so */,
 				72A56B600F3C823800BA32A1 /* libgrassplugin.so */,
 				72A56B740F3C824400BA32A1 /* libinterpolationplugin.so */,
 				72A56B7E0F3C824400BA32A1 /* libnortharrowplugin.so */,
@@ -8526,6 +8527,7 @@
 			children = (
 				8D0C4E960486CD37000505A6 /* Info.plist */,
 				729BBF010F40770B001BCB63 /* qgis_help-Info.plist */,
+				723043270F770E15009B5354 /* bundle-template.sh */,
 			);
 			name = Resources;
 			sourceTree = "<group>";
@@ -12797,7 +12799,7 @@
 			);
 			name = gpsimporterplugin;
 			productName = testprog;
-			productReference = 72A56B560F3C823800BA32A1 /* libgpsimporter.so */;
+			productReference = 72A56B560F3C823800BA32A1 /* libgpsimporterplugin.so */;
 			productType = "com.apple.product-type.tool";
 		};
 		72A56B580F3C823800BA32A1 /* grassplugin */ = {
@@ -13257,7 +13259,7 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "# Note: quoting messes up the -change action in install_name_tool, so for now\n# dependency libraries should have no spaces in paths.  ***FIXME***\n\ncd \"$QGIS_BUILD_PATH/MacOS/$QGIS_PLUGIN_SUBDIR\"\npluglist=`ls *.so`\n\ncd \"$QGIS_BUILD_PATH/MacOS/$QGIS_LIB_SUBDIR\"\nliblist=`ls *.dylib`\n\ncd \"$PROJECT_DIR\"\n\n# Postgres\n\nPGSQLROOT=\"$PGSQL_PREFIX/lib\"\nif [ \"$BUNDLE_PGSQL\" = \"YES\" ] && [ -f \"$PGSQLROOT/libpq.dylib\" ] ; then\n\tcp -f \"$PGSQLROOT/libpq.dylib\" \"$QGIS_BUILD_PATH/MacOS/$QGIS_LIB_SUBDIR/libpq.dylib\"\n\tplib=`otool -L \"$PGSQLROOT/libpq.dylib\" | grep -E -m 1 \"libpq.+ \" | cut -d \\( -f 1 | sed -E -e 's/^[[:space:]]//' -e 's/[[:space:]]$//'`\n\tPGSQL_CHG=\"-change $plib @executable_path/$QGIS_LIB_SUBDIR/libpq.dylib\"\nfi\n\n# GDAL\n# *** Note: may need support files also ***\n\nGDALROOT=\"$GDAL_PREFIX/lib\"\nif [ \"$BUNDLE_GDAL\" = \"YES\" ] && [ \"$GDAL_FORM\" = \"shared\" ] && [ -f \"$GDALROOT/libgdal.dylib\" ] ; then\n\tcp -f \"$GDALROOT/libgdal.dylib\" \"$QGIS_BUILD_PATH/MacOS/$QGIS_LIB_SUBDIR/libgdal.dylib\"\n\tglib=`otool -L \"$GDALROOT/libgdal.dylib\" | grep -E -m 1 \"libgdal.+ \" | cut -d \\( -f 1 | sed -E -e 's/^[[:space:]]//' -e 's/[[:space:]]$//'`\n\tGDAL_CHG=\"-change $glib @executable_path/$QGIS_LIB_SUBDIR/libgdal.dylib\"\nfi\n\n# PROJ\n# *** Note: may need support files also ***\n\nPROJROOT=\"$PROJ_PREFIX/lib\"\nif [ \"$BUNDLE_PROJ\" = \"YES\" ] && [ \"$PROJ_FORM\" = \"shared\" ] && [ -f \"$PROJROOT/libproj.dylib\" ] ; then\n\tcp -f \"$PROJROOT/libproj.dylib\" \"$QGIS_BUILD_PATH/MacOS/$QGIS_LIB_SUBDIR/libproj.dylib\"\n\tplib=`otool -L \"$PROJROOT/libproj.dylib\" | grep -E -m 1 \"libproj.+ \" | cut -d \\( -f 1 | sed -E -e 's/^[[:space:]]//' -e 's/[[:space:]]$//'`\n\tPROJ_CHG=\"-change $plib @executable_path/$QGIS_LIB_SUBDIR/libproj.dylib\"\nfi\n\n# GEOS\n\nGEOSROOT=\"$GEOS_PREFIX/lib\"\nif [ \"$BUNDLE_GEOS\" = \"YES\" ] && [ \"$GEOS_FORM\" = \"shared\" ] && [ -f \"$GEOSROOT/libgeos.dylib\" ] ; then\n\tcp -f \"$GEOSROOT/libgeos.dylib\" \"$GEOSROOT/libgeos_c.dylib\" \"$QGIS_BUILD_PATH/MacOS/$QGIS_LIB_SUBDIR/\"\n\tglib=`otool -L \"$GEOSROOT/libgeos.dylib\" | grep -E -m 1 \"libgeos.+ \" | cut -d \\( -f 1 | sed -E -e 's/^[[:space:]]//' -e 's/[[:space:]]$//'`\n\tgclib=`otool -L \"$GEOSROOT/libgeos_c.dylib\" | grep -E -m 1 \"libgeos_c.+ \" | cut -d \\( -f 1 | sed -E -e 's/^[[:space:]]//' -e 's/[[:space:]]$//'`\n\tGEOS_CHG=\"-change $glib @executable_path/$QGIS_LIB_SUBDIR/libgeos.dylib -change $gclib @executable_path/$QGIS_LIB_SUBDIR/libgeos_c.dylib\"\nfi\n\n# SQLite\n\nSQLITEROOT=\"$SQLITE_PREFIX/lib\"\nif [ \"$BUNDLE_SQLITE\" = \"YES\" ] && [ \"$SQLITE_FORM\" = \"shared\" ] && [ -f \"$SQLITEROOT/libsqlite3.dylib\" ] ; then\n\tcp -f \"$SQLITEROOT/libsqlite3.dylib\" \"$QGIS_BUILD_PATH/MacOS/$QGIS_LIB_SUBDIR/libsqlite3.dylib\"\n\tslib=`otool -L \"$SQLITEROOT/libsqlite3.dylib\" | grep -E -m 1 \"libsqlite3.+ \" | cut -d \\( -f 1 | sed -E -e 's/^[[:space:]]//' -e 's/[[:space:]]$//'`\n\tSQLITE_CHG=\"-change $slib @executable_path/$QGIS_LIB_SUBDIR/libsqlite3.dylib\"\nfi\n\n# GSL\n\nGSLROOT=\"$GSL_PREFIX/lib\"\nif [ \"$BUNDLE_GSL\" = \"YES\" ] && [ \"$GSL_FORM\" = \"shared\" ] && [ -f \"$GSLROOT/libgsl.dylib\" ] ; then\n\tcp -f \"$GSLROOT/libgsl.dylib\" \"$QGIS_BUILD_PATH/MacOS/$QGIS_LIB_SUBDIR/libgsl.dylib\"\n\tcp -f \"$GSLROOT/libgslcblas.dylib\" \"$QGIS_BUILD_PATH/MacOS/$QGIS_LIB_SUBDIR/libgslcblas.dylib\"\n\tglib=`otool -L \"$GSLROOT/libgsl.dylib\" | grep -E -m 1 \"libgsl.+ \" | cut -d \\( -f 1 | sed -E -e 's/^[[:space:]]//' -e 's/[[:space:]]$//'`\n\tgclib=`otool -L \"$GSLROOT/libgslcblas.dylib\" | grep -E -m 1 \"libgslcblas.+ \" | cut -d \\( -f 1 | sed -E -e 's/^[[:space:]]//' -e 's/[[:space:]]$//'`\n\tGSL_CHG=\"-change $glib @executable_path/$QGIS_LIB_SUBDIR/libgsl.dylib -change $gclib @executable_path/$QGIS_LIB_SUBDIR/libgslcblas.dylib\"\nfi\n\n# change for all bundled libs now\n\necho \"install_name_tool $PGSQL_CHG $GDAL_CHG $PROJ_CHG $GEOS_CHG $SQLITE_CHG $GSL_CHG \\\"$QGIS_BUILD_PATH/MacOS/Qgis\\\"\"\ninstall_name_tool $PGSQL_CHG $GDAL_CHG $PROJ_CHG $GEOS_CHG $SQLITE_CHG $GSL_CHG \"$QGIS_BUILD_PATH/MacOS/Qgis\"\n\nfor p in $pluglist\ndo\n\tinstall_name_tool $PGSQL_CHG $GDAL_CHG $PROJ_CHG $GEOS_CHG $SQLITE_CHG $GSL_CHG \"$QGIS_BUILD_PATH/MacOS/$QGIS_PLUGIN_SUBDIR/$p\"\ndone\n\nfor l in $liblist\ndo\n\tinstall_name_tool $PGSQL_CHG $GDAL_CHG $PROJ_CHG $GEOS_CHG $SQLITE_CHG $GSL_CHG \"$QGIS_BUILD_PATH/MacOS/$QGIS_LIB_SUBDIR/$l\"\ndone\n\nif [ -f \"$QGIS_BUILD_PATH/MacOS/$QGIS_DATA_SUBDIR/python/qgis/core.so\" ] ; then\n\tinstall_name_tool $PGSQL_CHG $GDAL_CHG $PROJ_CHG $GEOS_CHG $SQLITE_CHG $GSL_CHG \"$QGIS_BUILD_PATH/MacOS/$QGIS_DATA_SUBDIR/python/qgis/core.so\"\n\tinstall_name_tool $PGSQL_CHG $GDAL_CHG $PROJ_CHG $GEOS_CHG $SQLITE_CHG $GSL_CHG \"$QGIS_BUILD_PATH/MacOS/$QGIS_DATA_SUBDIR/python/qgis/gui.so\"\nfi\n# other bundling\n\n# gpsbabel\n\nif [ \"$BUNDLE_GPSBABEL\" = \"YES\" ] && [ -f \"$GPSBABEL\" ] ; then\n\tcp -f \"$GPSBABEL\" \"$QGIS_BUILD_PATH/MacOS/$QGIS_BIN_SUBDIR\"/\nfi\n";
+			shellScript = "# Note: quoting messes up the -change action in install_name_tool, so for now\n# dependency libraries should have no spaces in paths.  ***FIXME***\n\ncd \"$QGIS_BUILD_PATH/MacOS/$QGIS_PLUGIN_SUBDIR\"\npluglist=`ls *.so`\n\ncd \"$QGIS_BUILD_PATH/MacOS/$QGIS_LIB_SUBDIR\"\nliblist=`ls *.dylib`\n\ncd \"$PROJECT_DIR\"\n\n# Postgres\n\nPGSQLROOT=\"$PGSQL_PREFIX/lib\"\nif [ \"$BUNDLE_PGSQL\" = \"YES\" ] && [ -f \"$PGSQLROOT/libpq.dylib\" ] ; then\n\tcp -f \"$PGSQLROOT/libpq.dylib\" \"$QGIS_BUILD_PATH/MacOS/$QGIS_LIB_SUBDIR/libpq.dylib\"\n\tplib=`otool -L \"$PGSQLROOT/libpq.dylib\" | grep -E -m 1 \"libpq.+ \" | cut -d \\( -f 1 | sed -E -e 's/^[[:space:]]//' -e 's/[[:space:]]$//'`\n\tPGSQL_CHG=\"-change $plib @executable_path/$QGIS_LIB_SUBDIR/libpq.dylib\"\nfi\n\n# GDAL\n# *** Note: may need support files also ***\n\nGDALROOT=\"$GDAL_PREFIX/lib\"\nif [ \"$BUNDLE_GDAL\" = \"YES\" ] && [ \"$GDAL_FORM\" = \"shared\" ] && [ -f \"$GDALROOT/libgdal.dylib\" ] ; then\n\tcp -f \"$GDALROOT/libgdal.dylib\" \"$QGIS_BUILD_PATH/MacOS/$QGIS_LIB_SUBDIR/libgdal.dylib\"\n\tglib=`otool -L \"$GDALROOT/libgdal.dylib\" | grep -E -m 1 \"libgdal.+ \" | cut -d \\( -f 1 | sed -E -e 's/^[[:space:]]//' -e 's/[[:space:]]$//'`\n\tGDAL_CHG=\"-change $glib @executable_path/$QGIS_LIB_SUBDIR/libgdal.dylib\"\nfi\n\n# PROJ\n# *** Note: may need support files also ***\n\nPROJROOT=\"$PROJ_PREFIX/lib\"\nif [ \"$BUNDLE_PROJ\" = \"YES\" ] && [ \"$PROJ_FORM\" = \"shared\" ] && [ -f \"$PROJROOT/libproj.dylib\" ] ; then\n\tcp -f \"$PROJROOT/libproj.dylib\" \"$QGIS_BUILD_PATH/MacOS/$QGIS_LIB_SUBDIR/libproj.dylib\"\n\tplib=`otool -L \"$PROJROOT/libproj.dylib\" | grep -E -m 1 \"libproj.+ \" | cut -d \\( -f 1 | sed -E -e 's/^[[:space:]]//' -e 's/[[:space:]]$//'`\n\tPROJ_CHG=\"-change $plib @executable_path/$QGIS_LIB_SUBDIR/libproj.dylib\"\nfi\n\n# GEOS\n\nGEOSROOT=\"$GEOS_PREFIX/lib\"\nif [ \"$BUNDLE_GEOS\" = \"YES\" ] && [ \"$GEOS_FORM\" = \"shared\" ] && [ -f \"$GEOSROOT/libgeos.dylib\" ] ; then\n\tcp -f \"$GEOSROOT/libgeos.dylib\" \"$GEOSROOT/libgeos_c.dylib\" \"$QGIS_BUILD_PATH/MacOS/$QGIS_LIB_SUBDIR/\"\n\tglib=`otool -L \"$GEOSROOT/libgeos.dylib\" | grep -E -m 1 \"libgeos.+ \" | cut -d \\( -f 1 | sed -E -e 's/^[[:space:]]//' -e 's/[[:space:]]$//'`\n\tgclib=`otool -L \"$GEOSROOT/libgeos_c.dylib\" | grep -E -m 1 \"libgeos_c.+ \" | cut -d \\( -f 1 | sed -E -e 's/^[[:space:]]//' -e 's/[[:space:]]$//'`\n\tGEOS_CHG=\"-change $glib @executable_path/$QGIS_LIB_SUBDIR/libgeos.dylib -change $gclib @executable_path/$QGIS_LIB_SUBDIR/libgeos_c.dylib\"\nfi\n\n# SQLite\n\nSQLITEROOT=\"$SQLITE_PREFIX/lib\"\nif [ \"$BUNDLE_SQLITE\" = \"YES\" ] && [ \"$SQLITE_FORM\" = \"shared\" ] && [ -f \"$SQLITEROOT/libsqlite3.dylib\" ] ; then\n\tcp -f \"$SQLITEROOT/libsqlite3.dylib\" \"$QGIS_BUILD_PATH/MacOS/$QGIS_LIB_SUBDIR/libsqlite3.dylib\"\n\tslib=`otool -L \"$SQLITEROOT/libsqlite3.dylib\" | grep -E -m 1 \"libsqlite3.+ \" | cut -d \\( -f 1 | sed -E -e 's/^[[:space:]]//' -e 's/[[:space:]]$//'`\n\tSQLITE_CHG=\"-change $slib @executable_path/$QGIS_LIB_SUBDIR/libsqlite3.dylib\"\nfi\n\n# GSL\n\nGSLROOT=\"$GSL_PREFIX/lib\"\nif [ \"$BUNDLE_GSL\" = \"YES\" ] && [ \"$GSL_FORM\" = \"shared\" ] && [ -f \"$GSLROOT/libgsl.dylib\" ] ; then\n\tcp -f \"$GSLROOT/libgsl.dylib\" \"$QGIS_BUILD_PATH/MacOS/$QGIS_LIB_SUBDIR/libgsl.dylib\"\n\tcp -f \"$GSLROOT/libgslcblas.dylib\" \"$QGIS_BUILD_PATH/MacOS/$QGIS_LIB_SUBDIR/libgslcblas.dylib\"\n\tglib=`otool -L \"$GSLROOT/libgsl.dylib\" | grep -E -m 1 \"libgsl.+ \" | cut -d \\( -f 1 | sed -E -e 's/^[[:space:]]//' -e 's/[[:space:]]$//'`\n\tgclib=`otool -L \"$GSLROOT/libgslcblas.dylib\" | grep -E -m 1 \"libgslcblas.+ \" | cut -d \\( -f 1 | sed -E -e 's/^[[:space:]]//' -e 's/[[:space:]]$//'`\n\tGSL_CHG=\"-change $glib @executable_path/$QGIS_LIB_SUBDIR/libgsl.dylib -change $gclib @executable_path/$QGIS_LIB_SUBDIR/libgslcblas.dylib\"\nfi\n\n# change for all bundled libs now\n\necho \"install_name_tool $PGSQL_CHG $GDAL_CHG $PROJ_CHG $GEOS_CHG $SQLITE_CHG $GSL_CHG \\\"$QGIS_BUILD_PATH/MacOS/Qgis\\\"\"\ninstall_name_tool $PGSQL_CHG $GDAL_CHG $PROJ_CHG $GEOS_CHG $SQLITE_CHG $GSL_CHG \"$QGIS_BUILD_PATH/MacOS/Qgis\"\n\nfor p in $pluglist\ndo\n\tinstall_name_tool $PGSQL_CHG $GDAL_CHG $PROJ_CHG $GEOS_CHG $SQLITE_CHG $GSL_CHG \"$QGIS_BUILD_PATH/MacOS/$QGIS_PLUGIN_SUBDIR/$p\"\ndone\n\nfor l in $liblist\ndo\n\tinstall_name_tool $PGSQL_CHG $GDAL_CHG $PROJ_CHG $GEOS_CHG $SQLITE_CHG $GSL_CHG \"$QGIS_BUILD_PATH/MacOS/$QGIS_LIB_SUBDIR/$l\"\ndone\n\nif [ -f \"$QGIS_BUILD_PATH/MacOS/$QGIS_DATA_SUBDIR/python/qgis/core.so\" ] ; then\n\tinstall_name_tool $PGSQL_CHG $GDAL_CHG $PROJ_CHG $GEOS_CHG $SQLITE_CHG $GSL_CHG \"$QGIS_BUILD_PATH/MacOS/$QGIS_DATA_SUBDIR/python/qgis/core.so\"\n\tinstall_name_tool $PGSQL_CHG $GDAL_CHG $PROJ_CHG $GEOS_CHG $SQLITE_CHG $GSL_CHG \"$QGIS_BUILD_PATH/MacOS/$QGIS_DATA_SUBDIR/python/qgis/gui.so\"\nfi\n# other bundling\n\n# gpsbabel\n\nif [ \"$BUNDLE_GPSBABEL\" = \"YES\" ] && [ -f \"$GPSBABEL\" ] ; then\n\tcp -f \"$GPSBABEL\" \"$QGIS_BUILD_PATH/MacOS/$QGIS_BIN_SUBDIR\"/\nfi\n\n# user bundling from bundle.sh\n\nif [ -f bundle.sh ] ; then\n\t./bundle.sh\nfi\n";
 			showEnvVarsInLog = 0;
 		};
 		727AD4FA0F7325CA002B9DCD /* install */ = {
@@ -13572,7 +13574,7 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "# Note: assmes default Qt binary framework install\n\nqtlistqg=\"Qt3Support QtCore QtGui QtNetwork QtSql QtSvg QtXml QtWebKit\"\n#QtAssistant QtOpenGL QtScript QtTest\"\npyqtlist=\"Qt QtCore QtGui QtNetwork QtSql QtSvg QtXml QtWebKit\"\n#qgliblist=\"libqgis_core libqgis_gui libqgisgrass libqgispython\"\n\nAPPDIRC=\"$QGIS_BUILD_PATH\" # app contents\nAPPDIR=\"$APPDIRC/MacOS\"\nFWDIR=\"$APPDIR/$QGIS_FW_SUBDIR\"\nLIBDIR=\"$APPDIR/$QGIS_LIB_SUBDIR\"\nQGISPYDIR=\"$APPDIR/$QGIS_DATA_SUBDIR/python\"\n\n# copy Qt frameworks\nmkdir -p \"$FWDIR\"\nfor q in $qtlistqg\ndo\n\tif [ ! -d \"$FWDIR/$q.framework\" ] ; then\n\t\tcp -Rf \"/Library/Frameworks/$q.framework\" \"$FWDIR\"\n\t\trm -f \"$FWDIR/$q.framework/$q.prl\"\n\t\t# Qt headers might be useful?\n\t\trm -f \"$FWDIR/$q.framework/Headers\"\n\t\trm -Rf \"$FWDIR/$q.framework/Versions/$QT_FWVER/Headers\"\n\tfi\ndone\n\n# copy Qt plugins\nmkdir -p \"$APPDIRC/PlugIns/imageformats\"\nif [ ! -f \"$APPDIRC/PlugIns/imageformats/libqjpeg.dylib\" ] ; then\n\tcp -f \"$QTDIR/plugins/imageformats/libqjpeg.dylib\" \"$APPDIRC/PlugIns/imageformats/\"\nfi\n\n# PyQt path based on PYTHON_FORM\nif [ \"$PYTHON_FORM\" = \"fw\" ] ; then\n\tPYSITE=\"/Library/Frameworks/Python.framework/Versions/$PYTHON_VERSION/lib/python$PYTHON_VERSION/site-packages\"\nelif [ \"$PYTHON_FORM\" = \"system\" ] ; then\n\tPYSITE=\"/Library/Python/$PYTHON_VERSION/site-packages\"\nelse\n\tPYSITE=\"\"\nfi\n\nif [ \"$PYSITE\" ] ; then\n\tmkdir -p \"$QGISPYDIR/PyQt$QT_FWVER\"\n\tif [ ! -f \"$QGISPYDIR/sip.so\" ] ; then\n\t\tcp -f \"$PYSITE/sip.so\" \"$PYSITE/sipconfig.py\" \"$QGISPYDIR/\"\n\tfi\n\tfor q in $pyqtlist\n\tdo\n\t\tif [ ! -f \"$QGISPYDIR/PyQt$QT_FWVER/$q.so\" ] ; then\n\t\t\tcp -f \"$PYSITE/PyQt$QT_FWVER/$q.so\" \"$QGISPYDIR/PyQt$QT_FWVER/\"\n\t\tfi\n\tdone\n\tcp -f \"$PYSITE/PyQt$QT_FWVER/\"*.py \"$QGISPYDIR/PyQt$QT_FWVER/\"\nfi\n\n# just in case no plugins were compiled\nmkdir -p \"$APPDIR/$QGIS_PLUGIN_SUBDIR\"\n# list plugins & libs\ncd \"$APPDIR/$QGIS_PLUGIN_SUBDIR\"\npluglist=`ls`\ncd \"$APPDIR/$QGIS_LIB_SUBDIR\"\nqgliblist=`ls *.dylib`\n\n# main Qt framework loop\n\ncd \"$APPDIR\"\n\nfor q in $qtlistqg\ndo\n\tqq=\"$q.framework/Versions/$QT_FWVER/$q\"\n\t# app\n\tinstall_name_tool -change $qq @executable_path/$QGIS_FW_SUBDIR/$qq \"$APPDIR/Qgis\"\n\t# bin\n\t# qgis_help qt linking done with symlinks\n\tinstall_name_tool -change $qq @executable_path/$QGIS_FW_SUBDIR/$qq \"$APPDIR/$QGIS_BIN_SUBDIR/qgis_help.app/Contents/MacOS/qgis_help\"\n\t# libs\n\tfor ql in $qgliblist\n\tdo\n\t\tinstall_name_tool -change $qq @executable_path/$QGIS_FW_SUBDIR/$qq \"$APPDIR/$QGIS_LIB_SUBDIR/$ql\"\n\tdone\n\t# plugins\n\tfor qp in $pluglist\n\tdo\n\t\tinstall_name_tool -change $qq @executable_path/$QGIS_FW_SUBDIR/$qq \"$APPDIR/$QGIS_PLUGIN_SUBDIR/$qp\"\n\tdone\n\t# qt fw\n\tfor qf in $qtlistqg\n\tdo\n\t\tinstall_name_tool -change $qq @executable_path/$QGIS_FW_SUBDIR/$qq \"$APPDIR/$QGIS_FW_SUBDIR/$qf.framework/Versions/$QT_FWVER/$qf\"\n\tdone\n\t# qt plugs\n\tinstall_name_tool -change $qq @executable_path/$QGIS_FW_SUBDIR/$qq \"$APPDIRC/PlugIns/imageformats/libqjpeg.dylib\"\n\t# PyQt\n\tif [ \"$PYSITE\" ] ; then\n\tfor pq in $pyqtlist\n\t\tdo\n\t\t\tinstall_name_tool -change $qq @executable_path/$QGIS_FW_SUBDIR/$qq \"$QGISPYDIR/PyQt$QT_FWVER/$pq.so\"\n\t\tdone\n\t\tinstall_name_tool -change $qq @executable_path/$QGIS_FW_SUBDIR/$qq \"$QGISPYDIR/qgis/core.so\"\n\t\tinstall_name_tool -change $qq @executable_path/$QGIS_FW_SUBDIR/$qq \"$QGISPYDIR/qgis/gui.so\"\n\tfi\ndone\n";
+			shellScript = "# Note: assumes default Qt binary framework install\n\nAPPDIRC=\"$QGIS_BUILD_PATH\" # app contents\nAPPDIR=\"$APPDIRC/MacOS\"\nFWDIR=\"$APPDIR/$QGIS_FW_SUBDIR\"\nLIBDIR=\"$APPDIR/$QGIS_LIB_SUBDIR\"\nQGISPYDIR=\"$APPDIR/$QGIS_DATA_SUBDIR/python\"\n\n# copy Qt frameworks\nmkdir -p \"$FWDIR\"\nfor q in $QTLISTQG\ndo\n\tif [ ! -d \"$FWDIR/$q.framework\" ] ; then\n\t\tcp -Rf \"/Library/Frameworks/$q.framework\" \"$FWDIR\"\n\t\trm -f \"$FWDIR/$q.framework/$q.prl\"\n\t\t# Qt headers might be useful?\n\t\trm -f \"$FWDIR/$q.framework/Headers\"\n\t\trm -Rf \"$FWDIR/$q.framework/Versions/$QT_FWVER/Headers\"\n\tfi\ndone\n\n# copy Qt plugins\nmkdir -p \"$APPDIRC/PlugIns/imageformats\"\nif [ ! -f \"$APPDIRC/PlugIns/imageformats/libqjpeg.dylib\" ] ; then\n\tcp -f \"$QTDIR/plugins/imageformats/libqjpeg.dylib\" \"$APPDIRC/PlugIns/imageformats/\"\nfi\n\n# PyQt path based on PYTHON_FORM\nif [ \"$PYTHON_FORM\" = \"fw\" ] ; then\n\tPYSITE=\"/Library/Frameworks/Python.framework/Versions/$PYTHON_VERSION/lib/python$PYTHON_VERSION/site-packages\"\nelif [ \"$PYTHON_FORM\" = \"system\" ] ; then\n\tPYSITE=\"/Library/Python/$PYTHON_VERSION/site-packages\"\nelse\n\tPYSITE=\"\"\nfi\n\nif [ \"$PYSITE\" ] ; then\n\tmkdir -p \"$QGISPYDIR/PyQt$QT_FWVER\"\n\tif [ ! -f \"$QGISPYDIR/sip.so\" ] ; then\n\t\tcp -f \"$PYSITE/sip.so\" \"$PYSITE/sipconfig.py\" \"$QGISPYDIR/\"\n\tfi\n\tfor q in $PYQTLIST\n\tdo\n\t\tif [ ! -f \"$QGISPYDIR/PyQt$QT_FWVER/$q.so\" ] ; then\n\t\t\tcp -f \"$PYSITE/PyQt$QT_FWVER/$q.so\" \"$QGISPYDIR/PyQt$QT_FWVER/\"\n\t\tfi\n\tdone\n\tcp -f \"$PYSITE/PyQt$QT_FWVER/\"*.py \"$QGISPYDIR/PyQt$QT_FWVER/\"\nfi\n\n# just in case no plugins were compiled\nmkdir -p \"$APPDIR/$QGIS_PLUGIN_SUBDIR\"\n# list plugins & libs\ncd \"$APPDIR/$QGIS_PLUGIN_SUBDIR\"\npluglist=`ls`\ncd \"$APPDIR/$QGIS_LIB_SUBDIR\"\nqgliblist=`ls *.dylib`\n\n# main Qt framework loop\n\ncd \"$APPDIR\"\n\nfor q in $QTLISTQG\ndo\n\tqq=\"$q.framework/Versions/$QT_FWVER/$q\"\n\t# app\n\tinstall_name_tool -change $qq @executable_path/$QGIS_FW_SUBDIR/$qq \"$APPDIR/Qgis\"\n\t# bin\n\t# qgis_help qt linking done with symlinks\n\tinstall_name_tool -change $qq @executable_path/$QGIS_FW_SUBDIR/$qq \"$APPDIR/$QGIS_BIN_SUBDIR/qgis_help.app/Contents/MacOS/qgis_help\"\n\t# libs\n\tfor ql in $qgliblist\n\tdo\n\t\tinstall_name_tool -change $qq @executable_path/$QGIS_FW_SUBDIR/$qq \"$APPDIR/$QGIS_LIB_SUBDIR/$ql\"\n\tdone\n\t# plugins\n\tfor qp in $pluglist\n\tdo\n\t\tinstall_name_tool -change $qq @executable_path/$QGIS_FW_SUBDIR/$qq \"$APPDIR/$QGIS_PLUGIN_SUBDIR/$qp\"\n\tdone\n\t# qt fw\n\tfor qf in $QTLISTQG\n\tdo\n\t\tinstall_name_tool -change $qq @executable_path/$QGIS_FW_SUBDIR/$qq \"$APPDIR/$QGIS_FW_SUBDIR/$qf.framework/Versions/$QT_FWVER/$qf\"\n\tdone\n\t# qt plugs\n\tinstall_name_tool -change $qq @executable_path/$QGIS_FW_SUBDIR/$qq \"$APPDIRC/PlugIns/imageformats/libqjpeg.dylib\"\n\t# PyQt\n\tif [ \"$PYSITE\" ] ; then\n\tfor pq in $PYQTLIST\n\t\tdo\n\t\t\tinstall_name_tool -change $qq @executable_path/$QGIS_FW_SUBDIR/$qq \"$QGISPYDIR/PyQt$QT_FWVER/$pq.so\"\n\t\tdone\n\t\tinstall_name_tool -change $qq @executable_path/$QGIS_FW_SUBDIR/$qq \"$QGISPYDIR/qgis/core.so\"\n\t\tinstall_name_tool -change $qq @executable_path/$QGIS_FW_SUBDIR/$qq \"$QGISPYDIR/qgis/gui.so\"\n\tfi\ndone\n";
 			showEnvVarsInLog = 0;
 		};
 /* End PBXShellScriptBuildPhase section */

Modified: trunk/qgis/mac/xcode/ReadMe.rtf
===================================================================
--- trunk/qgis/mac/xcode/ReadMe.rtf	2009-03-22 23:42:53 UTC (rev 10405)
+++ trunk/qgis/mac/xcode/ReadMe.rtf	2009-03-23 01:26:28 UTC (rev 10406)
@@ -10,7 +10,7 @@
 \b0\fs24 \cf0 \
 \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
 
-\i \cf0 2.1.2	2009-3-19\
+\i \cf0 2.1.3	2009-3-22\
 \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
 
 \i0 \cf0 \
@@ -174,9 +174,6 @@
 \
 \ul Bundle options\ulnone  - Some libraries and programs can be bundled in the Qgis.app package for a more portable Qgis.app.  These are pretty straightforward - yes or no.  At some time I will add more checking logic, but for now be explicit.  Generally, you don't need to bundle frameworks or system libraries.  The only logic checks whether the dynamic library or program exists, so it automatically excludes static libraries and frameworks, but it doesn't check whether it's a system library, so you could end up bundling libsqlite from the system.\
 \
-Some of the bundle targets don't exist yet, but can easily be created as needed.  Lazyness again.\
-\
-\
 \ul Prefixes\ulnone  - If you have unix libraries installed in a location other than 
 \f1\fs20 /usr/local
 \f0\fs24 , the next section is where you can change those.  \ul Make sure to check these for any library forms\ulnone .\
@@ -195,9 +192,28 @@
 \
 \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
 
-\b \cf0 Build Targets
+\b \cf0 Extra Bundling
 \b0 \
 \
+Other support items not needed by the standard Qgis build can be bundled for a custom Qgis build: extra plugins, libraries, frameworks, Python modules.  For example, some PyQt-based extra modules (ie Qwt5) are installed inside the PyQt folder, and these won't be found if they are not bundled with the Qgis copy of PyQt.\
+\
+Duplicate the file 
+\f1\fs20 bundle-template.sh
+\f0\fs24  with the name 
+\f1\fs20 bundle.sh
+\f0\fs24 .  Add needed copy and processing commands to this.  See the comments in 
+\f1\fs20 bundle.sh
+\f0\fs24  for details.  
+\f1\fs20 bundle.sh
+\f0\fs24  is meant to be reusable, just like 
+\f1\fs20 qgis_user.xcconfig
+\f0\fs24 .\
+\
+\
+
+\b Build Targets
+\b0 \
+\
 \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
 \cf0 \ul Full QGIS\ulnone   will build Qgis with Python support and all default and optional plugins.\
 \

Added: trunk/qgis/mac/xcode/bundle-template.sh
===================================================================
--- trunk/qgis/mac/xcode/bundle-template.sh	                        (rev 0)
+++ trunk/qgis/mac/xcode/bundle-template.sh	2009-03-23 01:26:28 UTC (rev 10406)
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+# bundle-template.sh
+# Qgis
+#
+# Created by William Kyngesburye on 2009-03-22.
+
+# Extra bundling operations.  Use for extras that are not a part of the
+# standard Qgis build.  For example, PyQt extras like Qwt5.
+
+# To use, duplicate this file with the name 'bundle.sh'.  It will not be
+# overwritten in an update so you can use it for future Qgis versions.
+# Just make sure that what you do here doesn't conflict with updates.
+# And make sure to check this template for any changes.
+
+# Qgis paths to use:
+
+# bin: "$QGIS_BUILD_PATH/MacOS/$QGIS_BIN_SUBDIR/"
+# lib: "$QGIS_BUILD_PATH/MacOS/$QGIS_LIB_SUBDIR/"
+# plugins: "$QGIS_BUILD_PATH/MacOS/$QGIS_PLUGIN_SUBDIR/"
+# data: "$QGIS_BUILD_PATH/MacOS/$QGIS_DATA_SUBDIR/"
+# frameworks: "$QGIS_BUILD_PATH/Frameworks"
+
+# If Qt components are used in any bundled extras, they must be processed
+# with install_name_tool to use the bundled Qt frameworks.
+# Do this *after* copying.
+
+#for q in $QTLISTQG
+#do
+#	qq="$q.framework/Versions/$QT_FWVER/$q"
+#	install_name_tool -change $qq @executable_path/$QGIS_FW_SUBDIR/$qq \
+#	"/path/to/bundled/binary"
+#done
+
+# If a library or framework is bundled along with a plugin or python module
+# that uses it, install_name_tool must be used on the plugin or module
+# so that it can find the library.  Everything is relative to the Qgis
+# executable.  ie:
+
+# install_name_tool -change /current/library/path \
+# @executable_path/$QGIS_LIB_SUBDIR/bundled_lib_name
+
+# The current library path can be found in the script with (fill in the
+# file basename for 'libname'):
+
+# currlib=`otool -L "/path/to/libname.dylib" | grep -E -m 1 "libname.+ " | cut -d \( -f 1 | sed -E -e 's/^[[:space:]]//' -e 's/[[:space:]]$//'`
+
+# See the Qgis target bundle Qt and bundle extras script phases for examples.
+
+##### Put your bundling command here: #####
+
+


Property changes on: trunk/qgis/mac/xcode/bundle-template.sh
___________________________________________________________________
Name: svn:executable
   + *

Modified: trunk/qgis/mac/xcode/qgis_settings.xcconfig
===================================================================
--- trunk/qgis/mac/xcode/qgis_settings.xcconfig	2009-03-22 23:42:53 UTC (rev 10405)
+++ trunk/qgis/mac/xcode/qgis_settings.xcconfig	2009-03-23 01:26:28 UTC (rev 10406)
@@ -1,6 +1,6 @@
 // QGIS Xcode project common build settings
 
-CURRENT_PROJECT_VERSION = 2.1.2
+CURRENT_PROJECT_VERSION = 2.1.3
 
 // SDK not required for native universal build, but recommended,
 // and allows building multiple SDK builds side-by-side
@@ -200,6 +200,10 @@
 QT_LIB_QT3 = -framework Qt3Support
 // convenience for all Qt:
 QT_LIB = $(QT_LIB_CORE) $(QT_LIB_GUI) $(QT_LIB_NET) $(QT_LIB_XML) $(QT_LIB_SVG) $(QT_LIB_SQL)
+// list of Qt frameworks used
+QTLISTQG = Qt3Support QtCore QtGui QtNetwork QtSql QtSvg QtXml QtWebKit
+// list of PyQt modules used
+PYQTLIST = Qt QtCore QtGui QtNetwork QtSql QtSvg QtXml QtWebKit
 
 // with a choice of system vs user unix libs, use full path to lib file
 // to avoid possible accidental linking to system lib (ie expat)



More information about the QGIS-commit mailing list