[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