[mapguide-commits] r9307 - in sandbox/jng/cmake_v2: . Common cmake/modules

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Wed Jan 10 04:36:54 PST 2018


Author: jng
Date: 2018-01-10 04:36:54 -0800 (Wed, 10 Jan 2018)
New Revision: 9307

Modified:
   sandbox/jng/cmake_v2/CMakeLists.txt
   sandbox/jng/cmake_v2/Common/CMakeLists.txt
   sandbox/jng/cmake_v2/cmake/modules/FindDbXmlInternal.cmake
   sandbox/jng/cmake_v2/cmake_bootstrap.sh
   sandbox/jng/cmake_v2/cmake_build.sh
Log:
Support building against internal xerces-c

Modified: sandbox/jng/cmake_v2/CMakeLists.txt
===================================================================
--- sandbox/jng/cmake_v2/CMakeLists.txt	2018-01-10 12:36:16 UTC (rev 9306)
+++ sandbox/jng/cmake_v2/CMakeLists.txt	2018-01-10 12:36:54 UTC (rev 9307)
@@ -136,7 +136,11 @@
 find_package(Sanitizers)
 find_package(GEOS REQUIRED)
 find_package(ACE REQUIRED)
-find_package(XercesC REQUIRED)
+if (NOT INTERNAL_XERCES)
+    find_package(XercesC REQUIRED)
+else (NOT INTERNAL_XERCES)
+    message(STATUS "Using internal xerces-c")
+endif (NOT INTERNAL_XERCES)
 find_package(GD REQUIRED)
 find_package(Freetype REQUIRED)
 find_package(JPEG REQUIRED)
@@ -146,6 +150,10 @@
 find_package(TCLAP REQUIRED)
 find_package(LinuxApt REQUIRED)
 find_package(DbXmlInternal REQUIRED)
+if (INTERNAL_XERCES)
+    # This will be the same
+    set(XERCESC_INCLUDE_DIR "${DBXML_INCLUDE_DIR}")
+endif (INTERNAL_XERCES)
 find_package(Ant REQUIRED)
 
 # Set internal tool paths

Modified: sandbox/jng/cmake_v2/Common/CMakeLists.txt
===================================================================
--- sandbox/jng/cmake_v2/Common/CMakeLists.txt	2018-01-10 12:36:16 UTC (rev 9306)
+++ sandbox/jng/cmake_v2/Common/CMakeLists.txt	2018-01-10 12:36:54 UTC (rev 9307)
@@ -20,4 +20,9 @@
 
 install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Schema DESTINATION ${MG_INSTALL_SERVER_PREFIX} COMPONENT ${MG_COMPONENT_SERVER})
 
+if (INTERNAL_XERCES)
+    file(GLOB XERCES_LIBS "${MG_OEM_WORK_DIR}/dbxml/install/lib/libxerces-c*.so")
+    install(FILES ${XERCES_LIBS} DESTINATION ${LIB_INSTALL_DIR})
+endif (INTERNAL_XERCES)
+
 configure_file(${CMAKE_MODULE_PATH}/../configs/ProductVersion.h.in ${MG_AUTO_GENERATED_HEADER_DIR}/ProductVersion.h)
\ No newline at end of file

Modified: sandbox/jng/cmake_v2/cmake/modules/FindDbXmlInternal.cmake
===================================================================
--- sandbox/jng/cmake_v2/cmake/modules/FindDbXmlInternal.cmake	2018-01-10 12:36:16 UTC (rev 9306)
+++ sandbox/jng/cmake_v2/cmake/modules/FindDbXmlInternal.cmake	2018-01-10 12:36:54 UTC (rev 9307)
@@ -9,6 +9,7 @@
 # DBXML_LIBRARY - The DBXML library
 # DB_CXX_LIBRARY - The BerkeleyDB C++ library
 # XQILLA_LIBRARY - The XQilla library
+# XERCESC_LIBRARIES - The xerces C++ library (only if INTERNAL_XERCES is set)
 
 message(STATUS "Checking for DbXml in ${MG_OEM_WORK_DIR}")
 
@@ -25,13 +26,35 @@
     NAMES xqilla 
     PATHS ${MG_OEM_WORK_DIR}/dbxml/install/lib)
 
-include(FindPackageHandleStandardArgs)
-# handle the QUIETLY and REQUIRED arguments and set DbXml_FOUND to TRUE if 
-# all listed variables are TRUE
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(DbXmlInternal DEFAULT_MSG DBXML_LIBRARY DB_CXX_LIBRARY XQILLA_LIBRARY DBXML_INCLUDE_DIR)
+if (NOT INTERNAL_XERCES)
+    
+    include(FindPackageHandleStandardArgs)
+    # handle the QUIETLY and REQUIRED arguments and set DbXml_FOUND to TRUE if 
+    # all listed variables are TRUE
+    FIND_PACKAGE_HANDLE_STANDARD_ARGS(DbXmlInternal DEFAULT_MSG DBXML_LIBRARY DB_CXX_LIBRARY XQILLA_LIBRARY DBXML_INCLUDE_DIR)
 
-if (DbXmlInternal_FOUND)
-    message(STATUS "Found DbXml: ${DBXML_INCLUDE_DIR}, ${DBXML_LIBRARY}, ${DB_CXX_LIBRARY}, ${XQILLA_LIBRARY}")
-endif (DbXmlInternal_FOUND)
+    if (DbXmlInternal_FOUND)
+        message(STATUS "Found DbXml: ${DBXML_INCLUDE_DIR}, ${DBXML_LIBRARY}, ${DB_CXX_LIBRARY}, ${XQILLA_LIBRARY}")
+    endif (DbXmlInternal_FOUND)
 
-mark_as_advanced(DBXML_INCLUDE_DIR DBXML_LIBRARY DB_CXX_LIBRARY XQILLA_LIBRARY)
\ No newline at end of file
+    mark_as_advanced(DBXML_INCLUDE_DIR DBXML_LIBRARY DB_CXX_LIBRARY XQILLA_LIBRARY)
+
+else (NOT INTERNAL_XERCES)
+
+    find_library(XERCESC_LIBRARIES
+        NAMES xerces-c
+        PATHS ${MG_OEM_WORK_DIR}/dbxml/install/lib)
+
+    include(FindPackageHandleStandardArgs)
+    # handle the QUIETLY and REQUIRED arguments and set DbXml_FOUND to TRUE if 
+    # all listed variables are TRUE
+    FIND_PACKAGE_HANDLE_STANDARD_ARGS(DbXmlInternal DEFAULT_MSG DBXML_LIBRARY DB_CXX_LIBRARY XQILLA_LIBRARY XERCESC_LIBRARIES DBXML_INCLUDE_DIR)
+
+    if (DbXmlInternal_FOUND)
+        message(STATUS "Found DbXml: ${DBXML_INCLUDE_DIR}, ${DBXML_LIBRARY}, ${DB_CXX_LIBRARY}, ${XQILLA_LIBRARY}, ${XERCESC_LIBRARIES}")
+    endif (DbXmlInternal_FOUND)
+
+    mark_as_advanced(DBXML_INCLUDE_DIR DBXML_LIBRARY DB_CXX_LIBRARY XQILLA_LIBRARY XERCESC_LIBRARIES)
+
+endif (NOT INTERNAL_XERCES)
+

Modified: sandbox/jng/cmake_v2/cmake_bootstrap.sh
===================================================================
--- sandbox/jng/cmake_v2/cmake_bootstrap.sh	2018-01-10 12:36:16 UTC (rev 9306)
+++ sandbox/jng/cmake_v2/cmake_bootstrap.sh	2018-01-10 12:36:54 UTC (rev 9307)
@@ -70,6 +70,7 @@
 echo "Current source dir is: $SOURCE_DIR"
 echo "Building for: $BUILD_CPU-bit"
 echo "Building in: $BUILD_CONFIG"
+echo "Using system xerces: $HAVE_SYSTEM_XERCES"
 echo "OEM Working Directory is: $OEM_WORK_DIR"
 
 echo "Checking if OEM working dir exists"

Modified: sandbox/jng/cmake_v2/cmake_build.sh
===================================================================
--- sandbox/jng/cmake_v2/cmake_build.sh	2018-01-10 12:36:16 UTC (rev 9306)
+++ sandbox/jng/cmake_v2/cmake_build.sh	2018-01-10 12:36:54 UTC (rev 9307)
@@ -81,16 +81,21 @@
 echo "Creating CMake build directory"
 mkdir -p $CMAKE_BUILD_DIR
 
+INTERNAL_XERCES=TRUE
+if test $HAVE_SYSTEM_XERCES -eq 1; then
+    INTERNAL_XERCES=FALSE
+fi
+
 # Now for the main event
 echo "Setting up CMake in: $CMAKE_BUILD_DIR"
 cd $CMAKE_BUILD_DIR
 if test $USE_NINJA -eq 1; then
-    cmake -G Ninja $SOURCE_DIR -DMG_CPU=$BUILD_CPU -DWITH_JAVA=TRUE -DSANITIZE_ADDRESS=$USE_ASAN -DPHP_VER=${PHP_VER} -DHTTPD_VER=${HTTPD_VER} -DCMAKE_BUILD_TYPE=$BUILD_CONFIG -DMG_OEM_WORK_DIR=$OEM_WORK_DIR
+    cmake -G Ninja $SOURCE_DIR -DMG_CPU=$BUILD_CPU -DWITH_JAVA=TRUE -DINTERNAL_XERCES=$INTERNAL_XERCES -DSANITIZE_ADDRESS=$USE_ASAN -DPHP_VER=${PHP_VER} -DHTTPD_VER=${HTTPD_VER} -DCMAKE_BUILD_TYPE=$BUILD_CONFIG -DMG_OEM_WORK_DIR=$OEM_WORK_DIR
     check_build
     ninja
     check_build
 else
-    cmake $SOURCE_DIR -DMG_CPU=$BUILD_CPU -DWITH_JAVA=TRUE -DSANITIZE_ADDRESS=$USE_ASAN -DPHP_VER=${PHP_VER} -DHTTPD_VER=${HTTPD_VER} -DCMAKE_BUILD_TYPE=$BUILD_CONFIG -DMG_OEM_WORK_DIR=$OEM_WORK_DIR
+    cmake $SOURCE_DIR -DMG_CPU=$BUILD_CPU -DWITH_JAVA=TRUE -DINTERNAL_XERCES=$INTERNAL_XERCES -DSANITIZE_ADDRESS=$USE_ASAN -DPHP_VER=${PHP_VER} -DHTTPD_VER=${HTTPD_VER} -DCMAKE_BUILD_TYPE=$BUILD_CONFIG -DMG_OEM_WORK_DIR=$OEM_WORK_DIR
     check_build
     make
     check_build



More information about the mapguide-commits mailing list