[mapguide-commits] r9805 - in sandbox/jng/vanilla_swig: . Bindings/src/Bindings/DotNet Bindings/src/Bindings/DotNet/Web Web/src
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Fri Nov 27 07:12:15 PST 2020
Author: jng
Date: 2020-11-27 07:12:14 -0800 (Fri, 27 Nov 2020)
New Revision: 9805
Modified:
sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/CMakeLists.txt
sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/CMakeLists.txt
sandbox/jng/vanilla_swig/CMakeLists.txt
sandbox/jng/vanilla_swig/Web/src/CMakeLists.txt
Log:
Get Web .net glue library building on the Linux side
Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/CMakeLists.txt
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/CMakeLists.txt 2020-11-26 15:26:21 UTC (rev 9804)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/CMakeLists.txt 2020-11-27 15:12:14 UTC (rev 9805)
@@ -1,5 +1,3 @@
-#project(MapGuideDotNetUnmanagedApi)
-
include_directories(
${MG_COMMON_DIR}/MdfModel
${MG_COMMON_DIR}/Foundation
@@ -7,9 +5,9 @@
${MG_COMMON_DIR}/PlatformBase
${MG_COMMON_DIR}/MapGuideCommon
${ACE_INCLUDE_DIR}
- ${MG_WEB_DIR}/HttpHandler
- ${MG_WEB_DIR}/WebSupport
- ${MG_WEB_DIR}/WebApp
+ ${MG_WEB_DIR}/src/HttpHandler
+ ${MG_WEB_DIR}/src/WebSupport
+ ${MG_WEB_DIR}/src/WebApp
${XERCESC_INCLUDE_DIR}
)
Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/CMakeLists.txt
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/CMakeLists.txt 2020-11-26 15:26:21 UTC (rev 9804)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/CMakeLists.txt 2020-11-27 15:12:14 UTC (rev 9805)
@@ -0,0 +1,73 @@
+project(WebUnmanagedApi)
+
+set(WebUnmanagedApi_SRCS
+ ${CMAKE_CURRENT_BINARY_DIR}/WebUnmanagedApi_wrap.cpp
+)
+
+file(COPY "../InitializeWebTier.cpp" DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
+file(COPY "InitializeWebTier.i" DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
+
+add_library(WebUnmanagedApi SHARED ${WebUnmanagedApi_SRCS})
+add_dependencies(WebUnmanagedApi IMake)
+if (UNIX)
+ add_definitions(-DDOTNETCORE)
+ # NOTE: We don't care where this source is generated because the C# source is only built on windows
+ set(MG_DOTNET_PROJECT_DIR ${CMAKE_CURRENT_BINARY_DIR})
+ set_target_properties(WebUnmanagedApi PROPERTIES INSTALL_RPATH "$ORIGIN")
+endif (UNIX)
+if (MSVC)
+ add_definitions(-DSWIG_PUBLIC_API)
+ add_definitions(/bigobj)
+ set_target_properties(WebUnmanagedApi PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${MG_DOTNET_OUTPUT_DIR} )
+ set_target_properties(WebUnmanagedApi PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUG ${MG_DOTNET_OUTPUT_DIR} )
+ set_target_properties(WebUnmanagedApi PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASE ${MG_DOTNET_OUTPUT_DIR} )
+endif (MSVC)
+
+set(IMAKE_RELATIVE_RESOLUTION "-r ${CMAKE_CURRENT_SOURCE_DIR}")
+if (UNIX)
+ set(IMAKE_RELATIVE_RESOLUTION "-a")
+endif (UNIX)
+
+set(SWIG_DOTNET_DEFS "")
+if (WIN32)
+ set(SWIG_DOTNET_DEFS "-DWIN32")
+endif (WIN32)
+
+message(STATUS "Using IMake at: ${IMAKE_TOOL}")
+add_custom_command(OUTPUT ${WebUnmanagedApi_SRCS}
+ COMMAND ${CMAKE_COMMAND} -E echo Removing: ${MG_DOTNET_PROJECT_DIR}/*.cs
+ COMMAND ${CMAKE_COMMAND} -E remove -f
+ ${MG_DOTNET_PROJECT_DIR}/*.cs
+ COMMAND ${CMAKE_COMMAND} -E echo Regenerating: ${MG_DOTNET_PROJECT_DIR}/Constants.cs
+ COMMAND ${IMAKE_TOOL} -p ${CMAKE_CURRENT_SOURCE_DIR}/WebConstants.xml
+ -l "C#"
+ ${IMAKE_RELATIVE_RESOLUTION}
+ -o ${MG_DOTNET_PROJECT_DIR}/Constants.cs
+ -t
+ COMMAND ${CMAKE_COMMAND} -E copy
+ ${CMAKE_CURRENT_BINARY_DIR}/../dotnetcore_split.i
+ ${CMAKE_CURRENT_BINARY_DIR}/language.i
+ COMMAND ${IMAKE_TOOL} -p ${CMAKE_CURRENT_SOURCE_DIR}/WebApiGen.xml
+ -l "C#"
+ -x "WebApi"
+ ${IMAKE_RELATIVE_RESOLUTION}
+ -o ${CMAKE_CURRENT_BINARY_DIR}
+ COMMAND ${CMAKE_COMMAND} -E echo Running SWIG [DotNet]. Output Dir: ${MG_DOTNET_PROJECT_DIR}
+ COMMAND ${SWIG_EXECUTABLE} -c++ -csharp
+ ${SWIG_DOTNET_DEFS} -DDOTNETCORE -DSWIG_CSHARP_NO_EXCEPTION_HELPER
+ -DSWIG_CSHARP_NO_STRING_HELPER -DSWIG_CSHARP_NO_WSTRING_HELPER
+ -namespace OSGeo.MapGuide
+ -nodefaultctor -nodefaultdtor
+ -module WebUnmanagedApi
+ -o "${CMAKE_CURRENT_BINARY_DIR}/WebUnmanagedApi_wrap.cpp"
+ -outdir "${MG_DOTNET_PROJECT_DIR}"
+ "${CMAKE_CURRENT_BINARY_DIR}/WebApi.i"
+)
+
+target_link_libraries(WebUnmanagedApi
+ ${ACE_LIBRARY}
+ MgWebApp${MG_VERSION_SUFFIX}
+ ${XERCESC_LIBRARIES}
+)
+
+install( TARGETS WebUnmanagedApi DESTINATION ${LIB_INSTALL_DIR} COMPONENT ${MG_COMPONENT} )
\ No newline at end of file
Modified: sandbox/jng/vanilla_swig/CMakeLists.txt
===================================================================
--- sandbox/jng/vanilla_swig/CMakeLists.txt 2020-11-26 15:26:21 UTC (rev 9804)
+++ sandbox/jng/vanilla_swig/CMakeLists.txt 2020-11-27 15:12:14 UTC (rev 9805)
@@ -93,6 +93,7 @@
set(MG_OEM_MINIZIP_INCLUDE_DIR "${MG_OEM_ROOT_DIR}/gd/zlib/contrib/minizip")
set(MG_OEM_DWF_INCLUDE_DIR "${MG_OEM_ROOT_DIR}/DWFTK/develop/global/src")
set(MG_COMMON_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Common")
+set(MG_WEB_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Web")
set(MG_SERVER_COMMON_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Server/src/Common")
set(MG_SERVER_SERVICES_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Server/src/Services")
set(MG_SERVER_GWS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Server/src/Gws")
Modified: sandbox/jng/vanilla_swig/Web/src/CMakeLists.txt
===================================================================
--- sandbox/jng/vanilla_swig/Web/src/CMakeLists.txt 2020-11-26 15:26:21 UTC (rev 9804)
+++ sandbox/jng/vanilla_swig/Web/src/CMakeLists.txt 2020-11-27 15:12:14 UTC (rev 9805)
@@ -49,3 +49,7 @@
FILES_MATCHING PATTERN *.h
)
endif (NOT MG_COMMON_SUBSET_ONLY)
+
+file(COPY "HttpHandler" DESTINATION ${CMAKE_CURRENT_BINARY_DIR} FILES_MATCHING PATTERN *.h)
+file(COPY "WebApp" DESTINATION ${CMAKE_CURRENT_BINARY_DIR} FILES_MATCHING PATTERN *.h)
+file(COPY "WebSupport" DESTINATION ${CMAKE_CURRENT_BINARY_DIR} FILES_MATCHING PATTERN *.h)
\ No newline at end of file
More information about the mapguide-commits
mailing list