[mapguide-commits] r9284 - in sandbox/jng/cmake_v2: . Oem Server/src Server/src/Core Server/src/Services Server/src/Services/Resource

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Sat Jan 6 04:44:33 PST 2018


Author: jng
Date: 2018-01-06 04:44:33 -0800 (Sat, 06 Jan 2018)
New Revision: 9284

Added:
   sandbox/jng/cmake_v2/Server/src/Core/CMakeLists.txt
   sandbox/jng/cmake_v2/Server/src/Services/Resource/CMakeLists.txt
Modified:
   sandbox/jng/cmake_v2/CMakeLists.txt
   sandbox/jng/cmake_v2/Oem/CMakeLists.txt
   sandbox/jng/cmake_v2/Server/src/CMakeLists.txt
   sandbox/jng/cmake_v2/Server/src/Services/CMakeLists.txt
Log:
Get mgserver and MgServerResourceService building and linking

Modified: sandbox/jng/cmake_v2/CMakeLists.txt
===================================================================
--- sandbox/jng/cmake_v2/CMakeLists.txt	2018-01-05 18:33:30 UTC (rev 9283)
+++ sandbox/jng/cmake_v2/CMakeLists.txt	2018-01-06 12:44:33 UTC (rev 9284)
@@ -10,8 +10,13 @@
     ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules
 )
 
-message(STATUS "Building for: ${CMAKE_BUILD_TYPE}")
+# Set configuration if not defined
+if (NOT CMAKE_BUILD_TYPE)
+    set(CMAKE_BUILD_TYPE "Release")
+endif (NOT CMAKE_BUILD_TYPE)
 
+message(STATUS "CMake Build Type is: ${CMAKE_BUILD_TYPE}")
+
 # Determine bitness
 if ((NOT MG_CPU EQUAL 32) AND (NOT MG_CPU EQUAL 64))
     message(STATUS "MG_CPU not defined, determining what we're building for based on system bitness")
@@ -132,6 +137,20 @@
 
 add_subdirectory(BuildTools)
 add_subdirectory(Oem)
+
+# HACK/FIXME: This is a temporary location until we find a better solution
+add_library(db_cxx SHARED IMPORTED GLOBAL)
+set_target_properties(db_cxx PROPERTIES IMPORTED_LOCATION ${MG_OEM_DBXML_LIB_DIR}/libdb_cxx.so)
+
+add_library(dbxml SHARED IMPORTED GLOBAL)
+set_target_properties(dbxml PROPERTIES IMPORTED_LOCATION ${MG_OEM_DBXML_LIB_DIR}/libdbxml.so)
+
+add_library(xqilla SHARED IMPORTED GLOBAL)
+set_target_properties(xqilla PROPERTIES IMPORTED_LOCATION ${MG_OEM_DBXML_LIB_DIR}/libxqilla.so)
+
+add_library(db SHARED IMPORTED GLOBAL)
+set_target_properties(db PROPERTIES IMPORTED_LOCATION ${MG_OEM_DBXML_LIB_DIR}/libdb.so)
+
 add_subdirectory(Common)
 add_subdirectory(Server)
 add_subdirectory(Web)

Modified: sandbox/jng/cmake_v2/Oem/CMakeLists.txt
===================================================================
--- sandbox/jng/cmake_v2/Oem/CMakeLists.txt	2018-01-05 18:33:30 UTC (rev 9283)
+++ sandbox/jng/cmake_v2/Oem/CMakeLists.txt	2018-01-06 12:44:33 UTC (rev 9284)
@@ -3,18 +3,24 @@
 # Copy source to build area
 message (STATUS "Preparing dbxml source for build")
 file(COPY "dbxml" DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/DbXml_Build)
+if (CMAKE_BUILD_TYPE MATCHES Debug)
+    set (DBXML_CONF_EXTRA_FLAGS "--enable-debug")
+    message (STATUS "Building dbxml (and supporting libraries) with debug flags")
+else (CMAKE_BUILD_TYPE MATCHES Debug)
+    set (DBXML_CONF_EXTRA_FLAGS "")
+endif (CMAKE_BUILD_TYPE MATCHES Debug)
 
 # NOTE: Although Ubuntu (and possibly other distros) provide packages for xerces, xqilla, (berkeley) db
 # only xerces is the package that I am confident of getting dbxml to build against instead of having it
 # build its private copy
 # NOTE: Assumes system xerces is installed. Should adjust parameters based on find_package result for XercesC
 set(DbXml_WORKDIR "${CMAKE_CURRENT_BINARY_DIR}/DbXml_Build/dbxml")
-ExternalProject_Add(dbxml
+ExternalProject_Add(dbxml-build
     DOWNLOAD_COMMAND ""
     SOURCE_DIR ${DbXml_WORKDIR}
     CONFIGURE_COMMAND ""
     INSTALL_COMMAND ""
-    BUILD_COMMAND ${CMAKE_COMMAND} -E chdir <SOURCE_DIR> ./buildall.sh --with-xerces=/usr --have-system-xerces
+    BUILD_COMMAND ${CMAKE_COMMAND} -E chdir <SOURCE_DIR> ./buildall.sh --with-xerces=/usr --have-system-xerces ${DBXML_CONF_EXTRA_FLAGS}
     BUILD_IN_SOURCE 0
 )
 # This sounds dirty, but we need to communicate back to projects that use dbxml (in a different dir) where 

Modified: sandbox/jng/cmake_v2/Server/src/CMakeLists.txt
===================================================================
--- sandbox/jng/cmake_v2/Server/src/CMakeLists.txt	2018-01-05 18:33:30 UTC (rev 9283)
+++ sandbox/jng/cmake_v2/Server/src/CMakeLists.txt	2018-01-06 12:44:33 UTC (rev 9284)
@@ -1,5 +1,5 @@
 add_subdirectory(Common)
-#add_subdirectory(Core)
+add_subdirectory(Core)
 add_subdirectory(Gws)
 add_subdirectory(Services)
 add_subdirectory(UnitTesting)

Added: sandbox/jng/cmake_v2/Server/src/Core/CMakeLists.txt
===================================================================
--- sandbox/jng/cmake_v2/Server/src/Core/CMakeLists.txt	                        (rev 0)
+++ sandbox/jng/cmake_v2/Server/src/Core/CMakeLists.txt	2018-01-06 12:44:33 UTC (rev 9284)
@@ -0,0 +1,77 @@
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}
+    ${ACE_INCLUDE_DIR}
+    ${XERCESC_INCLUDE_DIR}
+    ${FREETYPE_INCLUDE_DIRS}
+    ${MG_OEM_DBXML_INCLUDE_DIR}
+    ${FDO_INCLUDE_DIR}
+    ${FDO_INCLUDE_DIR}/ExpressionEngine
+    ${MG_COMMON_DIR}
+    ${MG_COMMON_DIR}/CoordinateSystem
+    ${MG_COMMON_DIR}/Security
+    ${MG_COMMON_DIR}/MdfModel
+    ${MG_COMMON_DIR}/MdfParser
+    ${MG_COMMON_DIR}/Foundation
+    ${MG_COMMON_DIR}/Geometry
+    ${MG_COMMON_DIR}/Renderers
+    ${MG_COMMON_DIR}/Stylization
+    ${MG_COMMON_DIR}/PlatformBase
+    ${MG_COMMON_DIR}/MapGuideCommon
+    ${MG_SERVER_GWS_DIR}/Include
+    ${MG_SERVER_GWS_DIR}/GwsCommon/inc
+    ${MG_SERVER_GWS_DIR}/GwsQueryEngine/inc
+    ${MG_SERVER_COMMON_DIR}/Base
+    ${MG_SERVER_COMMON_DIR}/Cache
+    ${MG_SERVER_COMMON_DIR}/Manager
+    ${MG_SERVER_COMMON_DIR}/Thread
+    ${MG_SERVER_SERVICES_DIR}/Drawing
+    ${MG_SERVER_SERVICES_DIR}/Feature
+    ${MG_SERVER_SERVICES_DIR}/Kml
+    ${MG_SERVER_SERVICES_DIR}/Mapping
+    ${MG_SERVER_SERVICES_DIR}/Profiling
+    ${MG_SERVER_SERVICES_DIR}/Rendering
+    ${MG_SERVER_SERVICES_DIR}/Resource
+    ${MG_SERVER_SERVICES_DIR}/ServerAdmin
+    ${MG_SERVER_SERVICES_DIR}/Site
+    ${MG_SERVER_SERVICES_DIR}/Tile
+)
+
+add_definitions(-DACE_HAS_SVC_DLL=1)
+
+set (mgserver_SRCS
+    ServerCoreBuild.cpp
+)
+
+add_executable(mgserver ${mgserver_SRCS})
+target_link_libraries(mgserver
+    ${ACE_LIBRARY}
+    db_cxx
+    dbxml
+    ${XERCESC_LIBRARIES}
+    ${FDO_LIBRARY}
+    ${FDO_EXPRESSIONENGINE_LIBRARY}
+    MgGwsCommon${MG_VERSION_SUFFIX}
+    MgGwsQueryEngine${MG_VERSION_SUFFIX}
+    MgFoundation${MG_VERSION_SUFFIX}
+    MgGeometry${MG_VERSION_SUFFIX}
+    MgPlatformBase${MG_VERSION_SUFFIX}
+    MgMapGuideCommon${MG_VERSION_SUFFIX}
+    MgServerAdminService${MG_VERSION_SUFFIX}
+    MgServerBase${MG_VERSION_SUFFIX}
+    MgServerCache${MG_VERSION_SUFFIX}
+    MgServerDrawingService${MG_VERSION_SUFFIX}
+    MgServerFeatureService${MG_VERSION_SUFFIX}
+    MgServerKmlService${MG_VERSION_SUFFIX}
+    MgServerManager${MG_VERSION_SUFFIX}
+    MgServerMappingService${MG_VERSION_SUFFIX}
+    MgServerProfilingService${MG_VERSION_SUFFIX}
+    MgServerRenderingService${MG_VERSION_SUFFIX}
+    MgServerResourceService${MG_VERSION_SUFFIX}
+    MgServerSiteService${MG_VERSION_SUFFIX}
+    MgServerThread${MG_VERSION_SUFFIX}
+    MgServerTileService${MG_VERSION_SUFFIX}
+    MgMdfModel${MG_VERSION_SUFFIX}
+    MgMdfParser${MG_VERSION_SUFFIX}
+    MgStylization${MG_VERSION_SUFFIX}
+    MgRenderers${MG_VERSION_SUFFIX}
+)
+add_dependencies(mgserver dbxml-build)
\ No newline at end of file

Modified: sandbox/jng/cmake_v2/Server/src/Services/CMakeLists.txt
===================================================================
--- sandbox/jng/cmake_v2/Server/src/Services/CMakeLists.txt	2018-01-05 18:33:30 UTC (rev 9283)
+++ sandbox/jng/cmake_v2/Server/src/Services/CMakeLists.txt	2018-01-06 12:44:33 UTC (rev 9284)
@@ -4,7 +4,7 @@
 add_subdirectory(Mapping)
 add_subdirectory(Profiling)
 add_subdirectory(Rendering)
-#add_subdirectory(Resource)
+add_subdirectory(Resource)
 add_subdirectory(ServerAdmin)
 add_subdirectory(Site)
 add_subdirectory(Tile)
\ No newline at end of file

Added: sandbox/jng/cmake_v2/Server/src/Services/Resource/CMakeLists.txt
===================================================================
--- sandbox/jng/cmake_v2/Server/src/Services/Resource/CMakeLists.txt	                        (rev 0)
+++ sandbox/jng/cmake_v2/Server/src/Services/Resource/CMakeLists.txt	2018-01-06 12:44:33 UTC (rev 9284)
@@ -0,0 +1,41 @@
+include_directories(${FDO_INCLUDE_DIR}
+    ${FDO_INCLUDE_DIR}/ExpressionEngine
+    ${ACE_INCLUDE_DIR}
+    ${XERCESC_INCLUDE_DIR}
+    ${MG_OEM_DWF_INCLUDE_DIR}
+    ${MG_OEM_DBXML_INCLUDE_DIR}
+    ${MG_COMMON_DIR}/Security
+    ${MG_COMMON_DIR}/Foundation
+    ${MG_COMMON_DIR}/Geometry
+    ${MG_COMMON_DIR}/PlatformBase
+    ${MG_COMMON_DIR}/MapGuideCommon
+    ${MG_COMMON_DIR}/MdfModel
+    ${MG_COMMON_DIR}/MdfParser
+    ${MG_SERVER_COMMON_DIR}
+    ${MG_SERVER_COMMON_DIR}/Base
+    ${MG_SERVER_COMMON_DIR}/Cache
+    ${MG_SERVER_COMMON_DIR}/Manager
+    ${MG_SERVER_SERVICES_DIR}/Feature
+    ${MG_SERVER_SERVICES_DIR}/Site
+)
+
+set (MgServerResourceService_SRCS
+    ServerResourceServiceBuild.cpp
+)
+
+add_library(MgServerResourceService${MG_VERSION_SUFFIX} SHARED ${MgServerResourceService_SRCS})
+target_link_libraries(MgServerResourceService${MG_VERSION_SUFFIX}
+    MgFoundation${MG_VERSION_SUFFIX}
+    MgGeometry${MG_VERSION_SUFFIX}
+    MgPlatformBase${MG_VERSION_SUFFIX}
+    MgMapGuideCommon${MG_VERSION_SUFFIX}
+    MgServerBase${MG_VERSION_SUFFIX}
+    MgServerCache${MG_VERSION_SUFFIX}
+    MgServerManager${MG_VERSION_SUFFIX}
+    db_cxx
+    dbxml
+    xqilla
+    ${XERCESC_LIBRARIES}
+)
+install(TARGETS MgServerResourceService${MG_VERSION_SUFFIX} DESTINATION ${LIB_INSTALL_DIR} COMPONENT ${MG_COMPONENT})
+install_symlink(${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/libMgServerResourceService${MG_VERSION_SUFFIX}.so libMgServerResourceService.so ${MG_COMPONENT})
\ No newline at end of file



More information about the mapguide-commits mailing list