[mapguide-commits] r10240 - in branches/4.0/MgDev/Bindings/src/Bindings/DotNet: Geometry MapGuideCommon PlatformBase Web

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Mon Nov 2 07:30:54 PST 2026


Author: jng
Date: 2026-11-02 07:30:53 -0800 (Mon, 02 Nov 2026)
New Revision: 10240

Modified:
   branches/4.0/MgDev/Bindings/src/Bindings/DotNet/Geometry/CMakeLists.txt
   branches/4.0/MgDev/Bindings/src/Bindings/DotNet/MapGuideCommon/CMakeLists.txt
   branches/4.0/MgDev/Bindings/src/Bindings/DotNet/PlatformBase/CMakeLists.txt
   branches/4.0/MgDev/Bindings/src/Bindings/DotNet/Web/CMakeLists.txt
Log:
#2493: DotNet SWIG targets re-ordering to avoid file races

Modified: branches/4.0/MgDev/Bindings/src/Bindings/DotNet/Geometry/CMakeLists.txt
===================================================================
--- branches/4.0/MgDev/Bindings/src/Bindings/DotNet/Geometry/CMakeLists.txt	2026-11-02 15:13:14 UTC (rev 10239)
+++ branches/4.0/MgDev/Bindings/src/Bindings/DotNet/Geometry/CMakeLists.txt	2026-11-02 15:30:53 UTC (rev 10240)
@@ -6,6 +6,12 @@
 
 add_library(GeometryUnmanagedApi SHARED ${GeometryUnmanagedApi_SRCS})
 add_dependencies(GeometryUnmanagedApi IMake)
+# Generation is not parallel-safe. IMake writes <Api>Api_Properties.i into the source
+# tree (removed again below) and each module %includes the .i files the earlier modules
+# generate, so running these targets concurrently lets one module read another's
+# fragments mid-write ("Unterminated %{ ... %}" in <Api>Api_Doc.i, or "Unable to find
+# '<Api>Api_Properties.i'"). Serialise in the %include order of <Api>ApiGen.xml.
+add_dependencies(GeometryUnmanagedApi FoundationUnmanagedApi)
 if (UNIX)
     add_definitions(-DDOTNETCORE)
     # NOTE: We don't care where this source is generated because the C# source is only built on windows

Modified: branches/4.0/MgDev/Bindings/src/Bindings/DotNet/MapGuideCommon/CMakeLists.txt
===================================================================
--- branches/4.0/MgDev/Bindings/src/Bindings/DotNet/MapGuideCommon/CMakeLists.txt	2026-11-02 15:13:14 UTC (rev 10239)
+++ branches/4.0/MgDev/Bindings/src/Bindings/DotNet/MapGuideCommon/CMakeLists.txt	2026-11-02 15:30:53 UTC (rev 10240)
@@ -6,6 +6,9 @@
 
 add_library(MapGuideCommonUnmanagedApi SHARED ${MapGuideCommonUnmanagedApi_SRCS})
 add_dependencies(MapGuideCommonUnmanagedApi IMake)
+# See Geometry/CMakeLists.txt: generation is serialised in the %include order of
+# MapGuideCommonApiGen.xml.
+add_dependencies(MapGuideCommonUnmanagedApi FoundationUnmanagedApi GeometryUnmanagedApi PlatformBaseUnmanagedApi)
 if (UNIX)
     add_definitions(-DDOTNETCORE)
     # NOTE: We don't care where this source is generated because the C# source is only built on windows

Modified: branches/4.0/MgDev/Bindings/src/Bindings/DotNet/PlatformBase/CMakeLists.txt
===================================================================
--- branches/4.0/MgDev/Bindings/src/Bindings/DotNet/PlatformBase/CMakeLists.txt	2026-11-02 15:13:14 UTC (rev 10239)
+++ branches/4.0/MgDev/Bindings/src/Bindings/DotNet/PlatformBase/CMakeLists.txt	2026-11-02 15:30:53 UTC (rev 10240)
@@ -6,6 +6,9 @@
 
 add_library(PlatformBaseUnmanagedApi SHARED ${PlatformBaseUnmanagedApi_SRCS})
 add_dependencies(PlatformBaseUnmanagedApi IMake)
+# See Geometry/CMakeLists.txt: generation is serialised in the %include order of
+# PlatformBaseApiGen.xml.
+add_dependencies(PlatformBaseUnmanagedApi FoundationUnmanagedApi GeometryUnmanagedApi)
 if (UNIX)
     add_definitions(-DDOTNETCORE)
     # NOTE: We don't care where this source is generated because the C# source is only built on windows

Modified: branches/4.0/MgDev/Bindings/src/Bindings/DotNet/Web/CMakeLists.txt
===================================================================
--- branches/4.0/MgDev/Bindings/src/Bindings/DotNet/Web/CMakeLists.txt	2026-11-02 15:13:14 UTC (rev 10239)
+++ branches/4.0/MgDev/Bindings/src/Bindings/DotNet/Web/CMakeLists.txt	2026-11-02 15:30:53 UTC (rev 10240)
@@ -9,6 +9,9 @@
 
 add_library(WebUnmanagedApi SHARED ${WebUnmanagedApi_SRCS})
 add_dependencies(WebUnmanagedApi IMake)
+# See Geometry/CMakeLists.txt: generation is serialised in the %include order of
+# WebApiGen.xml.
+add_dependencies(WebUnmanagedApi FoundationUnmanagedApi GeometryUnmanagedApi PlatformBaseUnmanagedApi MapGuideCommonUnmanagedApi)
 if (UNIX)
     add_definitions(-DDOTNETCORE)
     # NOTE: We don't care where this source is generated because the C# source is only built on windows



More information about the mapguide-commits mailing list