[mapguide-commits] r10172 - branches/4.0/MgDev/Portable
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Mon Aug 18 03:44:41 PDT 2025
Author: jng
Date: 2025-08-18 03:44:38 -0700 (Mon, 18 Aug 2025)
New Revision: 10172
Added:
branches/4.0/MgDev/Portable/README.md
Log:
Add an introductory README about MapGuide Portable and how to build it, for those who come after ...
Added: branches/4.0/MgDev/Portable/README.md
===================================================================
--- branches/4.0/MgDev/Portable/README.md (rev 0)
+++ branches/4.0/MgDev/Portable/README.md 2025-08-18 10:44:38 UTC (rev 10172)
@@ -0,0 +1,65 @@
+# MapGuide Portable
+
+MapGuide Portable (formerly known as mg-desktop) is a portable implementation of the MapGuide Platform that has no dependencies on a MapGuide Server or Web Tier.
+
+All the necessary components and services for building geospatial applications such as feature data access and map rendering/stylization are contained in the MapGuide Portable library itself.
+
+As such, MapGuide Portable is geared for building self-contained console/desktop geospatial applications.
+
+MapGuide Portable also provides a Windows Forms component library with ready-to-use map viewer components for your application.
+
+# Platform Support
+
+MapGuide Portable only supports Windows. Linux support may be added in the future.
+
+# Build pre-requisites
+
+> All relative path references going forward are relative to the root of your MapGuide source checkout (if you're reading this document from your checkout, then the root is one directory level up)
+
+You need Visual Studio 2022 (any edition) with the MSVC 2019 C++ compiler workloads enabled.
+
+You need to have built FDO already and:
+
+ * It's binaries are under `Oem/FDO/Bin/Release64`
+ * It's headers are under `Oem/FDO/Inc`
+ * It's import libraries are under `Oem/FDO/Lib64`
+
+# Building
+
+Open a developer command prompt in Visual Studio, then navigate to the root of your MapGuide source checkout
+
+In there, init the MapGuide dev environment like so:
+
+```
+setenvironment64.bat x86_amd64
+```
+
+Then you can run `devenv` to launch Visual Studio initialized with the environment variables set by the preceding `setenvironment64.bat`
+
+Once Visual Studio is open, build `Oem/oem.sln` first so that all 3rd party libraries needed by MapGuide are built
+
+Then you can open `Portable/Portable.sln` in this directory and build that. This will build:
+
+ * The common MapGuide libraries
+ * The MapGuide renderer and stylization libraries
+ * MapGuide Portable
+ * The SWIG .net bindings for MapGuide Portable and common libraries
+
+Once this is built, you should see a series of nuget packages under `packages/DotNet/release`
+
+ * `OSGeo.MapGuide.Foundation.x.y.z.nupkg`
+ * `OSGeo.MapGuide.Geometry.x.y.z.nupkg`
+ * `OSGeo.MapGuide.PlatformBase.x.y.z.nupkg`
+ * `OSGeo.MapGuide.Portable.x.y.z.nupkg`
+ * `OSGeo.MapGuide.Viewer.x.y.z.nupkg`
+ * `OSGeo.MapGuide.Viewer.Portable.x.y.z.nupkg`
+
+# Building test and reference apps
+
+In this same directory there is a `Portable/PortableApps.sln` which contains test and example apps using the MapGuide Portable nuget packages you have built from the previous step.
+
+Once MapGuide Portable has been built and the aforementioned nuget packages are present, you can build `Portable/PortableApps.sln` in Visual Studio.
+
+> NOTE: This section below is currently false, but it is our intended goal.
+
+As all the MapGuide nuget packages adhere to the packaging rules around native libraries, any project in `Portable/PortableApps.sln` can be launched from Visual Studio without any post build dll copying required.
\ No newline at end of file
More information about the mapguide-commits
mailing list