[mapguide-commits] r9433 - in trunk/MgDev: . Common/Foundation Oem Oem/CsMapLibrary Server/src/Core cmake/configs cmake/modules

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Wed Jan 2 13:25:37 PST 2019


Author: jng
Date: 2019-01-02 13:25:37 -0800 (Wed, 02 Jan 2019)
New Revision: 9433

Added:
   trunk/MgDev/cmake_linuxapt.sh
Modified:
   trunk/MgDev/CMakeLists.txt
   trunk/MgDev/CMake_README.txt
   trunk/MgDev/Common/Foundation/CMakeLists.txt
   trunk/MgDev/Oem/CMakeLists.txt
   trunk/MgDev/Oem/CsMapLibrary/CMakeLists.txt
   trunk/MgDev/Server/src/Core/CMakeLists.txt
   trunk/MgDev/cmake/configs/mapguide.conf.in
   trunk/MgDev/cmake/configs/mapguide.xml.in
   trunk/MgDev/cmake/configs/mgserver.sh.in
   trunk/MgDev/cmake/configs/mgserverd.sh.in
   trunk/MgDev/cmake/configs/php.ini.in
   trunk/MgDev/cmake/configs/serverconfig.ini.in
   trunk/MgDev/cmake/configs/tomcat.conf.in
   trunk/MgDev/cmake/configs/tomcat_startup.sh.in
   trunk/MgDev/cmake/configs/webconfig.ini.in
   trunk/MgDev/cmake/modules/FindLinuxApt.cmake
   trunk/MgDev/cmake_bootstrap.sh
   trunk/MgDev/cmake_build.sh
Log:
#2785: Improve CMake build:
 - Ensure ACE and xqilla internal libs are copied on install. ACE internal libs only copied if build is configured to use internal ACE
 - Rework cs dictionary compiler invocation step as a CS_Comp post-build. The old method doesn't work with the Ninja generator
 - Use the "generic" cmake --build instead of invoking "make" or "ninja" manually
 - Modify bootstrapping procedure:
    - Separate building of httpd/php/tomcat-connector out to a separate cmake_linuxapt.sh. This is because this triplet of sources will most of the time require elevation
      as it is required by php/tomcat-connector that httpd is built *and* installed in a single pass!
    - Ensure GEOS is only built as a static library
 - Remove CPack-related stuff from our CMake configuration. Apache and PHP's insistence on baking absolute paths across various "installed" artifacts makes it untenable to even attempt to use CPack for packaging
 - Tidy up CMake instructions in light of these changes

Modified: trunk/MgDev/CMakeLists.txt
===================================================================
--- trunk/MgDev/CMakeLists.txt	2019-01-02 18:22:51 UTC (rev 9432)
+++ trunk/MgDev/CMakeLists.txt	2019-01-02 21:25:37 UTC (rev 9433)
@@ -68,47 +68,6 @@
 set(MG_VERSION "${MG_VERSION_MAJOR}.${MG_VERSION_MINOR}.${MG_VERSION_RELEASE}")
 set(MG_VERSION_FULL "${MG_VERSION}.${MG_VERSION_REV}")
 
-# Set CPack vars
-set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "MapGuide Open Source")
-set(CPACK_PACKAGE_VENDOR "OSGeo")
-set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/CMake_README.txt")
-set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/License.txt")
-set(CPACK_PACKAGE_VERSION_MAJOR "${MG_VERSION_MAJOR}")
-set(CPACK_PACKAGE_VERSION_MINOR "${MG_VERSION_MINOR}")
-set(CPACK_PACKAGE_VERSION_PATCH "${MG_VERSION_RELEASE}")
-set(CPACK_PACKAGE_VERSION "${MG_VERSION_FULL}")
-set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY 0)
-
-# Collect distro name for so we know how to name these packages
-# NOTE: This uses lsb_release to detect the name, so this tool must already be installed first
-execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/cmake/tools/getdistro.sh OUTPUT_VARIABLE DISTRO)
-message(STATUS "Detected Distro: ${DISTRO}")
-if(MG_CPU EQUAL 64)
-    set(CPACK_SYSTEM_NAME "${DISTRO}-amd64")
-else(MG_CPU EQUAL 64)
-    set(CPACK_SYSTEM_NAME "${DISTRO}-i386")
-endif(MG_CPU EQUAL 64)
-message(STATUS "CPack system name: ${CPACK_SYSTEM_NAME}")
-
-# Default to plain tarballs for packaging
-if (NOT CPACK_GENERATOR)
-    set(CPACK_GENERATOR "TGZ")
-endif (NOT CPACK_GENERATOR)
-message(STATUS "Using CPack generator: ${CPACK_GENERATOR}")
-
-# If making tarballs, force monolithic packaging
-if (CPACK_GENERATOR MATCHES "TGZ")
-    set(CPACK_MONOLITHIC_INSTALL 1)
-else (CPACK_GENERATOR MATCHES "TGZ")
-    set(CPACK_MONOLITHIC_INSTALL 0)
-endif (CPACK_GENERATOR MATCHES "TGZ")
-message(STATUS "CPack monolithic install: ${CPACK_MONOLITHIC_INSTALL}")
-
-# For monolithic packages, 
-if (CPACK_MONOLITHIC_INSTALL)
-    set (CPACK_PACKAGE_FILE_NAME "mapguideopensource-${MG_VERSION_FULL}-${CPACK_SYSTEM_NAME}")
-endif (CPACK_MONOLITHIC_INSTALL)
-
 set(MG_HTTPD_PORT 8008)
 set(MG_TOMCAT_PORT 8009)
 
@@ -141,23 +100,22 @@
 if (NOT MG_INSTALL_PREFIX)
     set(MG_INSTALL_PREFIX "/usr/local/mapguideopensource-${MG_VERSION}")
 endif (NOT MG_INSTALL_PREFIX)
-#set(MG_INSTALL_WEB_PREFIX "${MG_INSTALL_PREFIX}/webserverextensions")
-#set(MG_WWWROOT "${MG_INSTALL_WEB_PREFIX}/www")
-#set(MG_INSTALL_SERVER_PREFIX "${MG_INSTALL_PREFIX}/server")
-#set(MG_SERVER_BIN_DIR "${MG_INSTALL_SERVER_PREFIX}/bin")
-#set(MG_INSTALL_COORDSYS_PREFIX "${MG_INSTALL_PREFIX}/share/gis/coordsys")
+# Have our sub-prefixes be relative for ease of packaging
 set(MG_INSTALL_WEB_PREFIX "webserverextensions")
 set(MG_WWWROOT "${MG_INSTALL_WEB_PREFIX}/www")
 set(MG_INSTALL_SERVER_PREFIX "server")
 set(MG_SERVER_BIN_DIR "${MG_INSTALL_SERVER_PREFIX}/bin")
 set(MG_INSTALL_COORDSYS_PREFIX "share/gis/coordsys")
+# Absolute versions however are for stamping various template configuration files
+# (which sadly do require absolute paths most of the time)
+set(MG_INSTALL_SERVER_PREFIX_ABS "${MG_INSTALL_PREFIX}/server")
+set(MG_INSTALL_WEB_PREFIX_ABS "${MG_INSTALL_PREFIX}/webserverextensions")
+set(MG_WWWROOT_ABS "${MG_INSTALL_WEB_PREFIX_ABS}/www")
+set(MG_INSTALL_COORDSYS_PREFIX_ABS "${MG_INSTALL_PREFIX}/share/gis/coordsys")
 set(CMAKE_INSTALL_PREFIX "${MG_INSTALL_PREFIX}")
 
 set(MG_VERSION_SUFFIX "-${MG_VERSION}")
 
-# Make CPack available to easy generate binary packages
-include(CPack)
-
 macro(set_install_subdir relbase)
     # Global definitions ( used by all sources )
     # Check if is a 64 bits install and use user defined LIB_SUFFIX

Modified: trunk/MgDev/CMake_README.txt
===================================================================
--- trunk/MgDev/CMake_README.txt	2019-01-02 18:22:51 UTC (rev 9432)
+++ trunk/MgDev/CMake_README.txt	2019-01-02 21:25:37 UTC (rev 9433)
@@ -11,19 +11,18 @@
 You have FDO already built and installed at /usr/local/fdo-x.y.z (where x.y.z is the current version of FDO)
     - You should build FDO with CMake too
 
-These instructions assume an Ubuntu 14.04 LTS environment.
+These instructions assume an Ubuntu 14.04 LTS or higher environment.
 
 Install the following packages:
 
-build-essential libpng-dev libjpeg62-dev libxslt-dev libfreetype6-dev libpcre3-dev openjdk-7-jdk 
-ant libldap-dev libssl-dev libcurl4-openssl-dev libexpat-dev libmysqlclient-dev unixODBC-dev 
-python-dev libpq-dev libcppunit-dev libxalan-c-dev libxerces-c-dev libboost-date-time-dev 
-libboost-thread-dev libboost-system-dev libboost-chrono-dev libboost-program-options-dev libgdal-dev 
-libjsoncpp-dev libgd-dev libace-dev libjsoncpp-dev cmake 
+    build-essential libpng-dev libjpeg62-dev libxslt-dev libfreetype6-dev libpcre3-dev openjdk-7-jdk 
+    ant libldap-dev libssl-dev libcurl4-openssl-dev libexpat-dev libmysqlclient-dev unixODBC-dev 
+    python-dev libpq-dev libcppunit-dev libxalan-c-dev libxerces-c-dev libgdal-dev 
+    libjsoncpp-dev libgd-dev libace-dev libjsoncpp-dev cmake 
 
 If you wish to build with ninja instead of make, install the following:
 
-ninja-build
+    ninja-build
 
 TODO: Specify dep list for CentOS
 
@@ -30,26 +29,31 @@
 Usage
 =====
 
-1. Create a directory where internal thirdparty components will be built in
+1. Build the internal thirdparty components specifying the directory where thirdparty components will be built in
 
-    mkdir -p ~/mapguide_oem_build
+    ./cmake_bootstrap.sh [--oem-working_dir ~/mapguide_oem_build]
 
-2. Build the internal thirdparty components specifying the directory where thirdparty components will be built in
+    This will copy the internal thirdparty sources (except for httpd/php/tomcat-connector) to your specified directory and 
+    build it from there. Once completed, an env_vars.sh script will be written to this directory that the following step will use.
 
-    sudo ./cmake_bootstrap.sh --oem-working_dir ~/mapguide_oem_build
+2. Build the httpd/php/tomcat-connector triplet
 
-   This will copy the DBXML, httpd, PHP and the Tomcat connector sources to your specified directory and build it from there.
-   Once completed, an env_vars.sh script will be written to this directory that the following step will use.
+    [sudo] ./cmake_linuxapt.sh [--oem-working_dir ~/mapguide_oem_build --prefix /usr/local/mapguideopensource]
 
-   This will generally require elevation (with sudo) as the default install prefix is /usr/local/mapguideopensource-x.y.z where
-   x.y.z is the current version of MapGuide.
+    This will build httpd, php and tomcat-connector and install them to the specified prefix.
 
+    Due to the install paths involved, this step generally requires elevation if you are not root and/or not running
+    this script within a docker container.
+
+    Once completed, the env_vars.sh script of the specified oem working directory will be updated with additional environment
+    variables
+
 3. Start the main CMake build
 
-    ./cmake_build.sh --oem-working-dir ~/mapguide_oem_build --cmake-build-dir ~/mapguide_build_area
+    ./cmake_build.sh [--oem-working-dir ~/mapguide_oem_build --cmake-build-dir ~/mapguide_build_area]
 
-   This will set up the CMake build using the generated env_vars.sh script and set up a CMake build tree in the directory specified
-   by --cmake-build-dir
+    This will set up the CMake build using the generated env_vars.sh script and set up a CMake build tree in the directory specified
+    by --cmake-build-dir
 
 4. Install the MapGuide binaries. This will generally require elevation (with sudo) as well.
 
@@ -103,5 +107,4 @@
 ====
 
  - Integrate with system-provided httpd/php if available and in supported version range.
- - Support full internal Oem build (currently only covers components we know not to be provided by Ubuntu)
  - Windows support and vcpkg integration
\ No newline at end of file

Modified: trunk/MgDev/Common/Foundation/CMakeLists.txt
===================================================================
--- trunk/MgDev/Common/Foundation/CMakeLists.txt	2019-01-02 18:22:51 UTC (rev 9432)
+++ trunk/MgDev/Common/Foundation/CMakeLists.txt	2019-01-02 21:25:37 UTC (rev 9433)
@@ -24,3 +24,8 @@
 
 install( TARGETS MgFoundation${MG_VERSION_SUFFIX} DESTINATION ${LIB_INSTALL_DIR} COMPONENT ${MG_COMPONENT} )
 install_symlink( ${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/libMgFoundation${MG_VERSION_SUFFIX}.so libMgFoundation.so ${MG_COMPONENT} )
+
+if (INTERNAL_ACE)
+    install(FILES ${MG_OEM_WORK_DIR}/ACE/ACE_wrappers/ace/libACE.so DESTINATION ${LIB_INSTALL_DIR})
+    install(FILES ${MG_OEM_WORK_DIR}/ACE/ACE_wrappers/ace/libACE.so.6.2.6 DESTINATION ${LIB_INSTALL_DIR})
+endif (INTERNAL_ACE)
\ No newline at end of file

Modified: trunk/MgDev/Oem/CMakeLists.txt
===================================================================
--- trunk/MgDev/Oem/CMakeLists.txt	2019-01-02 18:22:51 UTC (rev 9432)
+++ trunk/MgDev/Oem/CMakeLists.txt	2019-01-02 21:25:37 UTC (rev 9433)
@@ -1,4 +1,8 @@
 ###### Fusion #####
+# TODO: Actual fusion build should be offloaded to bootstrapping with the "install"
+# step just copying the build output to its final destination because right now an
+# elevated install will "taint" the CMake build dir with root-owned files produced
+# from the below build task
 file(COPY "fusion" DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
 file(COPY "fusionMG" DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
 set(FUSION_WORK_DIR ${CMAKE_CURRENT_BINARY_DIR}/fusion)

Modified: trunk/MgDev/Oem/CsMapLibrary/CMakeLists.txt
===================================================================
--- trunk/MgDev/Oem/CsMapLibrary/CMakeLists.txt	2019-01-02 18:22:51 UTC (rev 9432)
+++ trunk/MgDev/Oem/CsMapLibrary/CMakeLists.txt	2019-01-02 21:25:37 UTC (rev 9433)
@@ -144,6 +144,7 @@
 set (CsMapCompiler_SRCS
     ../CsMap/CsMapDev/Dictionaries/CS_Comp.c
 )
+
 add_executable(CsMapCompiler ${CsMapCompiler_SRCS})
 set_target_properties( CsMapCompiler
     PROPERTIES OUTPUT_NAME "CS_Comp" )
@@ -161,6 +162,14 @@
 
 set(CSMAP_DICT_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../CsMap/CsMapDev/Dictionaries")
 set(CSMAP_DICT_STAGING_DIR "${CMAKE_CURRENT_BINARY_DIR}/CsMap_Install")
+
+add_custom_command(TARGET CsMapCompiler
+    POST_BUILD
+    COMMAND ./CS_Comp -b ${CSMAP_DICT_STAGING_DIR}/Dictionaries ${CSMAP_DICT_STAGING_DIR}/Dictionaries
+    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+    COMMENT "Compile dictionaries"
+)
+
 file(COPY ${CSMAP_DICT_SRC_DIR} DESTINATION ${CSMAP_DICT_STAGING_DIR})
 # Remove junk we know to not be related to dictionary data
 if (CSMAP_NO_GRID)
@@ -193,6 +202,13 @@
 file(GLOB CS_MAP_ROOT_FILES "${CSMAP_DICT_STAGING_DIR}/Dictionaries/*.*")
 #message(STATUS "CS-Map root files: ${CS_MAP_ROOT_FILES}")
 install(FILES ${CS_MAP_ROOT_FILES} DESTINATION ${MG_INSTALL_COORDSYS_PREFIX} COMPONENT ${MG_COMPONENT_COMMON})
+# NOTE: These .csd files below are generated as a post-build so they aren't caught by the initial GLOB above
+install(FILES ${CSMAP_DICT_STAGING_DIR}/Dictionaries/Category.CSD DESTINATION ${MG_INSTALL_COORDSYS_PREFIX} COMPONENT ${MG_COMPONENT_COMMON})
+install(FILES ${CSMAP_DICT_STAGING_DIR}/Dictionaries/Coordsys.CSD DESTINATION ${MG_INSTALL_COORDSYS_PREFIX} COMPONENT ${MG_COMPONENT_COMMON})
+install(FILES ${CSMAP_DICT_STAGING_DIR}/Dictionaries/Datums.CSD DESTINATION ${MG_INSTALL_COORDSYS_PREFIX} COMPONENT ${MG_COMPONENT_COMMON})
+install(FILES ${CSMAP_DICT_STAGING_DIR}/Dictionaries/Elipsoid.CSD DESTINATION ${MG_INSTALL_COORDSYS_PREFIX} COMPONENT ${MG_COMPONENT_COMMON})
+install(FILES ${CSMAP_DICT_STAGING_DIR}/Dictionaries/GeodeticPath.CSD DESTINATION ${MG_INSTALL_COORDSYS_PREFIX} COMPONENT ${MG_COMPONENT_COMMON})
+install(FILES ${CSMAP_DICT_STAGING_DIR}/Dictionaries/GeodeticTransform.CSD DESTINATION ${MG_INSTALL_COORDSYS_PREFIX} COMPONENT ${MG_COMPONENT_COMMON})
 install(DIRECTORY ${CSMAP_DICT_STAGING_DIR}/Dictionaries/Australia DESTINATION ${MG_INSTALL_COORDSYS_PREFIX} COMPONENT ${MG_COMPONENT_COMMON})
 install(DIRECTORY ${CSMAP_DICT_STAGING_DIR}/Dictionaries/Brazil DESTINATION ${MG_INSTALL_COORDSYS_PREFIX} COMPONENT ${MG_COMPONENT_COMMON})
 install(DIRECTORY ${CSMAP_DICT_STAGING_DIR}/Dictionaries/Canada DESTINATION ${MG_INSTALL_COORDSYS_PREFIX} COMPONENT ${MG_COMPONENT_COMMON})
@@ -200,6 +216,7 @@
 install(DIRECTORY ${CSMAP_DICT_STAGING_DIR}/Dictionaries/Germany DESTINATION ${MG_INSTALL_COORDSYS_PREFIX} COMPONENT ${MG_COMPONENT_COMMON})
 install(DIRECTORY ${CSMAP_DICT_STAGING_DIR}/Dictionaries/Japan DESTINATION ${MG_INSTALL_COORDSYS_PREFIX} COMPONENT ${MG_COMPONENT_COMMON})
 install(DIRECTORY ${CSMAP_DICT_STAGING_DIR}/Dictionaries/NewZealand DESTINATION ${MG_INSTALL_COORDSYS_PREFIX} COMPONENT ${MG_COMPONENT_COMMON})
+install(DIRECTORY ${CSMAP_DICT_STAGING_DIR}/Dictionaries/Portugal DESTINATION ${MG_INSTALL_COORDSYS_PREFIX} COMPONENT ${MG_COMPONENT_COMMON})
 install(DIRECTORY ${CSMAP_DICT_STAGING_DIR}/Dictionaries/Spain DESTINATION ${MG_INSTALL_COORDSYS_PREFIX} COMPONENT ${MG_COMPONENT_COMMON})
 install(DIRECTORY ${CSMAP_DICT_STAGING_DIR}/Dictionaries/Switzerland DESTINATION ${MG_INSTALL_COORDSYS_PREFIX} COMPONENT ${MG_COMPONENT_COMMON})
 install(DIRECTORY ${CSMAP_DICT_STAGING_DIR}/Dictionaries/UK DESTINATION ${MG_INSTALL_COORDSYS_PREFIX} COMPONENT ${MG_COMPONENT_COMMON})
@@ -210,5 +227,4 @@
 else (CSMAP_NO_GRID)
     install(DIRECTORY ${CSMAP_DICT_STAGING_DIR}/Dictionaries/Usa DESTINATION ${MG_INSTALL_COORDSYS_PREFIX} COMPONENT ${MG_COMPONENT_COMMON})
 endif (CSMAP_NO_GRID)
-install(DIRECTORY ${CSMAP_DICT_STAGING_DIR}/Dictionaries/Venezuela DESTINATION ${MG_INSTALL_COORDSYS_PREFIX} COMPONENT ${MG_COMPONENT_COMMON})
-install(CODE "execute_process(COMMAND ${MG_INSTALL_COORDSYS_PREFIX}/CS_Comp -b ${MG_INSTALL_COORDSYS_PREFIX} ${MG_INSTALL_COORDSYS_PREFIX})")
\ No newline at end of file
+install(DIRECTORY ${CSMAP_DICT_STAGING_DIR}/Dictionaries/Venezuela DESTINATION ${MG_INSTALL_COORDSYS_PREFIX} COMPONENT ${MG_COMPONENT_COMMON})
\ No newline at end of file

Modified: trunk/MgDev/Server/src/Core/CMakeLists.txt
===================================================================
--- trunk/MgDev/Server/src/Core/CMakeLists.txt	2019-01-02 18:22:51 UTC (rev 9432)
+++ trunk/MgDev/Server/src/Core/CMakeLists.txt	2019-01-02 21:25:37 UTC (rev 9433)
@@ -89,9 +89,12 @@
 # The actual symlink installation is done in the UnitTesting CMakeLists.txt
 execute_process(COMMAND ln -sf ${CMAKE_CURRENT_BINARY_DIR}/../UnitTesting/libMgUnitTesting.so ${CMAKE_CURRENT_BINARY_DIR}/libMgUnitTesting.so)
 set(ORIG_MG_INSTALL_SERVER_PREFIX "${MG_INSTALL_SERVER_PREFIX}")
+set(ORIG_MG_INSTALL_COORDSYS_PREFIX "${MG_INSTALL_COORDSYS_PREFIX}")
 set(MG_INSTALL_SERVER_PREFIX "${CMAKE_CURRENT_BINARY_DIR}")
+set(MG_INSTALL_COORDSYS_PREFIX "${MG_OEM_ROOT_BUILD_DIR}/CsMapLibrary/CsMap_Install/Dictionaries")
 configure_file(${CMAKE_MODULE_PATH}/../configs/serverconfig.ini.in ${CMAKE_CURRENT_BINARY_DIR}/serverconfig.ini)
 set(MG_INSTALL_SERVER_PREFIX "${ORIG_MG_INSTALL_SERVER_PREFIX}")
+set(MG_INSTALL_COORDSYS_PREFIX "${ORIG_MG_INSTALL_COORDSYS_PREFIX}")
 file(COPY ${MG_COMMON_DIR}/MapGuideCommon/Resources DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
 file(COPY ${MG_COMMON_DIR}/Schema DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
 
@@ -103,7 +106,9 @@
     execute_process(COMMAND sed -i "s#/usr/local/mapguideopensource/server#${MG_INSTALL_SERVER_PREFIX}#g" ${CMAKE_CURRENT_BINARY_DIR}/mapguidectl)
     install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/mapguidectl DESTINATION ${MG_SERVER_BIN_DIR} COMPONENT ${MG_COMPONENT})
 endif (UNIX)
+
 configure_file(${CMAKE_MODULE_PATH}/../configs/serverconfig.ini.in ${CMAKE_CURRENT_BINARY_DIR}/staging/serverconfig.ini)
+
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/staging/serverconfig.ini DESTINATION ${MG_SERVER_BIN_DIR} COMPONENT ${MG_COMPONENT})
 configure_file(${CMAKE_MODULE_PATH}/../configs/mgserver.sh.in ${CMAKE_CURRENT_BINARY_DIR}/mgserver.sh)
 install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/mgserver.sh DESTINATION ${MG_SERVER_BIN_DIR} COMPONENT ${MG_COMPONENT})
@@ -111,6 +116,9 @@
 install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/mgserverd.sh DESTINATION ${MG_SERVER_BIN_DIR} COMPONENT ${MG_COMPONENT})
 file(GLOB DBXML_LIBS "${MG_OEM_WORK_DIR}/dbxml/install/lib/libdb*.so")
 install(FILES ${DBXML_LIBS} DESTINATION ${LIB_INSTALL_DIR})
+install(FILES ${MG_OEM_WORK_DIR}/dbxml/xqilla/build/.libs/libxqilla.so DESTINATION ${LIB_INSTALL_DIR})
+install(FILES ${MG_OEM_WORK_DIR}/dbxml/xqilla/build/.libs/libxqilla.so.5 DESTINATION ${LIB_INSTALL_DIR})
+install(FILES ${MG_OEM_WORK_DIR}/dbxml/xqilla/build/.libs/libxqilla.so.5.0.4 DESTINATION ${LIB_INSTALL_DIR})
 install(PROGRAMS ${MG_OEM_WORK_DIR}/dbxml/install/bin/dbxml DESTINATION ${MG_SERVER_BIN_DIR})
 install(PROGRAMS ${MG_OEM_WORK_DIR}/dbxml/install/bin/dbxml_dump DESTINATION ${MG_SERVER_BIN_DIR})
 install(PROGRAMS ${MG_OEM_WORK_DIR}/dbxml/install/bin/dbxml_load DESTINATION ${MG_SERVER_BIN_DIR})

Modified: trunk/MgDev/cmake/configs/mapguide.conf.in
===================================================================
--- trunk/MgDev/cmake/configs/mapguide.conf.in	2019-01-02 18:22:51 UTC (rev 9432)
+++ trunk/MgDev/cmake/configs/mapguide.conf.in	2019-01-02 21:25:37 UTC (rev 9433)
@@ -1,5 +1,5 @@
 # Environment variables for MapGuide
-SetEnv LD_LIBRARY_PATH "@MG_INSTALL_WEB_PREFIX@/lib:@MG_INSTALL_WEB_PREFIX@/php/lib:@MG_INSTALL_PREFIX@/lib"
+SetEnv LD_LIBRARY_PATH "@MG_INSTALL_WEB_PREFIX_ABS@/lib:@MG_INSTALL_WEB_PREFIX_ABS@/php/lib:@MG_INSTALL_PREFIX@/lib"
 SetEnv MENTOR_DICTIONARY_PATH "@MG_INSTALL_COORDSYS_PREFIX@"
 
 LoadModule mgmapagent_module modules/mod_mgmapagent.so
@@ -7,13 +7,13 @@
 RewriteEngine On
 
 #START NormalCGI PHP configuration
-#ScriptAlias /php/ "@@MG_INSTALL_WEB_PREFIX@@/php/bin/"
+#ScriptAlias /php/ "@@MG_INSTALL_WEB_PREFIX_ABS@@/php/bin/"
 #Action application/x-httpd-php "/php/php"
 #AddType application/x-httpd-php .php
 #END NormalCGI PHP configuration
 
 # CGI agent alias
-#ScriptAlias /mapguide/mapagent/mapagent.fcgi "@MG_WWWROOT@/mapagent/mapagent"
+#ScriptAlias /mapguide/mapagent/mapagent.fcgi "@MG_WWWROOT_ABS@/mapagent/mapagent"
 
 # mapviewerajax to mapviewerphp rewrite rules
 # comment out for java api/viewer
@@ -29,9 +29,9 @@
 #RewriteRule ^/mapguide/mapviewerdwf/([^\?])(.*)$ /mapguide/mapviewerjava/$1$2 [PT]
 #RewriteRule ^/mapguide/mapviewerdwf/(.*)$ /mapguide/mapviewerjava/dwfviewer.jsp$1 [PT]
 
-Alias /mapguide "@MG_WWWROOT@"
+Alias /mapguide "@MG_WWWROOT_ABS@"
 
-<Directory "@MG_WWWROOT@">
+<Directory "@MG_WWWROOT_ABS@">
   AllowOverride All
   Options All
   Require all granted

Modified: trunk/MgDev/cmake/configs/mapguide.xml.in
===================================================================
--- trunk/MgDev/cmake/configs/mapguide.xml.in	2019-01-02 18:22:51 UTC (rev 9432)
+++ trunk/MgDev/cmake/configs/mapguide.xml.in	2019-01-02 21:25:37 UTC (rev 9433)
@@ -7,7 +7,7 @@
 -->
 
 
-<Context docBase="@MG_WWWROOT@"
+<Context docBase="@MG_WWWROOT_ABS@"
          privileged="true" antiResourceLocking="false" antiJARLocking="false">
 
   <!-- Link to the user database we will get roles from -->

Modified: trunk/MgDev/cmake/configs/mgserver.sh.in
===================================================================
--- trunk/MgDev/cmake/configs/mgserver.sh.in	2019-01-02 18:22:51 UTC (rev 9432)
+++ trunk/MgDev/cmake/configs/mgserver.sh.in	2019-01-02 21:25:37 UTC (rev 9433)
@@ -1,7 +1,6 @@
 #!/bin/bash
 
 export PATH=@MG_INSTALL_PREFIX@/server/bin:$PATH
-export MENTOR_DICTIONARY_PATH=@MG_INSTALL_COORDSYS_PREFIX@
 export LD_LIBRARY_PATH=@FDO_LIBRARY_DIR@:"$LD_LIBRARY_PATH"
 export NLSPATH=@FDO_NLS_DIR@/%N:"$NLSPATH"
 mkdir -p /var/lock/mgserver

Modified: trunk/MgDev/cmake/configs/mgserverd.sh.in
===================================================================
--- trunk/MgDev/cmake/configs/mgserverd.sh.in	2019-01-02 18:22:51 UTC (rev 9432)
+++ trunk/MgDev/cmake/configs/mgserverd.sh.in	2019-01-02 21:25:37 UTC (rev 9433)
@@ -1,7 +1,6 @@
 #!/bin/bash
 
 export PATH=@MG_INSTALL_PREFIX@/server/bin:$PATH
-export MENTOR_DICTIONARY_PATH=@MG_INSTALL_COORDSYS_PREFIX@
 export LD_LIBRARY_PATH=@FDO_LIBRARY_DIR@:"$LD_LIBRARY_PATH"
 export NLSPATH=@FDO_NLS_DIR@/%N:"$NLSPATH"
 mkdir -p /var/lock/mgserver

Modified: trunk/MgDev/cmake/configs/php.ini.in
===================================================================
--- trunk/MgDev/cmake/configs/php.ini.in	2019-01-02 18:22:51 UTC (rev 9432)
+++ trunk/MgDev/cmake/configs/php.ini.in	2019-01-02 21:25:37 UTC (rev 9433)
@@ -512,7 +512,7 @@
 user_dir =
 
 ; Directory in which the loadable extensions (modules) reside.
-extension_dir = "@MG_INSTALL_WEB_PREFIX@/lib at LIB_SUFFIX@"
+extension_dir = "@MG_INSTALL_WEB_PREFIX_ABS@/lib at LIB_SUFFIX@"
 
 ; Whether or not to enable the dl() function.  The dl() function does NOT work
 ; properly in multithreaded servers, such as IIS or Zeus, and is automatically

Modified: trunk/MgDev/cmake/configs/serverconfig.ini.in
===================================================================
--- trunk/MgDev/cmake/configs/serverconfig.ini.in	2019-01-02 18:22:51 UTC (rev 9432)
+++ trunk/MgDev/cmake/configs/serverconfig.ini.in	2019-01-02 21:25:37 UTC (rev 9433)
@@ -96,20 +96,20 @@
 Locale                             =
 LogsDelimiter                      = \t
 LogsDetail                         =
-LogsPath                           = @MG_INSTALL_SERVER_PREFIX@/Logs/
+LogsPath                           = @MG_INSTALL_SERVER_PREFIX_ABS@/Logs/
 MachineIp                          = 127.0.0.1
 MaxLogFileSize                     = 1024
 MaxLogFileSizeEnabled              = 0
-MentorDictionaryPath               = @MG_INSTALL_COORDSYS_PREFIX@
+MentorDictionaryPath               = @MG_INSTALL_COORDSYS_PREFIX_ABS@
 MentorUserDictionaryPath           =
 PreCacheMaps                       =
 Renderer                           = AGG
-ResourcesPath                      = @MG_INSTALL_SERVER_PREFIX@/Resources/
+ResourcesPath                      = @MG_INSTALL_SERVER_PREFIX_ABS@/Resources/
 SerialNumber                       =
 TcpIpMtu                           = 1460
-TempPath                           = @MG_INSTALL_SERVER_PREFIX@/Temp/
-WfsDocumentPath                    = @MG_INSTALL_SERVER_PREFIX@/Wfs/
-WmsDocumentPath                    = @MG_INSTALL_SERVER_PREFIX@/Wms/
+TempPath                           = @MG_INSTALL_SERVER_PREFIX_ABS@/Temp/
+WfsDocumentPath                    = @MG_INSTALL_SERVER_PREFIX_ABS@/Wfs/
+WmsDocumentPath                    = @MG_INSTALL_SERVER_PREFIX_ABS@/Wms/
 
 [AdministrativeConnectionProperties]
 # *****************************************************************************
@@ -407,19 +407,19 @@
 #                                  are stored
 # SiteRepositoryPath               Path where the Site repository is stored
 # *****************************************************************************
-LibraryRepositoryPath              = @MG_INSTALL_SERVER_PREFIX@/Repositories/Library/
-LibraryResourceDataFilePath        = @MG_INSTALL_SERVER_PREFIX@/Repositories/Library/DataFiles/
-PackagesPath                       = @MG_INSTALL_SERVER_PREFIX@/Packages/
+LibraryRepositoryPath              = @MG_INSTALL_SERVER_PREFIX_ABS@/Repositories/Library/
+LibraryResourceDataFilePath        = @MG_INSTALL_SERVER_PREFIX_ABS@/Repositories/Library/DataFiles/
+PackagesPath                       = @MG_INSTALL_SERVER_PREFIX_ABS@/Packages/
 RepositoryCheckpointsTimerInterval = 600
 ResourceChangeTimerInterval        = 5
-ResourceDataFileTrashFolderName    = @MG_INSTALL_SERVER_PREFIX@/Trash/
+ResourceDataFileTrashFolderName    = @MG_INSTALL_SERVER_PREFIX_ABS@/Trash/
 ResourcePermissionCacheSize        = 1000
-ResourceSchemaFilePath             = @MG_INSTALL_SERVER_PREFIX@/Schema/
+ResourceSchemaFilePath             = @MG_INSTALL_SERVER_PREFIX_ABS@/Schema/
 SessionRepositoriesConfig          = FilePerSession
 SessionRepositoriesLimit           = 200
-SessionRepositoryPath              = @MG_INSTALL_SERVER_PREFIX@/Repositories/Session/
-SessionResourceDataFilePath        = @MG_INSTALL_SERVER_PREFIX@/Repositories/Session/DataFiles/
-SiteRepositoryPath                 = @MG_INSTALL_SERVER_PREFIX@/Repositories/Site/
+SessionRepositoryPath              = @MG_INSTALL_SERVER_PREFIX_ABS@/Repositories/Session/
+SessionResourceDataFilePath        = @MG_INSTALL_SERVER_PREFIX_ABS@/Repositories/Session/DataFiles/
+SiteRepositoryPath                 = @MG_INSTALL_SERVER_PREFIX_ABS@/Repositories/Site/
 
 [SiteServiceProperties]
 # *****************************************************************************
@@ -458,7 +458,7 @@
 #                                       PNG, PNG8, GIF or JPG
 # *****************************************************************************
 RenderOnly                         = 0
-TileCachePath                      = @MG_INSTALL_SERVER_PREFIX@/Repositories/TileCache/
+TileCachePath                      = @MG_INSTALL_SERVER_PREFIX_ABS@/Repositories/TileCache/
 TileColumnsPerFolder               = 30
 TileRowsPerFolder                  = 30
 DefaultTileSizeX                   = 300

Modified: trunk/MgDev/cmake/configs/tomcat.conf.in
===================================================================
--- trunk/MgDev/cmake/configs/tomcat.conf.in	2019-01-02 18:22:51 UTC (rev 9432)
+++ trunk/MgDev/cmake/configs/tomcat.conf.in	2019-01-02 21:25:37 UTC (rev 9433)
@@ -6,10 +6,10 @@
 # AddModule     mod_jk.c
 # Where to find workers.properties
 # Update this path to match your conf directory location (put workers.properties next to httpd.conf)
-JkWorkersFile "@MG_INSTALL_WEB_PREFIX@/apache2/conf/mapguide/workers.properties"
+JkWorkersFile "@MG_INSTALL_WEB_PREFIX_ABS@/apache2/conf/mapguide/workers.properties"
 # Where to put jk logs
 # Update this path to match your logs directory location (put mod_jk.log next to access_log)
-JkLogFile     "@MG_INSTALL_WEB_PREFIX@/apache2/logs/mod_jk.log"
+JkLogFile     "@MG_INSTALL_WEB_PREFIX_ABS@/apache2/logs/mod_jk.log"
 # Set the jk log level [debug/error/info]
 JkLogLevel    info
 # Select the log format

Modified: trunk/MgDev/cmake/configs/tomcat_startup.sh.in
===================================================================
--- trunk/MgDev/cmake/configs/tomcat_startup.sh.in	2019-01-02 18:22:51 UTC (rev 9432)
+++ trunk/MgDev/cmake/configs/tomcat_startup.sh.in	2019-01-02 21:25:37 UTC (rev 9433)
@@ -16,9 +16,9 @@
 # limitations under the License.
 
 # Required for MapGuide integration
-export LD_LIBRARY_PATH=@MG_INSTALL_WEB_PREFIX@/lib at LIB_SUFFIX@:@MG_INSTALL_PREFIX@/lib at LIB_SUFFIX@
+export LD_LIBRARY_PATH=@MG_INSTALL_WEB_PREFIX_ABS@/lib at LIB_SUFFIX@:@MG_INSTALL_PREFIX@/lib at LIB_SUFFIX@
 export MENTOR_DICTIONARY_PATH=@MG_INSTALL_COORDSYS_PREFIX@
-export JAVA_OPTS="-Djava.library.path=@MG_INSTALL_WEB_PREFIX@/lib at LIB_SUFFIX@:@MG_INSTALL_PREFIX@/lib at LIB_SUFFIX@"
+export JAVA_OPTS="-Djava.library.path=@MG_INSTALL_WEB_PREFIX_ABS@/lib at LIB_SUFFIX@:@MG_INSTALL_PREFIX@/lib at LIB_SUFFIX@"
 
 # -----------------------------------------------------------------------------
 # Start Script for the CATALINA Server

Modified: trunk/MgDev/cmake/configs/webconfig.ini.in
===================================================================
--- trunk/MgDev/cmake/configs/webconfig.ini.in	2019-01-02 18:22:51 UTC (rev 9432)
+++ trunk/MgDev/cmake/configs/webconfig.ini.in	2019-01-02 21:25:37 UTC (rev 9433)
@@ -57,11 +57,11 @@
 #
 # *****************************************************************************
 DefaultMessageLocale               = en
-LogsPath                           = @MG_WWWROOT@/Logs/
-MentorDictionaryPath               = @MG_INSTALL_COORDSYS_PREFIX@
-ResourcesPath                      = @MG_WWWROOT@/Resources/
+LogsPath                           = @MG_WWWROOT_ABS@/Logs/
+MentorDictionaryPath               = @MG_INSTALL_COORDSYS_PREFIX_ABS@
+ResourcesPath                      = @MG_WWWROOT_ABS@/Resources/
 TcpIpMtu                           = 1460
-TempPath                           = @MG_WWWROOT@/Temp/
+TempPath                           = @MG_WWWROOT_ABS@/Temp/
 FailoverRetryTime                  = 1
 
 [AdministrativeConnectionProperties]
@@ -193,6 +193,6 @@
 # WidgetInfoFolder                 The folder containing widget info files
 # ContainerInfoFolder              The folder containing container info files
 # *****************************************************************************
-TemplateRootFolder                 = @MG_WWWROOT@/fusion/templates/mapguide
-WidgetInfoFolder                   = @MG_WWWROOT@/fusion/widgets/widgetinfo
-ContainerInfoFolder                = @MG_WWWROOT@/fusion/containerinfo
+TemplateRootFolder                 = @MG_WWWROOT_ABS@/fusion/templates/mapguide
+WidgetInfoFolder                   = @MG_WWWROOT_ABS@/fusion/widgets/widgetinfo
+ContainerInfoFolder                = @MG_WWWROOT_ABS@/fusion/containerinfo

Modified: trunk/MgDev/cmake/modules/FindLinuxApt.cmake
===================================================================
--- trunk/MgDev/cmake/modules/FindLinuxApt.cmake	2019-01-02 18:22:51 UTC (rev 9432)
+++ trunk/MgDev/cmake/modules/FindLinuxApt.cmake	2019-01-02 21:25:37 UTC (rev 9433)
@@ -8,16 +8,16 @@
 # PHP_INCLUDE_DIR - The PHP headers
 # HTTPD_INCLUDE_DIR - The HTTPD headers
 
-message(STATUS "Checking for PHP in ${MG_OEM_WORK_DIR}/LinuxApt/php-${PHP_VER}")
-message(STATUS "Checking for HTTPD in ${MG_OEM_WORK_DIR}/LinuxApt/httpd-${HTTPD_VER}")
+message(STATUS "Checking for PHP in ${MG_LINUXAPT_WORK_DIR}/LinuxApt/php-${PHP_VER}")
+message(STATUS "Checking for HTTPD in ${MG_LINUXAPT_WORK_DIR}/LinuxApt/httpd-${HTTPD_VER}")
 
 find_path(PHP_INCLUDE_DIR
     NAMES "Zend/zend_API.h" 
-    PATHS ${MG_OEM_WORK_DIR}/LinuxApt/php-${PHP_VER})
+    PATHS ${MG_LINUXAPT_WORK_DIR}/LinuxApt/php-${PHP_VER})
 
 find_path(HTTPD_INCLUDE_DIR
     NAMES "include/ap_config.h" 
-    PATHS ${MG_OEM_WORK_DIR}/LinuxApt/httpd-${HTTPD_VER})
+    PATHS ${MG_LINUXAPT_WORK_DIR}/LinuxApt/httpd-${HTTPD_VER})
 
 include(FindPackageHandleStandardArgs)
 # handle the QUIETLY and REQUIRED arguments and set LinuxApt_FOUND to TRUE if 

Modified: trunk/MgDev/cmake_bootstrap.sh
===================================================================
--- trunk/MgDev/cmake_bootstrap.sh	2019-01-02 18:22:51 UTC (rev 9432)
+++ trunk/MgDev/cmake_bootstrap.sh	2019-01-02 21:25:37 UTC (rev 9433)
@@ -1,10 +1,5 @@
 #!/bin/sh
 
-# TODO: The MapGuie build system is not aware of FDO (beyond the built FDO binaries), so there is nothing here 
-# that knows that FDO's build system has an internally built copy of openssl/curl that can be passed on to PHP 
-# here.
-
-MG_INST_PREFIX=/usr/local/mapguideopensource-3.3.0
 OEM_WORK_DIR=~/mapguide_oem_build
 INTERNAL_ACE=0
 INTERNAL_CPPUNIT=0
@@ -21,10 +16,6 @@
 USE_CCACHE=0
 while [ $# -gt 0 ]; do    # Until you run out of parameters...
     case "$1" in
-        --prefix)
-            MG_INST_PREFIX="$2"
-            shift
-            ;;
         --oem-working-dir)
             OEM_WORK_DIR="$2"
             shift
@@ -81,8 +72,7 @@
         --help)
             echo "Usage: $0 (options)"
             echo "Options:"
-            echo "  --prefix [install prefix]"
-            echo "  --oem-working-dir [installation directory]"
+            echo "  --oem-working-dir [oem working directory, default: ~/mapguide_oem_build]"
             echo "  --build [32(default)|64]"
             echo "  --config [Release(default)|Debug]"
             echo "  --have-system-xerces [Use system-installed xerces]"
@@ -187,7 +177,7 @@
     autoconf
     automake --add-missing --copy --force-missing
     # -ldl is to prevent undefined reference to dlsym/dlopen/dlclose
-    sh ./configure --enable-silent-rules --prefix="${MG_INST_PREFIX}" LDFLAGS="-ldl"
+    sh ./configure --enable-silent-rules --prefix="${OEM_INSTALL_STAGE}/cppunit" LDFLAGS="-ldl"
     make && make install
     check_build
 fi
@@ -196,7 +186,13 @@
     echo "Building zlib (internal)"
     cp -Rf "${SOURCE_DIR}/Oem/gd/zlib" "${OEM_WORK_DIR}/gd/zlib"
     cd "${OEM_WORK_DIR}/gd/zlib" || exit
-    sh ./configure --prefix="${OEM_INSTALL_STAGE}/zlib"
+    if [ "$USE_CCACHE" = "1" ]; then
+        # Aliasing CC=ccache gcc breaks the gcc check in this configure script that
+        # would've inserted the required -fPIC flag. So specify manually
+        CFLAGS="-O3 -fPIC" sh ./configure --prefix="${OEM_INSTALL_STAGE}/zlib"
+    else
+        sh ./configure --prefix="${OEM_INSTALL_STAGE}/zlib"
+    fi
     make && make install
     check_build
 fi
@@ -318,11 +314,14 @@
     # The fix to to set the appropriate CFLAGS/CPPFLAGS/CXXFLAGS/LDFLAGS/FFLAGS before calling the configure script
     #
     # If we upgrade our internal copy of GEOS in the future, this should be reviewed
+    #
+    # NOTE: We've added --disable-shared --enable-silent-rules so only the static lib gets built and CMake doesn't get any
+    # strange ideas about wanting to link to the dynamic lib
     chmod +x configure
     if [ $BUILD_CPU -eq 64 ]; then
-        CFLAGS="-m64" CPPFLAGS="-m64" CXXFLAGS="-m64" LDFLAGS="-m64" FFLAGS="-m64" LDFLAGS="-L/usr/lib64" ./configure --with-pic --enable-silent-rules --prefix="${INSTALLDIR}"
+        CFLAGS="-m64" CPPFLAGS="-m64" CXXFLAGS="-m64" LDFLAGS="-m64" FFLAGS="-m64" LDFLAGS="-L/usr/lib64" ./configure --with-pic --enable-static --disable-shared --enable-silent-rules --prefix="${INSTALLDIR}"
     else
-        CFLAGS="-m32" CPPFLAGS="-m32" CXXFLAGS="-m32" LDFLAGS="-m32" FFLAGS="-m32" LDFLAGS="-L/usr/lib" ./configure --enable-silent-rules --prefix="${INSTALLDIR}"
+        CFLAGS="-m32" CPPFLAGS="-m32" CXXFLAGS="-m32" LDFLAGS="-m32" FFLAGS="-m32" LDFLAGS="-L/usr/lib" ./configure --enable-static --disable-shared --enable-silent-rules --prefix="${INSTALLDIR}"
     fi
     make
     # The check build is disabled as the build will fail with automake version < 2.59
@@ -378,106 +377,6 @@
     fi
 fi
 
-PHP_VER=5.6.33
-HTTPD_VER=2.4.29
-TC_VER=1.2.42
-
-HTTPD_PORT=8008
-TOMCAT_PORT=8009
-
-MG_INSTALL_WEB_PREFIX=$MG_INST_PREFIX/webserverextensions
-
-LA_WORKDIR=${OEM_WORK_DIR}/LinuxApt
-HTTPD_WORKDIR=${LA_WORKDIR}/httpd-${HTTPD_VER}
-PHP_WORKDIR=${LA_WORKDIR}/php-${PHP_VER}
-TC_WORKDIR=${LA_WORKDIR}/tomcat-connectors-${TC_VER}-src
-
-if [ ! -d "${LA_WORKDIR}" ]; then
-    mkdir -p "$LA_WORKDIR"
-fi
-
-echo "Checking if we need to build httpd"
-HAS_HTTPD=0
-if [ -d "${HTTPD_WORKDIR}" ]; then
-    HAS_HTTPD=1
-fi
-echo "Checking if we need to build php"
-HAS_PHP=0
-if [ -d "${PHP_WORKDIR}" ]; then
-    HAS_PHP=1
-fi
-echo "Checking if we need to build tomcat connector"
-HAS_TOMCAT_CONNECTOR=0
-if [ -d "${TC_WORKDIR}" ]; then
-    HAS_TOMCAT_CONNECTOR=1
-fi
-echo "Has HTTPD: ${HAS_HTTPD}"
-echo "Has PHP: ${HAS_PHP}"
-echo "Has Tomcat Connector: ${HAS_TOMCAT_CONNECTOR}"
-if test $HAS_HTTPD -eq 0; then
-    cd "$SOURCE_DIR/Oem/LinuxApt" || exit
-    echo "Extracting HTTPD tarballs"
-    tar -jxf httpd-${HTTPD_VER}.tar.bz2 -C "${LA_WORKDIR}"
-    tar -jxf httpd-${HTTPD_VER}-deps.tar.bz2 -C "${LA_WORKDIR}"
-    cd "${HTTPD_WORKDIR}" || exit
-    echo "Configuring HTTPD"
-    ./configure --prefix="${MG_INSTALL_WEB_PREFIX}/apache2" --enable-mods-shared-all --with-included-apr --with-port=${HTTPD_PORT} 2>&1 | tee "$OEM_WORK_DIR/configure_httpd_fake.log"
-    check_build
-    echo "Building HTTPD. Please wait"
-    make 2>&1 | tee "$OEM_WORK_DIR/make_httpd_fake.log"
-    check_build
-fi
-cd "${HTTPD_WORKDIR}" || exit
-echo "Installing HTTPD"
-make install 2>&1 | tee "$OEM_WORK_DIR/make_install_httpd_fake.log"
-check_build
-echo "Include conf/mapguide/*.conf" >> "${MG_INSTALL_WEB_PREFIX}/apache2/conf/httpd.conf"
-# Activate mod_rewrite
-sed -i "s/#LoadModule rewrite_module modules\/mod_rewrite.so/LoadModule rewrite_module modules\/mod_rewrite.so/g" "${MG_INSTALL_WEB_PREFIX}/apache2/conf/httpd.conf"
-# Make sure lib dirs are in envvars
-cat >> "${MG_INSTALL_WEB_PREFIX}/apache2/bin/envvars" <<END-OF-ENVVARS
-export LD_LIBRARY_PATH=${MG_INSTALL_WEB_PREFIX}/lib:${MG_INSTALL_WEB_PREFIX}/php/lib:${MG_INST_PREFIX}/lib
-export MENTOR_DICTIONARY_PATH=${MG_INST_PREFIX}/share/gis/coordsys
-END-OF-ENVVARS
-
-if test $HAS_PHP -eq 0; then
-    cd "$SOURCE_DIR/Oem/LinuxApt" || exit
-    echo "Extracting PHP tarball"
-    tar -jxf php-${PHP_VER}.tar.bz2 -C "${LA_WORKDIR}"
-
-    echo "Configuring PHP"
-    cd "${PHP_WORKDIR}" || exit
-    # TODO: Patch out the use of meta_ccld so ccache can work: https://bugs.php.net/bug.php?id=75940
-    # if/when we finally move to PHP 7, this patch is already applied
-    ./configure --prefix="${MG_INSTALL_WEB_PREFIX}/php" --with-apxs2="${MG_INSTALL_WEB_PREFIX}/apache2/bin/apxs" --with-openssl --with-curl --enable-xml --enable-wddx --enable-shared --with-zlib-dir="$PHP_ZLIB_DIR" --enable-zip --enable-mbstring=all --with-xsl=/usr/lib --with-gd --with-png-dir="$PHP_PNG_DIR" --with-jpeg-dir="$PHP_JPEG_DIR" --with-freetype-dir="$PHP_FREETYPE_DIR" 2>&1 | tee "$OEM_WORK_DIR/configure_php.log"
-    check_build
-    echo "Building PHP. Please wait"
-    make 2>&1 | tee "$OEM_WORK_DIR/make_php.log"
-    check_build
-fi
-
-cd "${PHP_WORKDIR}" || exit
-echo "Installing PHP"
-make install 2>&1 | tee "$OEM_WORK_DIR/make_install_php.log"
-check_build
-
-if test $HAS_TOMCAT_CONNECTOR -eq 0; then
-    cd "$SOURCE_DIR/Oem/LinuxApt" || exit
-    echo "Extracting Tomcat Connector tarball"
-    tar -zxf tomcat-connectors-${TC_VER}-src.tar.gz -C "${LA_WORKDIR}"
-    cd "${TC_WORKDIR}/native" || exit
-    echo "Configuring Tomcat Connector"
-    ./configure --with-apxs="${MG_INSTALL_WEB_PREFIX}/apache2/bin/apxs" 2>&1 | tee "$OEM_WORK_DIR/configure_tc.log"
-    check_build
-    echo "Building Tomcat Connector. Please wait"
-    make 2>&1 | tee "$OEM_WORK_DIR/make_tc.log"
-    check_build
-fi
-echo "Installing Tomcat Connector"
-cd "${TC_WORKDIR}/native" || exit
-make install 2>&1 | tee "$OEM_WORK_DIR/make_install_tc.log"
-check_build
-
 OUT_INTERNAL_ACE=FALSE
 if [ "$INTERNAL_ACE" = "1" ]; then
     OUT_INTERNAL_ACE=TRUE
@@ -518,14 +417,8 @@
 # dump vars to setup script
 {
     echo "#!/bin/sh"
-    echo "export MG_INST_PREFIX=$MG_INST_PREFIX"
     echo "export BUILD_CPU=$BUILD_CPU"
     echo "export BUILD_CONFIG=$BUILD_CONFIG"
-    echo "export PHP_VER=$PHP_VER"
-    echo "export HTTPD_VER=$HTTPD_VER"
-    echo "export TC_VER=$TC_VER"
-    echo "export HTTPD_PORT=$HTTPD_PORT"
-    echo "export TOMCAT_PORT=$TOMCAT_PORT"
     echo "export HAVE_SYSTEM_XERCES=$HAVE_SYSTEM_XERCES"
     echo "export INTERNAL_ACE=$OUT_INTERNAL_ACE"
     echo "export INTERNAL_CPPUNIT=$OUT_INTERNAL_CPPUNIT"
@@ -536,8 +429,13 @@
     echo "export INTERNAL_GD=$OUT_INTERNAL_GD"
     echo "export INTERNAL_JSON=$OUT_INTERNAL_JSON"
     echo "export INTERNAL_GEOS=$OUT_INTERNAL_GEOS"
+    echo "export PHP_JPEG_DIR=$PHP_JPEG_DIR"
+    echo "export PHP_PNG_DIR=$PHP_PNG_DIR"
+    echo "export PHP_FREETYPE_DIR=$PHP_FREETYPE_DIR"
+    echo "export PHP_ZLIB_DIR=$PHP_ZLIB_DIR"
 } > "$OEM_WORK_DIR/env_vars.sh"
 chmod +x "$OEM_WORK_DIR/env_vars.sh"
+cp -f "$OEM_WORK_DIR/env_vars.sh" "$OEM_WORK_DIR/env_vars.stage1.sh"
 
 if [ "$USE_CCACHE" = "1" ]; then
     ccache -s
@@ -544,4 +442,4 @@
 fi
 
 echo "$OEM_WORK_DIR/env_vars.sh written"
-echo "Make sure to run cmake_build.sh with --oem-working-dir set to: $OEM_WORK_DIR"
\ No newline at end of file
+echo "Make sure to run cmake_linuxapt.sh next with --oem-working-dir set to: $OEM_WORK_DIR"
\ No newline at end of file

Modified: trunk/MgDev/cmake_build.sh
===================================================================
--- trunk/MgDev/cmake_build.sh	2019-01-02 18:22:51 UTC (rev 9432)
+++ trunk/MgDev/cmake_build.sh	2019-01-02 21:25:37 UTC (rev 9433)
@@ -27,8 +27,8 @@
         --help)
             echo "Usage: $0 (options)"
             echo "Options:"
-            echo "  --cmake-build-dir [CMake build directory]"
-            echo "  --oem-working-dir [installation directory]"
+            echo "  --cmake-build-dir [CMake build directory, default: ~/mapguide_build_area]"
+            echo "  --oem-working-dir [OEM build directory, default: ~/mapguide_oem_build]"
             echo "  --with-asan [build with ASAN (if available)]"
             echo "  --with-gold [link with gold instead of ld (if available)]"
             echo "  --ninja [Use ninja build system]"
@@ -78,6 +78,7 @@
 echo "Using ld.gold: $USE_LD_GOLD"
 echo "CMake build directory is: $CMAKE_BUILD_DIR" 
 echo "OEM Working Directory is: $OEM_WORK_DIR"
+echo "LinuxApt Working Directory is: $LINUXAPT_WORK_DIR"
 
 echo "Creating CMake build directory"
 mkdir -p "$CMAKE_BUILD_DIR"
@@ -91,13 +92,11 @@
 echo "Setting up CMake in: $CMAKE_BUILD_DIR"
 cd "$CMAKE_BUILD_DIR" || exit
 if test $USE_NINJA -eq 1; then
-    cmake -G Ninja "$SOURCE_DIR" -DMG_INSTALL_PREFIX=$MG_INST_PREFIX -DMG_CPU=$BUILD_CPU -DWITH_JAVA=TRUE -DUSE_LD_GOLD=$USE_LD_GOLD -DSANITIZE_ADDRESS=$USE_ASAN -DPHP_VER=$PHP_VER -DHTTPD_VER=$HTTPD_VER -DCMAKE_BUILD_TYPE=$BUILD_CONFIG -DMG_OEM_WORK_DIR=$OEM_WORK_DIR -DINTERNAL_XERCES=$INTERNAL_XERCES -DINTERNAL_ACE=$INTERNAL_ACE -DINTERNAL_CPPUNIT=$INTERNAL_CPPUNIT -DINTERNAL_ZLIB=$INTERNAL_ZLIB -DINTERNAL_JPEG=$INTERNAL_JPEG -DINTERNAL_PNG=$INTERNAL_PNG -DINTERNAL_FREETYPE=$INTERNAL_FREETYPE -DINTERNAL_GD=$INTERNAL_GD -DINTERNAL_JSON=$INTERNAL_JSON -DINTERNAL_GEOS=$INTERNAL_GEOS
+    cmake -G Ninja "$SOURCE_DIR" -DMG_INSTALL_PREFIX=$MG_INST_PREFIX -DMG_CPU=$BUILD_CPU -DWITH_JAVA=TRUE -DUSE_LD_GOLD=$USE_LD_GOLD -DSANITIZE_ADDRESS=$USE_ASAN -DPHP_VER=$PHP_VER -DHTTPD_VER=$HTTPD_VER -DCMAKE_BUILD_TYPE=$BUILD_CONFIG -DMG_OEM_WORK_DIR=$OEM_WORK_DIR -DMG_LINUXAPT_WORK_DIR=$LINUXAPT_WORK_DIR -DINTERNAL_XERCES=$INTERNAL_XERCES -DINTERNAL_ACE=$INTERNAL_ACE -DINTERNAL_CPPUNIT=$INTERNAL_CPPUNIT -DINTERNAL_ZLIB=$INTERNAL_ZLIB -DINTERNAL_JPEG=$INTERNAL_JPEG -DINTERNAL_PNG=$INTERNAL_PNG -DINTERNAL_FREETYPE=$INTERNAL_FREETYPE -DINTERNAL_GD=$INTERNAL_GD -DINTERNAL_JSON=$INTERNAL_JSON -DINTERNAL_GEOS=$INTERNAL_GEOS
     check_build
-    ninja
-    check_build
 else
-    cmake "$SOURCE_DIR" -DMG_INSTALL_PREFIX=$MG_INST_PREFIX -DMG_CPU=$BUILD_CPU -DWITH_JAVA=TRUE -DUSE_LD_GOLD=$USE_LD_GOLD -DSANITIZE_ADDRESS=$USE_ASAN -DPHP_VER=$PHP_VER -DHTTPD_VER=$HTTPD_VER -DCMAKE_BUILD_TYPE=$BUILD_CONFIG -DMG_OEM_WORK_DIR=$OEM_WORK_DIR -DINTERNAL_XERCES=$INTERNAL_XERCES -DINTERNAL_ACE=$INTERNAL_ACE -DINTERNAL_CPPUNIT=$INTERNAL_CPPUNIT -DINTERNAL_ZLIB=$INTERNAL_ZLIB -DINTERNAL_JPEG=$INTERNAL_JPEG -DINTERNAL_PNG=$INTERNAL_PNG -DINTERNAL_FREETYPE=$INTERNAL_FREETYPE -DINTERNAL_GD=$INTERNAL_GD -DINTERNAL_JSON=$INTERNAL_JSON -DINTERNAL_GEOS=$INTERNAL_GEOS
+    cmake "$SOURCE_DIR" -DMG_INSTALL_PREFIX=$MG_INST_PREFIX -DMG_CPU=$BUILD_CPU -DWITH_JAVA=TRUE -DUSE_LD_GOLD=$USE_LD_GOLD -DSANITIZE_ADDRESS=$USE_ASAN -DPHP_VER=$PHP_VER -DHTTPD_VER=$HTTPD_VER -DCMAKE_BUILD_TYPE=$BUILD_CONFIG -DMG_OEM_WORK_DIR=$OEM_WORK_DIR -DMG_LINUXAPT_WORK_DIR=$LINUXAPT_WORK_DIR -DINTERNAL_XERCES=$INTERNAL_XERCES -DINTERNAL_ACE=$INTERNAL_ACE -DINTERNAL_CPPUNIT=$INTERNAL_CPPUNIT -DINTERNAL_ZLIB=$INTERNAL_ZLIB -DINTERNAL_JPEG=$INTERNAL_JPEG -DINTERNAL_PNG=$INTERNAL_PNG -DINTERNAL_FREETYPE=$INTERNAL_FREETYPE -DINTERNAL_GD=$INTERNAL_GD -DINTERNAL_JSON=$INTERNAL_JSON -DINTERNAL_GEOS=$INTERNAL_GEOS
     check_build
-    make
-    check_build
-fi
\ No newline at end of file
+fi
+cmake --build .
+check_build
\ No newline at end of file

Added: trunk/MgDev/cmake_linuxapt.sh
===================================================================
--- trunk/MgDev/cmake_linuxapt.sh	                        (rev 0)
+++ trunk/MgDev/cmake_linuxapt.sh	2019-01-02 21:25:37 UTC (rev 9433)
@@ -0,0 +1,251 @@
+#!/bin/sh
+
+# TODO: The MapGuide build system is not aware of FDO (beyond the built FDO binaries), so there is nothing here 
+# that knows that FDO's build system has an internally built copy of openssl/curl that can be passed on to PHP 
+# here.
+
+# BOGUS:
+#
+# All I wanted was to adhere to the CMake philsophy as much as possible: Build everything non-elevated, outside of the source tree. Only needing
+# elevation when it came time to actually "install" the various built binaries.
+#
+# But noooooooooooooooooo ...
+#
+# Building PHP and Tomcat Connector requires the apxs tool from httpd, which will only work when I make install httpd first, which on most Linux distros
+# (that aren't inside docker containers) will generally require elevation from non-root users, and because this is done within this script, it means
+# that the root-elevation will "infect" *all other binaries" built from this script!!!
+#
+# So in the interest of minimizing the possible damage, this triplet of sources (httpd/php/tomcat-connector) are built by this very script and 
+# thus this is the only script that requires elevation if not running as root (and/or you are not running this from within a docker container)
+#
+# All other cmake_*.sh scripts can remain being run as-is without elevation
+
+MG_INST_PREFIX=/usr/local/mapguideopensource
+OEM_WORK_DIR=~/mapguide_oem_build
+LINUXAPT_WORK_DIR=~/mapguide_linuxapt_build
+USE_CCACHE=0
+while [ $# -gt 0 ]; do    # Until you run out of parameters...
+    case "$1" in
+        --prefix)
+            MG_INST_PREFIX="$2"
+            shift
+            ;;
+        --oem-working-dir)
+            OEM_WORK_DIR="$2"
+            shift
+            ;;
+        --working-dir)
+            LINUXAPT_WORK_DIR="$2"
+            shift
+            ;;
+        # "infecting" our ccache with root-elevated cached object files is probably a bad look
+        # especially if we need to non-elevated ccache builds further down the road
+        #--with-ccache)
+        #    USE_CCACHE=1
+        #    ;;
+        --help)
+            echo "Usage: $0 (options)"
+            echo "Options:"
+            echo "  --prefix [install prefix, default: /usr/local/mapguideopensource]"
+            echo "  --oem-working-dir [working directory, default: ~/mapguide_oem_build]"
+            echo "  --working-dir [working directory, default: ~/mapguide_linuxapt_build]"
+            echo "  --help [Display usage]"
+            #echo "  --with-ccache [Use ccache]"
+            exit
+            ;;
+    esac
+    shift   # Check next set of parameters.
+done
+
+SOURCE_DIR=$(pwd)
+
+check_build()
+{
+    error=$?
+    if [ $error -ne 0 ]; then
+        echo "$LIB_NAME: Error build failed ($error)................."
+        # Return back to this dir before bailing
+        cd "$SOURCE_DIR" || exit
+        exit $error
+    fi
+}
+
+echo "Checking if OEM working dir exists"
+if [ ! -d "$OEM_WORK_DIR" ]; then
+    echo "OEM working dir not found"
+    exit 1
+fi
+
+. "$OEM_WORK_DIR/env_vars.sh"
+
+# Validate
+if test "$BUILD_CPU" != "32" -a "$BUILD_CPU" != "64"; then
+    echo "--build must be 32 or 64"
+    exit 1;
+fi
+if test "$BUILD_CONFIG" != "Release" -a "$BUILD_CONFIG" != "Debug"; then
+    echo "--config must be Release or Debug"
+    exit 1;
+fi
+
+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 "LinuxApt Working Directory is: $LINUXAPT_WORK_DIR"
+echo "Using ccache: $USE_CCACHE"
+
+echo "PHP_JPEG_DIR      = $PHP_JPEG_DIR"
+echo "PHP_PNG_DIR       = $PHP_PNG_DIR"
+echo "PHP_FREETYPE_DIR  = $PHP_FREETYPE_DIR"
+echo "PHP_ZLIB_DIR      = $PHP_ZLIB_DIR"
+
+LIBNAME=lib
+if [ "$BUILD_CPU" = "64" ]; then
+    LIBNAME=lib64
+fi
+
+if [ "$USE_CCACHE" = "1" ]; then
+    export CC="ccache gcc"
+    export CXX="ccache g++"
+    ccache -s
+fi
+
+echo "Checking if LinuxApt working dir exists"
+if [ ! -d "$LINUXAPT_WORK_DIR" ]; then
+    mkdir -p "$LINUXAPT_WORK_DIR"
+    echo "Created LinuxApt working dir at: $LINUXAPT_WORK_DIR"
+fi
+
+PHP_VER=5.6.33
+HTTPD_VER=2.4.29
+TC_VER=1.2.42
+
+HTTPD_PORT=8008
+TOMCAT_PORT=8009
+
+MG_INSTALL_WEB_PREFIX=$MG_INST_PREFIX/webserverextensions
+
+LA_WORKDIR=${LINUXAPT_WORK_DIR}/LinuxApt
+HTTPD_WORKDIR=${LA_WORKDIR}/httpd-${HTTPD_VER}
+PHP_WORKDIR=${LA_WORKDIR}/php-${PHP_VER}
+TC_WORKDIR=${LA_WORKDIR}/tomcat-connectors-${TC_VER}-src
+
+if [ ! -d "${LA_WORKDIR}" ]; then
+    mkdir -p "$LA_WORKDIR"
+fi
+
+echo "Checking if we need to build httpd"
+HAS_HTTPD=0
+if [ -d "${HTTPD_WORKDIR}" ]; then
+    HAS_HTTPD=1
+fi
+echo "Checking if we need to build php"
+HAS_PHP=0
+if [ -d "${PHP_WORKDIR}" ]; then
+    HAS_PHP=1
+fi
+echo "Checking if we need to build tomcat connector"
+HAS_TOMCAT_CONNECTOR=0
+if [ -d "${TC_WORKDIR}" ]; then
+    HAS_TOMCAT_CONNECTOR=1
+fi
+echo "Has HTTPD: ${HAS_HTTPD}"
+echo "Has PHP: ${HAS_PHP}"
+echo "Has Tomcat Connector: ${HAS_TOMCAT_CONNECTOR}"
+
+if test $HAS_HTTPD -eq 0; then
+    cd "$SOURCE_DIR/Oem/LinuxApt" || exit
+    echo "Extracting HTTPD tarballs"
+    tar -jxf httpd-${HTTPD_VER}.tar.bz2 -C "${LA_WORKDIR}"
+    tar -jxf httpd-${HTTPD_VER}-deps.tar.bz2 -C "${LA_WORKDIR}"
+    cd "${HTTPD_WORKDIR}" || exit
+    echo "Configuring HTTPD"
+    ./configure --prefix="${MG_INSTALL_WEB_PREFIX}/apache2" --enable-mods-shared-all --with-included-apr --with-port=${HTTPD_PORT} 2>&1 | tee "$LINUXAPT_WORK_DIR/configure_httpd_fake.log"
+    check_build
+    echo "Building HTTPD. Please wait"
+    make 2>&1 | tee "$LINUXAPT_WORK_DIR/make_httpd_fake.log"
+    check_build
+fi
+
+cd "${HTTPD_WORKDIR}" || exit
+echo "Installing HTTPD"
+make install 2>&1 | tee "$LINUXAPT_WORK_DIR/make_install_httpd_fake.log"
+check_build
+echo "Include conf/mapguide/*.conf" >> "${MG_INSTALL_WEB_PREFIX}/apache2/conf/httpd.conf"
+# Activate mod_rewrite
+sed -i "s/#LoadModule rewrite_module modules\/mod_rewrite.so/LoadModule rewrite_module modules\/mod_rewrite.so/g" "${MG_INSTALL_WEB_PREFIX}/apache2/conf/httpd.conf"
+# Make sure lib dirs are in envvars
+cat >> "${MG_INSTALL_WEB_PREFIX}/apache2/bin/envvars" <<END-OF-ENVVARS
+export LD_LIBRARY_PATH=${MG_INSTALL_WEB_PREFIX}/${LIBNAME}:${MG_INSTALL_WEB_PREFIX}/php/lib:${MG_INST_PREFIX}/${LIBNAME}
+export MENTOR_DICTIONARY_PATH=${MG_INST_PREFIX}/share/gis/coordsys
+END-OF-ENVVARS
+
+if test $HAS_PHP -eq 0; then
+    cd "$SOURCE_DIR/Oem/LinuxApt" || exit
+    echo "Extracting PHP tarball"
+    tar -jxf php-${PHP_VER}.tar.bz2 -C "${LA_WORKDIR}"
+
+    echo "Configuring PHP"
+    cd "${PHP_WORKDIR}" || exit
+    # TODO: Patch out the use of meta_ccld so ccache can work: https://bugs.php.net/bug.php?id=75940
+    # if/when we finally move to PHP 7, this patch is already applied
+    ./configure --prefix="${MG_INSTALL_WEB_PREFIX}/php" --with-apxs2="${MG_INSTALL_WEB_PREFIX}/apache2/bin/apxs" --with-openssl --with-curl --enable-xml --enable-wddx --enable-shared --with-zlib-dir="$PHP_ZLIB_DIR" --enable-zip --enable-mbstring=all --with-xsl=/usr/lib --with-gd --with-png-dir="$PHP_PNG_DIR" --with-jpeg-dir="$PHP_JPEG_DIR" --with-freetype-dir="$PHP_FREETYPE_DIR" 2>&1 | tee "$LINUXAPT_WORK_DIR/configure_php.log"
+    check_build
+    echo "Building PHP. Please wait"
+    make 2>&1 | tee "$LINUXAPT_WORK_DIR/make_php.log"
+    check_build
+fi
+
+cd "${PHP_WORKDIR}" || exit
+echo "Installing PHP"
+make install 2>&1 | tee "$LINUXAPT_WORK_DIR/make_install_php.log"
+check_build
+
+if test $HAS_TOMCAT_CONNECTOR -eq 0; then
+    cd "$SOURCE_DIR/Oem/LinuxApt" || exit
+    echo "Extracting Tomcat Connector tarball"
+    tar -zxf tomcat-connectors-${TC_VER}-src.tar.gz -C "${LA_WORKDIR}"
+    cd "${TC_WORKDIR}/native" || exit
+    echo "Configuring Tomcat Connector"
+    ./configure --with-apxs="${MG_INSTALL_WEB_PREFIX}/apache2/bin/apxs" 2>&1 | tee "$LINUXAPT_WORK_DIR/configure_tc.log"
+    check_build
+    echo "Building Tomcat Connector. Please wait"
+    make 2>&1 | tee "$LINUXAPT_WORK_DIR/make_tc.log"
+    check_build
+fi
+
+echo "Installing Tomcat Connector"
+cd "${TC_WORKDIR}/native" || exit
+make install 2>&1 | tee "$LINUXAPT_WORK_DIR/make_install_tc.log"
+check_build
+
+echo "Installing Fusion"
+cd "${SOURCE_DIR}/Oem/fusion" || exit
+ant deploy -Ddeploy.home=${MG_INSTALL_WEB_PREFIX}/www/fusion
+chown daemon:daemon "${MG_INSTALL_WEB_PREFIX}/www/fusion/lib/tcpdf/cache"
+cp -R "${SOURCE_DIR}/Oem/fusionMG/templates" "${MG_INSTALL_WEB_PREFIX}/www/fusion"
+
+cp -f "$OEM_WORK_DIR/env_vars.stage1.sh" "$OEM_WORK_DIR/env_vars.sh"
+# append vars to setup script
+{
+    echo "export LINUXAPT_WORK_DIR=$LINUXAPT_WORK_DIR"
+    echo "export HTTPD_WORKDIR=$HTTPD_WORKDIR"
+    echo "export PHP_WORKDIR=$PHP_WORKDIR"
+    echo "export TC_WORKDIR=$TC_WORKDIR"
+    echo "export MG_INST_PREFIX=$MG_INST_PREFIX"
+    echo "export PHP_VER=$PHP_VER"
+    echo "export HTTPD_VER=$HTTPD_VER"
+    echo "export TC_VER=$TC_VER"
+    echo "export HTTPD_PORT=$HTTPD_PORT"
+    echo "export TOMCAT_PORT=$TOMCAT_PORT"
+} >> "$OEM_WORK_DIR/env_vars.sh"
+cp -f "$OEM_WORK_DIR/env_vars.sh" "$OEM_WORK_DIR/env_vars.stage2.sh"
+
+if [ "$USE_CCACHE" = "1" ]; then
+    ccache -s
+fi
+
+echo "$OEM_WORK_DIR/env_vars.sh updated"
+echo "Make sure to run cmake_build.sh with --oem-working-dir set to: $OEM_WORK_DIR"
\ No newline at end of file



More information about the mapguide-commits mailing list