[mapguide-commits] r8132 - in branches/2.6/MgDev/Desktop: . MgDesktop MgDesktop/Services MgDesktop/Services/Feature MgDesktop/System UnitTest cmake cmake/modules

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Thu May 15 09:51:12 PDT 2014


Author: jng
Date: 2014-05-15 09:51:12 -0700 (Thu, 15 May 2014)
New Revision: 8132

Added:
   branches/2.6/MgDev/Desktop/CMakeLists.txt
   branches/2.6/MgDev/Desktop/MgDesktop/CMakeLists.txt
   branches/2.6/MgDev/Desktop/MgDesktop/postinstall.sh
   branches/2.6/MgDev/Desktop/UnitTest/CMakeLists.txt
   branches/2.6/MgDev/Desktop/UnitTest/postbuild.sh
   branches/2.6/MgDev/Desktop/UnitTest/postinstall.sh
   branches/2.6/MgDev/Desktop/cmake/
   branches/2.6/MgDev/Desktop/cmake/modules/
   branches/2.6/MgDev/Desktop/cmake/modules/FindACE.cmake
   branches/2.6/MgDev/Desktop/cmake/modules/FindCppUnit.cmake
   branches/2.6/MgDev/Desktop/cmake/modules/FindDWFCore.cmake
   branches/2.6/MgDev/Desktop/cmake/modules/FindDWFEMap.cmake
   branches/2.6/MgDev/Desktop/cmake/modules/FindDWFToolkit.cmake
   branches/2.6/MgDev/Desktop/cmake/modules/FindFDO.cmake
   branches/2.6/MgDev/Desktop/cmake/modules/FindFDOInternal.cmake
   branches/2.6/MgDev/Desktop/cmake/modules/FindFDOThirdparty.cmake
   branches/2.6/MgDev/Desktop/cmake/modules/FindMgFoundation.cmake
   branches/2.6/MgDev/Desktop/cmake/modules/FindMgGeometry.cmake
   branches/2.6/MgDev/Desktop/cmake/modules/FindMgGwsCommon.cmake
   branches/2.6/MgDev/Desktop/cmake/modules/FindMgGwsQueryEngine.cmake
   branches/2.6/MgDev/Desktop/cmake/modules/FindMgMdfModel.cmake
   branches/2.6/MgDev/Desktop/cmake/modules/FindMgMdfParser.cmake
   branches/2.6/MgDev/Desktop/cmake/modules/FindMgPlatformBase.cmake
   branches/2.6/MgDev/Desktop/cmake/modules/FindMgRenderers.cmake
   branches/2.6/MgDev/Desktop/cmake/modules/FindMgSecurity.cmake
   branches/2.6/MgDev/Desktop/cmake/modules/FindMgStylization.cmake
   branches/2.6/MgDev/Desktop/cmake/modules/FindMySQL.cmake
   branches/2.6/MgDev/Desktop/cmake/modules/FindPostgreSQL.cmake
   branches/2.6/MgDev/Desktop/cmake/modules/FindSqlite.cmake
   branches/2.6/MgDev/Desktop/cmake/modules/FindXalanC.cmake
   branches/2.6/MgDev/Desktop/cmake/modules/FindXercesC.cmake
   branches/2.6/MgDev/Desktop/cmake/modules/MacroOptionalAddSubdirectory.cmake
   branches/2.6/MgDev/Desktop/cmake/modules/MacroPushRequiredVars.cmake
   branches/2.6/MgDev/Desktop/cmake/modules/TestCmakeVersion.cxx
Modified:
   branches/2.6/MgDev/Desktop/MgDesktop/Platform.ini
   branches/2.6/MgDev/Desktop/MgDesktop/Services/Feature/FdoConnectionPool.cpp
   branches/2.6/MgDev/Desktop/MgDesktop/Services/Feature/FdoConnectionUtil.cpp
   branches/2.6/MgDev/Desktop/MgDesktop/Services/Feature/FeatureConnection.h
   branches/2.6/MgDev/Desktop/MgDesktop/Services/FeatureReader.cpp
   branches/2.6/MgDev/Desktop/MgDesktop/Services/ResourceService.cpp
   branches/2.6/MgDev/Desktop/MgDesktop/System/Mutex.h
   branches/2.6/MgDev/Desktop/MgDesktop/System/PlatformInit.cpp
   branches/2.6/MgDev/Desktop/UnitTest/TestFeatureService.cpp
   branches/2.6/MgDev/Desktop/UnitTest/TestResourceService.cpp
Log:
mg-desktop: Add compilation support for Linux. We use CMake to build mg-desktop. This currently builds the mg-desktop library and the unit test executable

Added: branches/2.6/MgDev/Desktop/CMakeLists.txt
===================================================================
--- branches/2.6/MgDev/Desktop/CMakeLists.txt	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/CMakeLists.txt	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,48 @@
+project(mgdesktop)
+
+# CMake base requires and policy tweaks
+cmake_minimum_required( VERSION 2.6.2 FATAL_ERROR )
+# CMP0005: keep escaping behaviour for definitions added via add_definitions()
+cmake_policy( SET CMP0005 OLD )
+
+# Look first in internal modules
+set(CMAKE_MODULE_PATH 
+	${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules
+	)
+
+# Make CPack available to easy generate binary packages
+include(CPack)
+
+# Set MapGuide version macros
+
+set( MG_VERSION_MAJOR 2 )
+set( MG_VERSION_MINOR 6 )
+set( MG_VERSION_RELEASE 0 )
+set( MG_VERSION "${MG_VERSION_MAJOR}.${MG_VERSION_MINOR}.${MG_VERSION_RELEASE}" )
+set( MG_DISTRIBUTION_TEXT "Self compiled sources" CACHE STRING "Indicate compilation origin" )
+set( MG_SRC_ROOT ${CMAKE_CURRENT_SOURCE_DIR} )
+
+set( MG_ROOT_DIR "/usr/local/mapguideopensource-${MG_VERSION}")
+set( MG_LIB_DIR "${MG_ROOT_DIR}/lib" )
+set( MG_COORDSYS_DIR "${MG_ROOT_DIR}/share/gis/coordsys" )
+# Override install directory to match what the automake build does (/usr/local, rather than /usr/local/lib)
+set( INSTALL_PREFIX "${MG_ROOT_DIR}/desktop" )
+
+if( UNIX )
+	add_definitions( -DFULLPROTO -fPIC -DPIC )
+endif( UNIX )
+
+if (CMAKE_SYSTEM_NAME MATCHES Linux)
+	add_definitions( -DLINUX -DLINUX_IA32 -pthread )
+endif (CMAKE_SYSTEM_NAME MATCHES Linux)
+
+if( CMAKE_COMPILER_IS_GNUCXX )
+	add_definitions( -D__USE_GNU -Wno-deprecated -Wno-write-strings -Wno-format )
+	set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,--as-needed -Wl,--no-undefined -lc ${CMAKE_SHARED_LINKER_FLAGS}")
+	set ( CMAKE_CXX_FLAGS "-O2 -march=i686" )
+endif( CMAKE_COMPILER_IS_GNUCXX )
+
+add_subdirectory( MgDesktop )
+#add_subdirectory( DesktopUnmanagedApi )
+add_subdirectory( UnitTest )
+

Added: branches/2.6/MgDev/Desktop/MgDesktop/CMakeLists.txt
===================================================================
--- branches/2.6/MgDev/Desktop/MgDesktop/CMakeLists.txt	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/MgDesktop/CMakeLists.txt	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,86 @@
+find_package( Threads REQUIRED )
+find_package( ACE REQUIRED )
+find_package( FDO REQUIRED )
+find_package( DWFCore REQUIRED )
+find_package( DWFToolkit REQUIRED )
+find_package( DWFEMap REQUIRED )
+find_package( MgGwsCommon REQUIRED )
+find_package( MgGwsQueryEngine REQUIRED )
+find_package( MgMdfModel REQUIRED )
+find_package( MgMdfParser REQUIRED )
+find_package( MgFoundation REQUIRED )
+find_package( MgGeometry REQUIRED )
+find_package( MgPlatformBase REQUIRED )
+find_package( MgRenderers REQUIRED )
+find_package( MgStylization REQUIRED )
+find_package( MgSecurity REQUIRED )
+find_package( XercesC REQUIRED )
+
+include_directories(
+	${CMAKE_CURRENT_SOURCE_DIR}
+	${CMAKE_CURRENT_SOURCE_DIR}/Exception
+	${CMAKE_CURRENT_SOURCE_DIR}/Log
+	${CMAKE_CURRENT_SOURCE_DIR}/MapLayer
+	${CMAKE_CURRENT_SOURCE_DIR}/Services
+	${CMAKE_CURRENT_SOURCE_DIR}/System
+    ${FDO_INCLUDE_DIR}
+    ${FDO_INCLUDE_DIR}/ExpressionEngine
+    ${MgMdfModel_INCLUDE_DIR}
+    ${MgMdfParser_INCLUDE_DIR}
+    ${MgFoundation_INCLUDE_DIR}
+    ${MgGeometry_INCLUDE_DIR}
+    ${MgPlatformBase_INCLUDE_DIR}
+    ${MgRenderers_INCLUDE_DIR}
+    ${MgStylization_INCLUDE_DIR}
+    ${ACE_INCLUDE_DIR}
+    ${XercesC_INCLUDE_DIR}
+    ${DWFCore_INCLUDE_DIR}
+    ${DWFToolkit_INCLUDE_DIR}
+    ${DWFToolkit_INCLUDE_DIR}/dwf
+    ${DWFEMap_INCLUDE_DIR}
+    ${MgGwsCommon_INCLUDE_DIR}    
+    ${MgGwsQueryEngine_INCLUDE_DIR}
+    ${MgGwsQueryEngine_INCLUDE_DIR}/../GwsQueryEngine/inc
+    ${MgSecurity_INCLUDE_DIR}
+)
+
+set( MgDesktop_SRCS
+    MgDesktopBuild.cpp
+)
+
+add_library(MgDesktop-${MG_VERSION} SHARED ${MgDesktop_SRCS})
+
+target_link_libraries(
+    MgDesktop-${MG_VERSION}
+    ${CMAKE_DL_LIBS}
+    ${CMAKE_THREAD_LIBS_INIT}
+    ${ACE_LIBRARIES}
+    ${FDO_LIBRARY}
+    ${FDO_EXPRESSIONENGINE_LIBRARY}
+    ${DWFCore_LIBRARIES}
+    ${DWFToolkit_LIBRARIES}
+    ${DWFEMap_LIBRARIES}
+    ${MgGwsCommon_LIBRARIES}
+    ${MgGwsQueryEngine_LIBRARIES}
+    ${MgMdfModel_LIBRARIES}
+    ${MgMdfParser_LIBRARIES}
+    ${MgFoundation_LIBRARIES}
+    ${MgGeometry_LIBRARIES}
+    ${MgPlatformBase_LIBRARIES}
+    ${MgRenderers_LIBRARIES}
+    ${MgStylization_LIBRARIES}
+    ${MgSecurity_LIBRARIES}
+    ${XercesC_LIBRARIES}
+)
+
+install(DIRECTORY ${MG_SRC_ROOT}/../Common/Schema 
+    DESTINATION ${INSTALL_PREFIX}
+    FILES_MATCHING
+    PATTERN "*.xsd"
+    PATTERN ".svn" EXCLUDE
+    PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
+)
+install(FILES ${MG_SRC_ROOT}/../Common/MapGuideCommon/Resources/mapguide_en.res DESTINATION ${INSTALL_PREFIX}/Resources)
+install(FILES Platform.ini DESTINATION ${INSTALL_PREFIX}/conf)
+install(TARGETS MgDesktop-${MG_VERSION} DESTINATION ${INSTALL_PREFIX}/lib)
+install(CODE "execute_process(COMMAND sh ${CMAKE_CURRENT_SOURCE_DIR}/postinstall.sh)")

Modified: branches/2.6/MgDev/Desktop/MgDesktop/Platform.ini
===================================================================
(Binary files differ)

Modified: branches/2.6/MgDev/Desktop/MgDesktop/Services/Feature/FdoConnectionPool.cpp
===================================================================
--- branches/2.6/MgDev/Desktop/MgDesktop/Services/Feature/FdoConnectionPool.cpp	2014-05-14 22:46:15 UTC (rev 8131)
+++ branches/2.6/MgDev/Desktop/MgDesktop/Services/Feature/FdoConnectionPool.cpp	2014-05-15 16:51:12 UTC (rev 8132)
@@ -31,7 +31,7 @@
 
     ConnPool freePool;
     //ConnPool busyPool;
-    MgdMutex    MgdMutex;
+    MgdMutex mutex;
 };
 
 //The One instance of the connection pool
@@ -46,7 +46,7 @@
 
     CHECK_FEATURE_SOURCE_ARGUMENT(featureSourceId, L"MgdFdoConnectionPool::GetConnection");
 
-    ScopedLock scc(g_pool.MgdMutex);
+    ScopedLock scc(g_pool.mutex);
     STRING fsIdStr = featureSourceId->ToString();
     ConnPool::iterator it = g_pool.freePool.find(fsIdStr);
 
@@ -112,7 +112,7 @@
 {
     MG_FEATURE_SERVICE_TRY()
 
-    ScopedLock scc(g_pool.MgdMutex);
+    ScopedLock scc(g_pool.mutex);
     STRING providerName = conn->GetProviderName();
     FdoPtr<FdoIConnection> fdoConn = conn->m_fdoConn; //conn->GetConnection();
     
@@ -220,7 +220,7 @@
 {
     MG_FEATURE_SERVICE_TRY()
 
-    ScopedLock scc(g_pool.MgdMutex);
+    ScopedLock scc(g_pool.mutex);
 
     for (ConnPool::iterator it = g_pool.freePool.begin(); it != g_pool.freePool.end(); ++it)
     {
@@ -250,7 +250,7 @@
     if (MgResourceType::FeatureSource != resId->GetResourceType())
         return;
 
-    ScopedLock scc(g_pool.MgdMutex);
+    ScopedLock scc(g_pool.mutex);
 
     MG_FEATURE_SERVICE_TRY()
 
@@ -288,7 +288,7 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    ScopedLock scc(g_pool.MgdMutex);
+    ScopedLock scc(g_pool.mutex);
 
     STRING fsIdStr = resId->ToString();
     INT32 purged = 0;
@@ -340,7 +340,7 @@
 
 void MgdFdoConnectionPool::GetCacheInfo(std::vector<PoolCacheEntry*>& entries)
 {
-    ScopedLock scc(g_pool.MgdMutex);
+    ScopedLock scc(g_pool.mutex);
 
     for (ConnPool::iterator it = g_pool.freePool.begin(); it != g_pool.freePool.end(); ++it)
     {
@@ -374,4 +374,4 @@
             entries.push_back(ent);
         }
     }
-}
\ No newline at end of file
+}

Modified: branches/2.6/MgDev/Desktop/MgDesktop/Services/Feature/FdoConnectionUtil.cpp
===================================================================
--- branches/2.6/MgDev/Desktop/MgDesktop/Services/Feature/FdoConnectionUtil.cpp	2014-05-14 22:46:15 UTC (rev 8131)
+++ branches/2.6/MgDev/Desktop/MgDesktop/Services/Feature/FdoConnectionUtil.cpp	2014-05-15 16:51:12 UTC (rev 8132)
@@ -200,9 +200,9 @@
     FdoPtr<FdoStringElement> company = tokenParts->GetItem(0);
     FdoPtr<FdoStringElement> provider = tokenParts->GetItem(1);
 
-    STRING name = company->GetString();
+    STRING name = (FdoString*)company->GetString();
     name += L".";
-    name += provider->GetString();
+    name += (FdoString*)provider->GetString();
 
     return name;
 }
@@ -309,4 +309,4 @@
         ACE_DEBUG((LM_INFO, ACE_TEXT("[WARNING] Create/Close call mismatch - Create calls: %d, Close calls: %d\n"), sm_nConnectionsCreated, sm_nConnectionsClosed));
     }
 }
-#endif
\ No newline at end of file
+#endif

Modified: branches/2.6/MgDev/Desktop/MgDesktop/Services/Feature/FeatureConnection.h
===================================================================
--- branches/2.6/MgDev/Desktop/MgDesktop/Services/Feature/FeatureConnection.h	2014-05-14 22:46:15 UTC (rev 8131)
+++ branches/2.6/MgDev/Desktop/MgDesktop/Services/Feature/FeatureConnection.h	2014-05-15 16:51:12 UTC (rev 8132)
@@ -5,7 +5,6 @@
 class MgResourceIdentifier;
 class MgdFdoConnectionPool;
 
-template class Ptr<MgResourceIdentifier>;
 /// \cond INTERNAL
 class MgdFeatureConnection : public MgGuardDisposable
 {
@@ -50,4 +49,4 @@
     bool m_bCloseConnection;
 };
 ///\endcond
-#endif
\ No newline at end of file
+#endif

Modified: branches/2.6/MgDev/Desktop/MgDesktop/Services/FeatureReader.cpp
===================================================================
--- branches/2.6/MgDev/Desktop/MgDesktop/Services/FeatureReader.cpp	2014-05-14 22:46:15 UTC (rev 8131)
+++ branches/2.6/MgDev/Desktop/MgDesktop/Services/FeatureReader.cpp	2014-05-15 16:51:12 UTC (rev 8132)
@@ -390,7 +390,7 @@
     try
     {
         FdoInt32 len = 0;
-        data = m_reader->GetGeometry(propertyName.c_str(), &length);
+        data = m_reader->GetGeometry(propertyName.c_str(), &len);
         length = len;
     }
     catch(...)
@@ -887,4 +887,4 @@
 FdoIFeatureReader* MgdFeatureReader::GetInternalReader()
 {
     return FDO_SAFE_ADDREF(m_reader);
-}
\ No newline at end of file
+}

Modified: branches/2.6/MgDev/Desktop/MgDesktop/Services/ResourceService.cpp
===================================================================
--- branches/2.6/MgDev/Desktop/MgDesktop/Services/ResourceService.cpp	2014-05-14 22:46:15 UTC (rev 8131)
+++ branches/2.6/MgDev/Desktop/MgDesktop/Services/ResourceService.cpp	2014-05-15 16:51:12 UTC (rev 8132)
@@ -9,6 +9,14 @@
 #include "Services/Feature/FdoConnectionPool.h"
 #include "CryptographyUtil.h"
 
+static void XmlChToWideChar(const XMLCh* ch, REFSTRING wStr)
+{
+    char* mbCh = XMLString::transcode(ch);
+    std::string mbStr = mbCh;
+    MgUtil::MultiByteToWideChar(mbStr, wStr);
+    XMLString::release(&mbCh);
+}
+
 static int MgDirEntrySelector(const ACE_DIRENT *d)
 {
     return (0 != ACE_OS::strcmp(d->d_name, ACE_TEXT(".")) &&
@@ -342,7 +350,8 @@
             STRING resType = resource->GetResourceType();
             DOMElement* docEl = doc->getDocumentElement();
             CHECKNULL(docEl, L"MgdResourceService::SetResource");
-            STRING docElName = docEl->getNodeName();
+            STRING docElName;
+            XmlChToWideChar(docEl->getNodeName(), docElName);
 
             //Now make sure it's the right type of XML document
 
@@ -368,7 +377,8 @@
         }
         catch (const SAXParseException& e)
         {
-            STRING msg = e.getMessage();
+            STRING msg;
+            XmlChToWideChar(e.getMessage(), msg);
             XMLFileLoc lineNum = e.getLineNumber();
             XMLFileLoc colNum = e.getColumnNumber();
 
@@ -377,10 +387,10 @@
 
             STRING pubIdStr;
             if (NULL != pubId)
-                pubIdStr = pubId;
+                XmlChToWideChar(pubId, pubIdStr);
             STRING sysIdStr;
             if (NULL != sysId)
-                sysIdStr = sysId;
+                XmlChToWideChar(sysId, sysIdStr);
 
             STRING lineNumStr;
             STRING colNumStr;
@@ -1821,4 +1831,4 @@
 {
     MgdUnmanagedDataManager* umgr = MgdUnmanagedDataManager::GetInstance();
     umgr->AddAliasMapping(aliasName, path);
-}
\ No newline at end of file
+}

Modified: branches/2.6/MgDev/Desktop/MgDesktop/System/Mutex.h
===================================================================
--- branches/2.6/MgDev/Desktop/MgDesktop/System/Mutex.h	2014-05-14 22:46:15 UTC (rev 8131)
+++ branches/2.6/MgDev/Desktop/MgDesktop/System/Mutex.h	2014-05-15 16:51:12 UTC (rev 8132)
@@ -69,7 +69,7 @@
 
     ~MgdMutex()
     {
-        pthread_MgdMutex_destroy(&m_CritSect);
+        pthread_mutex_destroy(&m_CritSect);
     }
 
     void Initialize()
@@ -77,26 +77,26 @@
         if(!m_bInitialized)
         {
             m_bInitialized = true;
-            pthread_MgdMutexattr_init(&m_attributes);
-            pthread_MgdMutexattr_settype(&m_attributes, PTHREAD_MgdMutex_RECURSIVE);
-            pthread_MgdMutex_init(&m_CritSect, &m_attributes);
-            pthread_MgdMutexattr_destroy(&m_attributes);
+            pthread_mutexattr_init(&m_attributes);
+            pthread_mutexattr_settype(&m_attributes, PTHREAD_MUTEX_RECURSIVE);
+            pthread_mutex_init(&m_CritSect, &m_attributes);
+            pthread_mutexattr_destroy(&m_attributes);
         }
     }
 
     void Enter()
     {
-        pthread_MgdMutex_lock(&m_CritSect);
+        pthread_mutex_lock(&m_CritSect);
     }
 
     void Leave()
     {
-        pthread_MgdMutex_unlock(&m_CritSect);
+        pthread_mutex_unlock(&m_CritSect);
     }
 
 private:
-    pthread_MgdMutex_t m_CritSect;
-    pthread_MgdMutexattr_t m_attributes;
+    pthread_mutex_t m_CritSect;
+    pthread_mutexattr_t m_attributes;
 
 #endif //_WIN32
 
@@ -108,17 +108,17 @@
 class ScopedLock
 {
 public:
-    ScopedLock(MgdMutex& MgdMutex):m_MgdMutex(MgdMutex)
+    ScopedLock(MgdMutex& mutex):m_mutex(mutex)
     {
-        m_MgdMutex.Enter();
+        m_mutex.Enter();
     }
     ~ScopedLock()
     {
-        m_MgdMutex.Leave();
+        m_mutex.Leave();
     }
 private:
     ScopedLock();
-    MgdMutex& m_MgdMutex;
+    MgdMutex& m_mutex;
 };
 
-#endif
\ No newline at end of file
+#endif

Modified: branches/2.6/MgDev/Desktop/MgDesktop/System/PlatformInit.cpp
===================================================================
--- branches/2.6/MgDev/Desktop/MgDesktop/System/PlatformInit.cpp	2014-05-14 22:46:15 UTC (rev 8131)
+++ branches/2.6/MgDev/Desktop/MgDesktop/System/PlatformInit.cpp	2014-05-15 16:51:12 UTC (rev 8132)
@@ -61,6 +61,9 @@
                                    mentorDictPath, 
                                    MgdConfigProperties::DefaultGeneralPropertyMentorDictionaryPath);
 
+    Ptr<MgCoordinateSystemFactory> csFactory = new MgCoordinateSystemFactory();
+    Ptr<MgCoordinateSystemCatalog> csCatalog = csFactory->GetCatalog();
+
     #ifdef WIN32
     HMODULE hlib = NULL;
 
@@ -88,9 +91,6 @@
         MG_LOG_TRACE_ENTRY(L"PATH = " + updatedPath);
     }
 
-    Ptr<MgCoordinateSystemFactory> csFactory = new MgCoordinateSystemFactory();
-    Ptr<MgCoordinateSystemCatalog> csCatalog = csFactory->GetCatalog();
-
     //If specified in config inject this path into MENTOR_DICTIONARY_PATH
     if (!mentorDictPath.empty())
     {
@@ -127,7 +127,9 @@
     {
         if (MgFileUtil::IsDirectory(mentorDictPath))
         {
-            setenv("MENTOR_DICTIONARY_PATH", mentorDictPath.c_str(), 1);
+            //std::string mbDictPath = MgUtil::WideCharToMultiByte(mentorDictPath);
+            //setenv("MENTOR_DICTIONARY_PATH", mbDictPath.c_str(), 1);
+            csCatalog->SetDictionaryDir(mentorDictPath);
         }
     }
     #endif
@@ -250,4 +252,4 @@
     EXCEPTION_CLASS_CREATOR(InvalidPrintLayoutSizeUnitsException)
 
     return true;
-}
\ No newline at end of file
+}

Added: branches/2.6/MgDev/Desktop/MgDesktop/postinstall.sh
===================================================================
--- branches/2.6/MgDev/Desktop/MgDesktop/postinstall.sh	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/MgDesktop/postinstall.sh	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+PLATFORMINI=/usr/local/mapguideopensource-2.6.0/desktop/conf/Platform.ini
+echo "Running post-install operations"
+if [ ! -f /usr/local/mapguideopensource-2.6.0/desktop/lib/libMgDesktop.so ]; then
+    ln -s /usr/local/mapguideopensource-2.6.0/desktop/lib/libMgDesktop-2.6.0.so /usr/local/mapguideopensource-2.6.0/desktop/lib/libMgDesktop.so
+fi
+echo "Updating $PLATFORMINI"
+dos2unix $PLATFORMINI
+sed -i 's/= Schema\//= \/usr\/local\/mapguideopensource\-2.6.0\/desktop\/Schema/g' $PLATFORMINI
+sed -i 's/= Resources\//= \/usr\/local\/mapguideopensource\-2.6.0\/desktop\/Resources/g' $PLATFORMINI
+sed -i 's/= FDO\//= \/usr\/local\/fdo\-3.9.0\/lib/g' $PLATFORMINI
+sed -i 's/= Dictionaries\//= \/usr\/local\/mapguideopensource\-2.6.0\/share\/gis\/coordsys/g' $PLATFORMINI
+echo "Updated $PLATFORMINI"

Added: branches/2.6/MgDev/Desktop/UnitTest/CMakeLists.txt
===================================================================
--- branches/2.6/MgDev/Desktop/UnitTest/CMakeLists.txt	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/UnitTest/CMakeLists.txt	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,89 @@
+find_package( Threads REQUIRED )
+find_package( CppUnit REQUIRED )
+find_package( ACE REQUIRED )
+find_package( FDO REQUIRED )
+find_package( DWFCore REQUIRED )
+find_package( DWFToolkit REQUIRED )
+find_package( DWFEMap REQUIRED )
+find_package( MgGwsCommon REQUIRED )
+find_package( MgGwsQueryEngine REQUIRED )
+find_package( MgMdfModel REQUIRED )
+find_package( MgMdfParser REQUIRED )
+find_package( MgFoundation REQUIRED )
+find_package( MgGeometry REQUIRED )
+find_package( MgPlatformBase REQUIRED )
+find_package( MgRenderers REQUIRED )
+find_package( MgStylization REQUIRED )
+find_package( MgSecurity REQUIRED )
+find_package( XercesC REQUIRED )
+
+include_directories(
+	${CMAKE_CURRENT_SOURCE_DIR}/../MgDesktop
+    ${FDO_INCLUDE_DIR}
+    ${FDO_INCLUDE_DIR}/ExpressionEngine
+    ${CPPUNIT_INCLUDE_DIR}
+    ${MgMdfModel_INCLUDE_DIR}
+    ${MgMdfParser_INCLUDE_DIR}
+    ${MgFoundation_INCLUDE_DIR}
+    ${MgGeometry_INCLUDE_DIR}
+    ${MgPlatformBase_INCLUDE_DIR}
+    ${MgRenderers_INCLUDE_DIR}
+    ${MgStylization_INCLUDE_DIR}
+    ${ACE_INCLUDE_DIR}
+    ${XercesC_INCLUDE_DIR}
+    ${DWFCore_INCLUDE_DIR}
+    ${DWFToolkit_INCLUDE_DIR}
+    ${DWFToolkit_INCLUDE_DIR}/dwf
+    ${DWFEMap_INCLUDE_DIR}
+    ${MgGwsCommon_INCLUDE_DIR}    
+    ${MgGwsQueryEngine_INCLUDE_DIR}
+    ${MgGwsQueryEngine_INCLUDE_DIR}/../GwsQueryEngine/inc
+    ${MgSecurity_INCLUDE_DIR}
+)
+
+set( MgDesktop_SRCS
+    main.cpp
+    TestFeatureService.cpp
+    TestLogManager.cpp
+    TestLogManagerThread.cpp
+    TestMappingService.cpp
+    TestProfilingService.cpp
+    TestRenderingService.cpp
+    TestResourceService.cpp
+    TestTileService.cpp
+)
+
+add_executable(UnitTest ${MgDesktop_SRCS})
+
+target_link_libraries(
+    UnitTest
+    MgDesktop-${MG_VERSION}
+    ${CMAKE_DL_LIBS}
+    ${CMAKE_THREAD_LIBS_INIT}
+    ${CPPUNIT_LIBRARIES}
+    ${ACE_LIBRARIES}
+    ${FDO_LIBRARY}
+    ${FDO_EXPRESSIONENGINE_LIBRARY}
+    ${DWFCore_LIBRARIES}
+    ${DWFToolkit_LIBRARIES}
+    ${DWFEMap_LIBRARIES}
+    ${MgGwsCommon_LIBRARIES}
+    ${MgGwsQueryEngine_LIBRARIES}
+    ${MgMdfModel_LIBRARIES}
+    ${MgMdfParser_LIBRARIES}
+    ${MgFoundation_LIBRARIES}
+    ${MgGeometry_LIBRARIES}
+    ${MgPlatformBase_LIBRARIES}
+    ${MgRenderers_LIBRARIES}
+    ${MgStylization_LIBRARIES}
+    ${MgSecurity_LIBRARIES}
+    ${XercesC_LIBRARIES}
+)
+
+add_custom_command(TARGET UnitTest
+    POST_BUILD
+    COMMAND sh ${CMAKE_CURRENT_SOURCE_DIR}/postbuild.sh ${MG_SRC_ROOT}
+)
+
+#install(TARGETS UnitTest DESTINATION ${INSTALL_PREFIX}/lib)
+#install(CODE "execute_process(COMMAND sh ${CMAKE_CURRENT_SOURCE_DIR}/postinstall.sh)")

Modified: branches/2.6/MgDev/Desktop/UnitTest/TestFeatureService.cpp
===================================================================
--- branches/2.6/MgDev/Desktop/UnitTest/TestFeatureService.cpp	2014-05-14 22:46:15 UTC (rev 8131)
+++ branches/2.6/MgDev/Desktop/UnitTest/TestFeatureService.cpp	2014-05-15 16:51:12 UTC (rev 8132)
@@ -21,6 +21,7 @@
 #include "TestFeatureService.h"
 #include "CppUnitExtensions.h"
 #include "Fdo.h"
+#include <ctime>
 
 //Uncommenting this will make the join benchmarks 10-15x slower (because we're writing each feature out!)
 //
@@ -72,7 +73,7 @@
         pService->SetResource(ldfres3, ldfrdr3, NULL);
 
         Ptr<MgResourceIdentifier> fsres3 = new MgResourceIdentifier(L"Library://UnitTests/Data/ParcelsWriteable.FeatureSource");
-        Ptr<MgByteSource> fssrc3 = new MgByteSource(L"../UnitTestFiles/UT_Parcels_writeable.fs", false);
+        Ptr<MgByteSource> fssrc3 = new MgByteSource(L"../UnitTestFiles/UT_Parcels_Writeable.fs", false);
         Ptr<MgByteReader> fsrdr3 = fssrc3->GetReader();
         pService->SetResource(fsres3, fsrdr3, NULL);
 
@@ -3174,7 +3175,8 @@
 #else
         const int iterations = 1000;
 #endif
-        long lStart = GetTickCount();
+
+        clock_t lStart = clock();
         for(int i=0;i<iterations;i++)
         {
             int nFeatures = 0;
@@ -3188,8 +3190,8 @@
             reader->Close();
             CPPUNIT_ASSERT(nFeatures == 17565);
         }
-
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (Average of %d runs): = %6.4f (s)\n"), iterations, ((GetTickCount()-lStart)/1000.0)/(double)iterations ));
+        clock_t lEnd = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (Average of %d runs): = %6.4f (s)\n"), iterations, ((lEnd-lStart)/CLOCKS_PER_SEC)/(double)iterations ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("TestCase_BenchmarkSelectFeatures - END\n")));
     }
     catch(MgException* e)
@@ -3636,8 +3638,8 @@
 
         // ----- Start the tests ------- //
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkSdfJoin() - Inner Join \n")));
-        long lStart = GetTickCount();
-
+        
+        clock_t lStart = clock();
         reader = featSvc->SelectFeatures(fsId, L"ParcelsInner", NULL);
         while(reader->ReadNext())
         {
@@ -3645,9 +3647,11 @@
         }
         reader->Close();
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        clock_t lEnd = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((lEnd-lStart)/CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkSdfJoin() - Left Outer Join \n")));
-        lStart = GetTickCount();
+        
+        lStart = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsLeftOuter", NULL);
@@ -3657,9 +3661,11 @@
         }
         reader->Close();
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        lEnd = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((lEnd-lStart)/CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkSdfJoin() - Inner Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        
+        lStart = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsInnerOneToOne", NULL);
@@ -3669,9 +3675,10 @@
         }
         reader->Close();
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        lEnd = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((lEnd-lStart)/CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkSdfJoin() - Left Outer Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        lStart = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsLeftOuterOneToOne", NULL);
@@ -3681,7 +3688,8 @@
         }
         reader->Close();
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        lEnd = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((lEnd-lStart)/CLOCKS_PER_SEC) ));
     }
     catch(MgException* e)
     {
@@ -3736,7 +3744,7 @@
 
         // ----- Start the tests ------- //
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkSqliteJoin() - Inner Join \n")));
-        long lStart = GetTickCount();
+        clock_t lStart = clock();
         long total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsInner", NULL);
@@ -3746,9 +3754,9 @@
         }
         reader->Close();
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((clock()-lStart)/CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkSqliteJoin() - Left Outer Join \n")));
-        lStart = GetTickCount();
+        lStart = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsLeftOuter", NULL);
@@ -3758,9 +3766,9 @@
         }
         reader->Close();
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((clock()-lStart)/CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkSqliteJoin() - Inner Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        lStart = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsInnerOneToOne", NULL);
@@ -3770,9 +3778,9 @@
         }
         reader->Close();
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((clock()-lStart)/CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkSqliteJoin() - Left Outer Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        lStart = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsLeftOuterOneToOne", NULL);
@@ -3782,7 +3790,7 @@
         }
         reader->Close();
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((clock()-lStart)/CLOCKS_PER_SEC) ));
     }
     catch(MgException* e)
     {
@@ -3831,7 +3839,7 @@
         aggOpts->AddComputedProperty(L"TotalCount", L"Count(SdfId)");
 
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkSqliteAggregateJoin() - Inner Join \n")));
-        long lStart = GetTickCount();
+        clock_t lStart = clock();
         long total = 0L;
         int iterations = 0;
 
@@ -3845,9 +3853,9 @@
         reader->Close();
         CPPUNIT_ASSERT(iterations == 1);
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((clock()-lStart)/CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkSqliteAggregateJoin() - Left Outer Join \n")));
-        lStart = GetTickCount();
+        lStart = clock();
         iterations = 0L;
 
         reader = featSvc->SelectAggregate(fsId, L"ParcelsLeftOuter", aggOpts);
@@ -3860,9 +3868,9 @@
         reader->Close();
         CPPUNIT_ASSERT(iterations == 1L);
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((clock()-lStart)/CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkSqliteAggregateJoin() - Inner Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        lStart = clock();
         iterations = 0L;
 
         reader = featSvc->SelectAggregate(fsId, L"ParcelsInnerOneToOne", aggOpts);
@@ -3875,9 +3883,9 @@
         reader->Close();
         CPPUNIT_ASSERT(iterations == 1L);
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((clock()-lStart)/CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkSqliteAggregateJoin() - Left Outer Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        lStart = clock();
         iterations = 0L;
 
         reader = featSvc->SelectAggregate(fsId, L"ParcelsLeftOuterOneToOne", aggOpts);
@@ -3890,7 +3898,7 @@
         reader->Close();
         CPPUNIT_ASSERT(iterations == 1L);
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((clock()-lStart)/CLOCKS_PER_SEC) ));
     }
     catch(MgException* e)
     {
@@ -3936,7 +3944,7 @@
 
         // ----- Start the tests ------- //
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkMergeSortJoin() - Inner Join \n")));
-        long lStart = GetTickCount();
+        clock_t lStart = clock();
         long total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsInnerSortMerge", NULL);
@@ -3958,9 +3966,9 @@
         }
         reader->Close();
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((clock()-lStart)/CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkMergeSortJoin() - Left Outer Join \n")));
-        lStart = GetTickCount();
+        lStart = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsLeftOuterSortMerge", NULL);
@@ -3978,9 +3986,9 @@
         }
         reader->Close();
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((clock()-lStart)/CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkMergeSortJoin() - Inner Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        lStart = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsInnerOneToOneSortMerge", NULL);
@@ -3998,9 +4006,9 @@
         }
         reader->Close();
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((clock()-lStart)/CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkMergeSortJoin() - Left Outer Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        lStart = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsLeftOuterOneToOneSortMerge", NULL);
@@ -4018,7 +4026,7 @@
         }
         reader->Close();
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((clock()-lStart)/CLOCKS_PER_SEC) ));
     }
     catch(MgException* e)
     {
@@ -4064,7 +4072,7 @@
 
         // ----- Start the tests ------- //
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkBatchSortedBlockJoin() - Inner Join \n")));
-        long lStart = GetTickCount();
+        clock_t lStart = clock();
         long total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsInnerBatchSortedBlock", NULL);
@@ -4086,9 +4094,9 @@
         }
         reader->Close();
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((clock()-lStart)/CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkBatchSortedBlockJoin() - Left Outer Join \n")));
-        lStart = GetTickCount();
+        lStart = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsLeftOuterBatchSortedBlock", NULL);
@@ -4106,9 +4114,9 @@
         }
         reader->Close();
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((clock()-lStart)/CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkBatchSortedBlockJoin() - Inner Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        lStart = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsInnerOneToOneBatchSortedBlock", NULL);
@@ -4126,9 +4134,9 @@
         }
         reader->Close();
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((clock()-lStart)/CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkBatchSortedBlockJoin() - Left Outer Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        lStart = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsLeftOuterOneToOneBatchSortedBlock", NULL);
@@ -4146,7 +4154,7 @@
         }
         reader->Close();
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((clock()-lStart)/CLOCKS_PER_SEC) ));
     }
     catch(MgException* e)
     {
@@ -4192,7 +4200,7 @@
 
         // ----- Start the tests ------- //
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkNestedLoopsSortedBlockJoin() - Inner Join \n")));
-        long lStart = GetTickCount();
+        clock_t lStart = clock();
         long total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsInnerNestedLoopSortedBlock", NULL);
@@ -4214,9 +4222,9 @@
         }
         reader->Close();
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((clock()-lStart)/CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkNestedLoopsSortedBlockJoin() - Left Outer Join \n")));
-        lStart = GetTickCount();
+        lStart = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsLeftOuterNestedLoopSortedBlock", NULL);
@@ -4234,9 +4242,9 @@
         }
         reader->Close();
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((clock()-lStart)/CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkNestedLoopsSortedBlockJoin() - Inner Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        lStart = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsInnerOneToOneNestedLoopSortedBlock", NULL);
@@ -4254,9 +4262,9 @@
         }
         reader->Close();
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((clock()-lStart)/CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkNestedLoopsSortedBlockJoin() - Left Outer Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        lStart = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsLeftOuterOneToOneNestedLoopSortedBlock", NULL);
@@ -4274,7 +4282,7 @@
         }
         reader->Close();
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((clock()-lStart)/CLOCKS_PER_SEC) ));
     }
     catch(MgException* e)
     {
@@ -4551,7 +4559,7 @@
 
         // ----- Start the tests ------- //
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkNestedLoopsJoin() - Inner Join \n")));
-        long lStart = GetTickCount();
+        clock_t lStart = clock();
         long total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsInnerNestedLoops", NULL);
@@ -4574,9 +4582,9 @@
         }
         reader->Close();
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((clock()-lStart)/CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkNestedLoopsJoin() - Left Outer Join \n")));
-        lStart = GetTickCount();
+        lStart = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsLeftOuterNestedLoops", NULL);
@@ -4594,9 +4602,9 @@
         }
         reader->Close();
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((clock()-lStart)/CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkNestedLoopsJoin() - Inner Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        lStart = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsInnerOneToOneNestedLoops", NULL);
@@ -4614,9 +4622,9 @@
         }
         reader->Close();
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((clock()-lStart)/CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkNestedLoopsJoin() - Left Outer Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        lStart = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsLeftOuterOneToOneNestedLoops", NULL);
@@ -4634,7 +4642,7 @@
         }
         reader->Close();
 
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((clock()-lStart)/CLOCKS_PER_SEC) ));
     }
     catch(MgException* e)
     {
@@ -4719,4 +4727,4 @@
     {
         throw;
     }
-}
\ No newline at end of file
+}

Modified: branches/2.6/MgDev/Desktop/UnitTest/TestResourceService.cpp
===================================================================
--- branches/2.6/MgDev/Desktop/UnitTest/TestResourceService.cpp	2014-05-14 22:46:15 UTC (rev 8131)
+++ branches/2.6/MgDev/Desktop/UnitTest/TestResourceService.cpp	2014-05-15 16:51:12 UTC (rev 8132)
@@ -16,10 +16,11 @@
 //
 
 #include "MgDesktop.h"
-#include "Services\Resource\ResourceContentCache.h"
+#include "Services/Resource/ResourceContentCache.h"
 #include "Fdo.h"
 #include "TestResourceService.h"
 #include "CppUnitExtensions.h"
+#include <ctime>
 
 CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(TestResourceService, "TestResourceService");
 
@@ -1154,44 +1155,44 @@
 		MgdResourceContentCache* cache = MgdResourceContentCache::GetInstance();
 		cache->Clear();
 
-		long lStart = GetTickCount();
+		clock_t lStart = clock();
 		ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestResourceService::TestCase_BenchmarkGetResourceContents() - Individual GetResourceContent calls (cold) \n")));
 		for (INT32 i = 0; i < resources->GetCount(); i++)
 		{
 			Ptr<MgResourceIdentifier> resId = new MgResourceIdentifier(resources->GetItem(i));
 			Ptr<MgByteReader> content = pService->GetResourceContent(resId);
 		}
-		ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time: = %6.4f (s)\n"), ((GetTickCount()-lStart)/1000.0) ));
+		ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time: = %6.4f (s)\n"), ((clock()-lStart)/CLOCKS_PER_SEC) ));
 		ACE_DEBUG((LM_INFO, ACE_TEXT(" %d resource content items in cache\n"), (cache->GetCacheSize()) ));
 
-		lStart = GetTickCount();
+		lStart = clock();
 		ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestResourceService::TestCase_BenchmarkGetResourceContents() - Individual GetResourceContent calls (cached contents) \n")));
 		for (INT32 i = 0; i < resources->GetCount(); i++)
 		{
 			Ptr<MgResourceIdentifier> resId = new MgResourceIdentifier(resources->GetItem(i));
 			Ptr<MgByteReader> content = pService->GetResourceContent(resId);
 		}
-		ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time: = %6.4f (s)\n"), ((GetTickCount()-lStart)/1000.0) ));
+		ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time: = %6.4f (s)\n"), ((clock()-lStart)/CLOCKS_PER_SEC) ));
 		ACE_DEBUG((LM_INFO, ACE_TEXT(" %d resource content items in cache\n"), (cache->GetCacheSize()) ));
 
         //Evict all cached copies to avoid distortion of results due to caching
         cache->Clear();
 
-		lStart = GetTickCount();
+		lStart = clock();
 		Ptr<MgStringCollection> contents;
 		ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestResourceService::TestCase_BenchmarkGetResourceContents() - Multi-threaded GetResourceContents call (cold) \n")));
 		contents = pService->GetResourceContents(resources, NULL);
 		CPPUNIT_ASSERT(NULL != contents.p);
 		CPPUNIT_ASSERT(contents->GetCount() == resources->GetCount());
-		ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time: = %6.4f (s)\n"), ((GetTickCount()-lStart)/1000.0) ));
+		ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time: = %6.4f (s)\n"), ((clock()-lStart)/CLOCKS_PER_SEC) ));
 		ACE_DEBUG((LM_INFO, ACE_TEXT(" %d resource content items in cache\n"), (cache->GetCacheSize()) ));
 
-		lStart = GetTickCount();
+		lStart = clock();
 		ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestResourceService::TestCase_BenchmarkGetResourceContents() - Multi-threaded GetResourceContents call (cached contents) \n")));
 		contents = pService->GetResourceContents(resources, NULL);
 		CPPUNIT_ASSERT(NULL != contents.p);
 		CPPUNIT_ASSERT(contents->GetCount() == resources->GetCount());
-		ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time: = %6.4f (s)\n"), ((GetTickCount()-lStart)/1000.0) ));
+		ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time: = %6.4f (s)\n"), ((clock()-lStart)/CLOCKS_PER_SEC) ));
 		ACE_DEBUG((LM_INFO, ACE_TEXT(" %d resource content items in cache\n"), (cache->GetCacheSize()) ));
 	}
     catch(MgException* e)
@@ -1218,7 +1219,7 @@
             pService->DeleteResource(&resId);
         }
 
-        Ptr<MgByteSource> byteSource = new MgByteSource(L"..\\UnitTestFiles\\PackageTest.mgp");
+        Ptr<MgByteSource> byteSource = new MgByteSource(L"../UnitTestFiles/PackageTest.mgp");
         Ptr<MgByteReader> byteReader = byteSource->GetReader();
 
         //This package contains an UPDATEREPOSITORY directive, which should no-op when loaded by mg-desktop
@@ -1263,4 +1264,4 @@
         SAFE_RELEASE(e);
         CPPUNIT_FAIL(MG_WCHAR_TO_CHAR(message.c_str()));
     }
-}
\ No newline at end of file
+}

Added: branches/2.6/MgDev/Desktop/UnitTest/postbuild.sh
===================================================================
--- branches/2.6/MgDev/Desktop/UnitTest/postbuild.sh	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/UnitTest/postbuild.sh	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+OUTDIR=$PWD/../UnitTestFiles
+ROOTDIR=$1
+UNITTEST_DIR=$ROOTDIR/../UnitTest/TestData
+
+echo "Performing post-build actions for unit test"
+echo "Output directory is: $OUTDIR"
+echo "Source dir is: $UNITTEST_DIR"
+
+if [ ! -d $PWD/../UnitTestFiles ]; then
+    mkdir -p $PWD/../UnitTestFiles
+fi
+
+echo "Copy $ROOTDIR/DesktopTestData to $OUTDIR"
+cp $ROOTDIR/DesktopTestData/* $OUTDIR/
+for dirname in CoordinateSystems DrawingService KmlService MapLayer MappingService MdfModel PrintLayout ResourceService ServerAdmin SiteService Symbology TileService Unicode WebLayout Wfs Wms
+do
+    SRC_DIR=$UNITTEST_DIR/$dirname
+    echo "Copy $SRC_DIR to $OUTDIR"
+    cp $SRC_DIR/* $OUTDIR/
+done
+for dirname in SDF SHP SQLite
+do
+    SRC_DIR=$UNITTEST_DIR/FeatureService/$dirname
+    echo "Copy $SRC_DIR to $OUTDIR"
+    cp $SRC_DIR/* $OUTDIR/
+done

Added: branches/2.6/MgDev/Desktop/UnitTest/postinstall.sh
===================================================================
--- branches/2.6/MgDev/Desktop/UnitTest/postinstall.sh	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/UnitTest/postinstall.sh	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+echo "Performing post-install actions for unit test"

Added: branches/2.6/MgDev/Desktop/cmake/modules/FindACE.cmake
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/FindACE.cmake	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/FindACE.cmake	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,28 @@
+# - Find ACE component
+
+# CMake base requires and policy tweaks
+cmake_minimum_required( VERSION 2.6.2 FATAL_ERROR )
+# CMP0005: keep escaping behaviour for definitions added via add_definitions()
+cmake_policy( SET CMP0005 OLD )
+cmake_policy( SET CMP0011 OLD )
+
+IF (ACE_INCLUDE_DIR AND ACE_LIBRARIES)
+   # in cache already
+   SET(ACE_FIND_QUIETLY TRUE)
+ENDIF (ACE_INCLUDE_DIR AND ACE_LIBRARIES)
+
+FIND_PATH(ACE_INCLUDE_DIR ace/INET_Addr.h
+   HINTS
+   ${MG_SRC_ROOT}/../Oem/ACE/ACE_wrappers
+   )
+
+FIND_LIBRARY(ACE_LIBRARIES NAMES ACE
+   HINTS
+   ${MG_LIB_DIR}
+   ${MG_SRC_ROOT}/../Oem/ACE/ACE_wrappers/lib
+   )
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(ACE DEFAULT_MSG
+                                  ACE_INCLUDE_DIR ACE_LIBRARIES )
+MARK_AS_ADVANCED(ACE_INCLUDE_DIR ACE_LIBRARIES)

Added: branches/2.6/MgDev/Desktop/cmake/modules/FindCppUnit.cmake
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/FindCppUnit.cmake	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/FindCppUnit.cmake	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,36 @@
+# - Try to find cppunit
+# Once done this will define
+#
+#  CPPUNIT_FOUND - System has cppunit
+#  CPPUNIT_INCLUDE_DIR - The cppunit include directory
+#  CPPUNIT_LIBRARIES - The libraries needed to use cppunit
+
+# Copyright (c) 2009, Helio Chissini de Castro, <helio at kde.org>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+
+IF (CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES)
+   # in cache already
+   SET(cppunit_FIND_QUIETLY TRUE)
+ENDIF (CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES)
+
+FIND_PATH(CPPUNIT_INCLUDE_DIR cppunit/CompilerOutputter.h
+   HINTS
+   ${MG_SRC_ROOT}/../Oem/CppUnit-1.9.14/include
+   PATH_SUFFIXES cppunit
+   )
+
+FIND_LIBRARY(CPPUNIT_LIBRARIES NAMES cppunit
+   HINTS
+   ${MG_SRC_ROOT}/../Oem/CppUnit-1.9.14/src/cppunit/.libs
+   )
+
+INCLUDE(FindPackageHandleStandardArgs)
+
+# handle the QUIETLY and REQUIRED arguments and set CPPUNIT_FOUND to TRUE if 
+# all listed variables are TRUE
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(cppunit DEFAULT_MSG CPPUNIT_LIBRARIES CPPUNIT_INCLUDE_DIR)
+
+MARK_AS_ADVANCED(CPPUNIT_INCLUDE_DIR CPPUNIT_LIBRARIES CPPUNIT_LIBRARY_DIR)

Added: branches/2.6/MgDev/Desktop/cmake/modules/FindDWFCore.cmake
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/FindDWFCore.cmake	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/FindDWFCore.cmake	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,28 @@
+# - Find DWFCore component
+
+# CMake base requires and policy tweaks
+cmake_minimum_required( VERSION 2.6.2 FATAL_ERROR )
+# CMP0005: keep escaping behaviour for definitions added via add_definitions()
+cmake_policy( SET CMP0005 OLD )
+cmake_policy( SET CMP0011 OLD )
+
+IF (DWFCore_INCLUDE_DIR AND DWFCore_LIBRARIES)
+   # in cache already
+   SET(DWFCore_FIND_QUIETLY TRUE)
+ENDIF (DWFCore_INCLUDE_DIR AND DWFCore_LIBRARIES)
+
+FIND_PATH(DWFCore_INCLUDE_DIR dwfcore/Core.h
+   HINTS
+   ${MG_SRC_ROOT}/../Oem/DWFTK7.1/develop/global/src
+   )
+
+FIND_LIBRARY(DWFCore_LIBRARIES NAMES dwfcore-1.1.1
+   HINTS
+   ${MG_LIB_DIR}
+   ${MG_SRC_ROOT}/../Oem/DWFTK7.1/develop/global/src/dwfcore/.libs
+   )
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(DWFCore DEFAULT_MSG
+                                  DWFCore_INCLUDE_DIR DWFCore_LIBRARIES )
+MARK_AS_ADVANCED(DWFCore_INCLUDE_DIR DWFCore_LIBRARIES)

Added: branches/2.6/MgDev/Desktop/cmake/modules/FindDWFEMap.cmake
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/FindDWFEMap.cmake	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/FindDWFEMap.cmake	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,28 @@
+# - Find DWFEMap component
+
+# CMake base requires and policy tweaks
+cmake_minimum_required( VERSION 2.6.2 FATAL_ERROR )
+# CMP0005: keep escaping behaviour for definitions added via add_definitions()
+cmake_policy( SET CMP0005 OLD )
+cmake_policy( SET CMP0011 OLD )
+
+IF (DWFEMap_INCLUDE_DIR AND DWFEMap_LIBRARIES)
+   # in cache already
+   SET(DWFEMap_FIND_QUIETLY TRUE)
+ENDIF (DWFEMap_INCLUDE_DIR AND DWFEMap_LIBRARIES)
+
+FIND_PATH(DWFEMap_INCLUDE_DIR dwfemap/EMapToolkit.h
+   HINTS
+   ${MG_SRC_ROOT}/../Oem/DWFTK7.1/develop/global/src
+   )
+
+FIND_LIBRARY(DWFEMap_LIBRARIES NAMES dwfemap-1.0.0
+   HINTS
+   ${MG_LIB_DIR}
+   ${MG_SRC_ROOT}/../Oem/DWFTK7.1/develop/global/src/dwfemap/.libs
+   )
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(DWFEMap DEFAULT_MSG
+                                  DWFEMap_INCLUDE_DIR DWFEMap_LIBRARIES )
+MARK_AS_ADVANCED(DWFEMap_INCLUDE_DIR DWFEMap_LIBRARIES)

Added: branches/2.6/MgDev/Desktop/cmake/modules/FindDWFToolkit.cmake
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/FindDWFToolkit.cmake	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/FindDWFToolkit.cmake	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,28 @@
+# - Find DWFToolkit component
+
+# CMake base requires and policy tweaks
+cmake_minimum_required( VERSION 2.6.2 FATAL_ERROR )
+# CMP0005: keep escaping behaviour for definitions added via add_definitions()
+cmake_policy( SET CMP0005 OLD )
+cmake_policy( SET CMP0011 OLD )
+
+IF (DWFToolkit_INCLUDE_DIR AND DWFToolkit_LIBRARIES)
+   # in cache already
+   SET(DWFToolkit_FIND_QUIETLY TRUE)
+ENDIF (DWFToolkit_INCLUDE_DIR AND DWFToolkit_LIBRARIES)
+
+FIND_PATH(DWFToolkit_INCLUDE_DIR dwf/Toolkit.h
+   HINTS
+   ${MG_SRC_ROOT}/../Oem/DWFTK7.1/develop/global/src
+   )
+
+FIND_LIBRARY(DWFToolkit_LIBRARIES NAMES dwftk-7.1.1
+   HINTS
+   ${MG_LIB_DIR}
+   ${MG_SRC_ROOT}/../Oem/DWFTK7.1/develop/global/src/dwf/.libs
+   )
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(DWFToolkit DEFAULT_MSG
+                                  DWFToolkit_INCLUDE_DIR DWFToolkit_LIBRARIES )
+MARK_AS_ADVANCED(DWFToolkit_INCLUDE_DIR DWFToolkit_LIBRARIES)

Added: branches/2.6/MgDev/Desktop/cmake/modules/FindFDO.cmake
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/FindFDO.cmake	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/FindFDO.cmake	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,35 @@
+# - Find the FDO dir, include and library dirs
+
+# CMake base requires and policy tweaks
+cmake_minimum_required( VERSION 2.6.2 FATAL_ERROR )
+# CMP0005: keep escaping behaviour for definitions added via add_definitions()
+cmake_policy( SET CMP0005 OLD )
+
+set( FDO_VERSION 3.9.0 )
+set( FDO_DIR /usr/local/fdo-${FDO_VERSION} )
+
+if( FDO_INCLUDE_DIR AND FDO_LIBRARY_DIR)
+        set( FDO_FIND_QUIETLY TRUE )
+endif( FDO_INCLUDE_DIR AND FDO_LIBRARY_DIR )
+
+FIND_PATH( FDO_INCLUDE_DIR Fdo.h ${FDO_DIR}/include )
+FIND_LIBRARY( FDO_LIBRARY NAMES FDO PATHS ${FDO_DIR}/lib ${FDO_DIR}/lib64 )
+FIND_LIBRARY( FDO_EXPRESSIONENGINE_LIBRARY NAMES ExpressionEngine PATHS ${FDO_DIR}/lib ${FDO_DIR}/lib64 )
+FIND_PATH( FDO_LIBRARY_DIR libFDO.so ${FDO_DIR}/lib ${FDO_DIR}/lib64 )
+
+if( FDO_INCLUDE_DIR AND FDO_LIBRARY AND FDO_LIBRARY_DIR )
+        set(FDO_FOUND TRUE)
+else( FDO_INCLUDE_DIR AND FDO_LIBRARY AND FDO_LIBRARY_DIR )
+        set(FDO_FOUND FALSE)
+endif( FDO_INCLUDE_DIR AND FDO_LIBRARY AND FDO_LIBRARY_DIR )
+
+if( FDO_FOUND )
+	if( NOT FDO_FIND_QUIETLY )
+    	message( STATUS "Found FDO: ${FDO_LIBRARY}" )
+  	endif( NOT FDO_FIND_QUIETLY )
+  	mark_as_advanced( FDO_INCLUDE_DIR FDO_LIBRARY FDO_LIBRARY_DIR )
+else( FDO_FOUND )
+	if( FDO_FIND_REQUIRED )
+    	message(FATAL_ERROR "Could NOT find FDO")
+	endif (FDO_FIND_REQUIRED)
+endif (FDO_FOUND)

Added: branches/2.6/MgDev/Desktop/cmake/modules/FindFDOInternal.cmake
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/FindFDOInternal.cmake	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/FindFDOInternal.cmake	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,58 @@
+# extra macros 
+include(MacroOptionalAddSubdirectory)
+
+# Set a core build flag to enable Providers know that building are 
+# done inside main core source, and not standalone
+set( FDO_CORE_BUILD TRUE )
+
+# Global definitions ( used by all sources )
+# Check if is a 64 bits install and use user defined LIB_SUFFIX
+if( UNIX )
+	set( LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" )
+	include( CheckTypeSize )
+	check_type_size( "void*" VOID_SIZE )
+	if( VOID_SIZE EQUAL 8 )
+		message( STATUS "Compiling in 64 bits machine" )
+		set( LIB_SUFFIX "64" )
+	endif( VOID_SIZE EQUAL 8 )
+	set( LIB_INSTALL_DIR "lib${LIB_SUFFIX}" )
+endif( UNIX )
+
+# Define the instalation prefix 
+if( UNIX )
+	if( INSTALL_PREFIX )
+		set( CMAKE_INSTALL_PREFIX ${INSTALL_PREFIX} )
+	else( INSTALL_PREFIX )
+		set( CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/fdo-${FDO_VERSION} )
+	endif( INSTALL_PREFIX )
+endif( UNIX )
+
+# Make global include directories, even binary build dir 
+# to match build generated files
+set( UNMANAGED_DIR ${FDO}/Unmanaged )
+set( UNMANAGED_INCLUDE_DIR ${FDO}/Unmanaged/Inc )
+set( UNMANAGED_COMMON_INCLUDE_DIR ${FDO}/Unmanaged/Src/Common )
+set( UNMANAGED_NLS_INCLUDE_DIR ${FDO}/Unmanaged/Src/Nls )
+set( UTILITIES_COMMON_INCLUDE_DIR ${FDOUTILITIES}/Common/Inc )
+set( UTILITIES_TESTCOMMON_INCLUDE_DIR ${FDOUTILITIES}/TestCommon/Inc )
+set( UTILITIES_OWS_INCLUDE_DIR ${FDOUTILITIES}/OWS/Inc )
+set( UTILITIES_EXPRESSION_INCLUDE_DIR ${FDOUTILITIES}/ExpressionEngine/Inc )
+set( UTILITIES_SQLITEINTERFACE_INCLUDE_DIR ${FDOUTILITIES}/SQLiteInterface )
+set( UTILITIES_SCHEMAMGR_INCLUDE_DIR ${FDOUTILITIES}/SchemaMgr/Inc )
+
+# Messages are generated on binary dir, so make it include global
+include_directories( ${CMAKE_CURRENT_BINARY_DIR}/Fdo/Unmanaged/Inc )
+
+mark_as_advanced( 
+	UNMANAGED_DIR
+	UNMANAGED_INCLUDE_DIR
+	UNMANAGED_COMMON_INCLUDE_DIR
+	UNMANAGED_NLS_INCLUDE_DIR
+	UTILITIES_COMMON_INCLUDE_DIR
+	UTILITIES_TESTCOMMON_INCLUDE_DIR
+	UTILITIES_OWS_INCLUDE_DIR
+	UTILITIES_EXPRESSION_INCLUDE_DIR
+	UTILITIES_SQLITEINTERFACE_INCLUDE_DIR
+	UTILITIES_SCHEMAMGR_INCLUDE_DIR
+	)
+

Added: branches/2.6/MgDev/Desktop/cmake/modules/FindFDOThirdparty.cmake
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/FindFDOThirdparty.cmake	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/FindFDOThirdparty.cmake	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,154 @@
+# This file is strictly to check and enable system or internal Thirdparty
+# libraries
+
+if( ALL_THIRDPARTY )
+	set( INTERNAL_CPPUNIT true )
+	set( INTERNAL_GDAL true )
+	set( INTERNAL_OPENSSL true )
+	set( INTERNAL_MYSQL true )
+	set( INTERNAL_POSTGRESQL true )
+	set( INTERNAL_BOOST true )
+	set( INTERNAL_CURL true )
+	set( INTERNAL_XERCESC true )
+	set( INTERNAL_XALANC true )
+endif( ALL_THIRDPARTY )
+
+# Check GDAL or add ThirdParty
+if( NOT INTERNAL_GDAL )
+	find_package(GDAL REQUIRED)
+else( NOT INTERNAL_GDAL )
+	set( LOCAL_GDAL TRUE )
+	set( GDAL_LIBRARIES  ${FDOTHIRDPARTY}/gdal/lib )
+	set( GDAL_INCLUDE_DIR  ${FDOTHIRDPARTY}/gdal 
+		${FDOTHIRDPARTY}/gdal/include
+		${FDOTHIRDPARTY}/gdal/ogr/ogrsf_frmts
+	)
+	message (STATUS "GDAL Include Dir: ${GDAL_INCLUDE_DIR}")
+	find_library( GDAL_LIBRARY NAMES gdal
+		PATHS ${GDAL_LIBRARIES}
+	)
+endif( NOT INTERNAL_GDAL )
+
+# Check MySQL or add ThirdParty
+if( NOT INTERNAL_MYSQL )
+	find_package(MySQL REQUIRED)
+else( NOT INTERNAL_MYSQL )
+	set( LOCAL_MYSQL TRUE )
+endif( NOT INTERNAL_MYSQL )
+
+# Check PostgreSQL or add Thirdparty
+if (NOT INTERNAL_POSTGRESQL)
+	find_package(PostgreSQL REQUIRED)
+else (NOT INTERNAL_POSTGRESQL)
+	set ( LOCAL_POSTGRESQL TRUE )
+	set ( POSTGRESQL_INCLUDE_DIR ${FDOTHIRDPARTY}/pgsql/include/ )
+	set ( POSTGRESQL_LIBRARIES ${FDOTHIRDPARTY}/pgsql/lib/libpq.a )
+	set ( POSTGRESQL_FOUND TRUE )
+	mark_as_advanced ( POSTGRESQL_INCLUDE_DIR POSTGRESQL_LIBRARIES )
+endif (NOT INTERNAL_POSTGRESQL)
+
+# Check for Apache or ThirdParty
+if( NOT INTERNAL_APACHE )
+else( NOT INTERNAL_APACHE )
+	set( LOCAL_APACHE TRUE )
+endif( NOT INTERNAL_APACHE )
+
+# Check for cppunit or ThirdParty
+if( NOT INTERNAL_CPPUNIT )
+	find_package( CppUnit )
+else( NOT INTERNAL_CPPUNIT )
+	set( LOCAL_CPPUNIT TRUE )
+	set( CPPUNIT_LIBRARY_DIR  ${FDOTHIRDPARTY}/linux/cppunit/lib )
+	set( CPPUNIT_INCLUDE_DIR  ${FDOTHIRDPARTY}/linux/cppunit/include )
+	find_library ( CPPUNIT_LIBRARIES NAMES cppunit
+		PATHS ${CPPUNIT_LIBRARY_DIR}
+	)
+	set( CPPUNIT_FOUND TRUE )
+	mark_as_advanced( CPPUNIT_LIBRARY_DIR CPPUNIT_INCLUDE_DIR )
+endif( NOT INTERNAL_CPPUNIT )
+
+# Check for xerces-c or ThirdParty
+if( NOT INTERNAL_XERCESC )
+	find_package( XercesC REQUIRED )
+else( NOT INTERNAL_XERCESC )
+	set( LOCAL_XERCESC TRUE )
+	set( XERCESC_LIBRARY_DIR  ${FDOTHIRDPARTY}/apache/xerces/lib/ )
+	set( XERCESC_INCLUDE_DIR  ${FDOTHIRDPARTY}/apache/xerces/src/ )
+	find_library( XERCESC_LIBRARIES NAMES xerces-c
+		PATHS ${XERCESC_LIBRARY_DIR}
+	)
+	set( XERCESC_FOUND TRUE )
+	mark_as_advanced( XERCESC_LIBRARY_DIR XERCESC_INCLUDE_DIR )
+endif( NOT INTERNAL_XERCESC )
+
+# Check for xalan-c or ThirdParty
+if( NOT INTERNAL_XALANC )
+	find_package( XalanC REQUIRED )
+else( NOT INTERNAL_XALANC )
+	set( LOCAL_XALANC TRUE )
+	set( XALANC_LIBRARY_DIR  ${FDOTHIRDPARTY}/apache/xalan/lib/ )
+	set( XALANC_INCLUDE_DIR  ${FDOTHIRDPARTY}/apache/xalan/src/ 
+		${FDOTHIRDPARTY}/apache/xalan/nls/include/
+	)
+	find_library( XALANC_LIBRARIES NAMES xalan-c xalanMsg
+		PATHS ${XALANC_LIBRARY_DIR}
+	)
+	set( XALANC_FOUND TRUE )
+	mark_as_advanced( XALANC_LIBRARY_DIR XALANC_INCLUDE_DIR )
+endif( NOT INTERNAL_XALANC )
+
+# SqLite ThirdParty
+set( SQLITE_INCLUDE_DIR ${FDOTHIRDPARTY}/Sqlite3.3.13/Src )
+set( SQLITE_DIR ${FDOTHIRDPARTY}/Sqlite3.3.13/Src )
+mark_as_advanced( SQLITE_INCLUDE_DIR SQLITE_DIR )
+
+# Check for Boost or ThirdParty
+if( NOT INTERNAL_BOOST )
+	set (Boost_USE_MULTITHREADED ON) # be specific, we're after -mt versions of boost libs
+	find_package( Boost COMPONENTS thread date_time REQUIRED )
+else( NOT INTERNAL_BOOST )
+	set( LOCAL_BOOST TRUE )
+	set( Boost_INCLUDE_DIRS ${FDOTHIRDPARTY}/boost/ )
+	exec_program(
+	      ${CMAKE_CXX_COMPILER}
+	      ARGS                    -dumpversion
+	      OUTPUT_VARIABLE _compiler_output)
+	string(REGEX REPLACE ".* ([0-9]\\.[0-9]\\.[0-9]) .*" "\\1"
+	         gcc_compiler_version ${_compiler_output})
+	message (STATUS "GCC Version is: ${gcc_compiler_version}")
+	# HACK: I give up trying to grok find_library(), we want it to search the super-complex path under ${FDOTHIRDPARTY}
+	# but it still gives us /usr/lib. So set these directly
+	set (Boost_THREAD_LIBRARY ${FDOTHIRDPARTY}/boost/bin.v2/libs/thread/build/gcc-${gcc_compiler_version}/release/link-static/threading-multi/libboost_thread.a )
+	set (Boost_DATE_TIME_LIBRARY ${FDOTHIRDPARTY}/boost/bin.v2/libs/thread/build/gcc-${gcc_compiler_version}/release/link-static/threading-multi/libboost_date_time.a )
+	set (Boost_THREAD_FOUND TRUE)
+	set (Boost_DATE_TIME_FOUND TRUE)
+	mark_as_advanced ( Boost_INCLUDE_DIRS Boost_THREAD_LIBRARY Boost_DATE_TIME_LIBRARY )
+endif( NOT INTERNAL_BOOST )
+
+# Check for Curl or ThirdParty
+if( NOT INTERNAL_CURL )
+	find_package( CURL REQUIRED )
+else( NOT INTERNAL_CURL )
+	set( LOCAL_CURL TRUE )
+	set( CURL_INCLUDE_DIRS ${FDOTHIRDPARTY}/libcurl/include/ )
+	find_library( CURL_LIBRARIES NAMES curl
+		PATHS ${FDOTHIRDPARTY}/libcurl/lib/ )
+	mark_as_advanced( CURL_INCLUDE_DIRS CURL_LIBRARIES )
+endif( NOT INTERNAL_CURL )
+
+# Check for OpenSSL or ThirdParty
+if( NOT INTERNAL_OPENSSL )
+	find_package( OpenSSL REQUIRED )
+else( NOT INTERNAL_OPENSSL )
+	set( LOCAL_OPENSSL TRUE )
+	set( OPENSSL_INCLUDE_DIR ${FDOTHIRDPARTY}/openssl/ )
+	set( OPENSSL_LIBRARY ${FDOTHIRDPARTY}/openssl/lib/linux/libssl.a )
+	set( OPENSSL_CRYPTO_LIBRARY ${FDOTHIRDPARTY}/openssl/lib/linux/libcrypto.a )
+	set( OPENSSL_LIBRARIES ${OPENSSL_LIBRARY}
+		${OPENSSL_CRYPTO_LIBRARY} )
+	message (STATUS "Using OpenSSL: ${OPENSSL_LIBRARIES}")
+	mark_as_advanced( OPENSSL_INCLUDE_DIR OPENSSL_LIBRARIES )
+endif( NOT INTERNAL_OPENSSL )
+
+# TODO
+# Check UnixODBC

Added: branches/2.6/MgDev/Desktop/cmake/modules/FindMgFoundation.cmake
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/FindMgFoundation.cmake	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/FindMgFoundation.cmake	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,28 @@
+# - Find MgFoundation component
+
+# CMake base requires and policy tweaks
+cmake_minimum_required( VERSION 2.6.2 FATAL_ERROR )
+# CMP0005: keep escaping behaviour for definitions added via add_definitions()
+cmake_policy( SET CMP0005 OLD )
+cmake_policy( SET CMP0011 OLD )
+
+IF (MgFoundation_INCLUDE_DIR AND MgFoundation_LIBRARIES)
+   # in cache already
+   SET(MgFoundation_FIND_QUIETLY TRUE)
+ENDIF (MgFoundation_INCLUDE_DIR AND MgFoundation_LIBRARIES)
+
+FIND_PATH(MgFoundation_INCLUDE_DIR Foundation.h
+   HINTS
+   ${MG_SRC_ROOT}/../Common/Foundation
+   )
+
+FIND_LIBRARY(MgFoundation_LIBRARIES NAMES MgFoundation
+   HINTS
+   ${MG_LIB_DIR}
+   ${MG_SRC_ROOT}/../Common/.libs
+   )
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(MgFoundation DEFAULT_MSG
+                                  MgFoundation_INCLUDE_DIR MgFoundation_LIBRARIES)
+MARK_AS_ADVANCED(MgFoundation_INCLUDE_DIR MgFoundation_LIBRARIES)

Added: branches/2.6/MgDev/Desktop/cmake/modules/FindMgGeometry.cmake
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/FindMgGeometry.cmake	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/FindMgGeometry.cmake	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,28 @@
+# - Find MgGeometry component
+
+# CMake base requires and policy tweaks
+cmake_minimum_required( VERSION 2.6.2 FATAL_ERROR )
+# CMP0005: keep escaping behaviour for definitions added via add_definitions()
+cmake_policy( SET CMP0005 OLD )
+cmake_policy( SET CMP0011 OLD )
+
+IF (MgGeometry_INCLUDE_DIR AND MgGeometry_LIBRARIES)
+   # in cache already
+   SET(MgGeometry_FIND_QUIETLY TRUE)
+ENDIF (MgGeometry_INCLUDE_DIR AND MgGeometry_LIBRARIES)
+
+FIND_PATH(MgGeometry_INCLUDE_DIR Geometry.h
+   HINTS
+   ${MG_SRC_ROOT}/../Common/Geometry
+   )
+
+FIND_LIBRARY(MgGeometry_LIBRARIES NAMES MgGeometry
+   HINTS
+   ${MG_LIB_DIR}
+   ${MG_SRC_ROOT}/../Common/.libs
+   )
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(MgGeometry DEFAULT_MSG
+                                  MgGeometry_INCLUDE_DIR MgGeometry_LIBRARIES)
+MARK_AS_ADVANCED(MgGeometry_INCLUDE_DIR MgGeometry_LIBRARIES)

Added: branches/2.6/MgDev/Desktop/cmake/modules/FindMgGwsCommon.cmake
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/FindMgGwsCommon.cmake	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/FindMgGwsCommon.cmake	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,28 @@
+# - Find MgGwsCommon component
+
+# CMake base requires and policy tweaks
+cmake_minimum_required( VERSION 2.6.2 FATAL_ERROR )
+# CMP0005: keep escaping behaviour for definitions added via add_definitions()
+cmake_policy( SET CMP0005 OLD )
+cmake_policy( SET CMP0011 OLD )
+
+IF (MgGwsCommon_INCLUDE_DIR AND MgGwsCommon_LIBRARIES)
+   # in cache already
+   SET(MgGwsCommon_FIND_QUIETLY TRUE)
+ENDIF (MgGwsCommon_INCLUDE_DIR AND MgGwsCommon_LIBRARIES)
+
+FIND_PATH(MgGwsCommon_INCLUDE_DIR GwsCommonImp.h
+   HINTS
+   ${MG_SRC_ROOT}/../Server/src/Gws/GwsCommon/inc
+   )
+
+FIND_LIBRARY(MgGwsCommon_LIBRARIES NAMES MgGwsCommon
+   HINTS
+   ${MG_LIB_DIR}
+   ${MG_SRC_ROOT}/../Server/src/Gws/GwsCommon/.libs
+   )
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(MgGwsCommon DEFAULT_MSG
+                                  MgGwsCommon_INCLUDE_DIR MgGwsCommon_LIBRARIES)
+MARK_AS_ADVANCED(MgGwsCommon_INCLUDE_DIR MgGwsCommon_LIBRARIES)

Added: branches/2.6/MgDev/Desktop/cmake/modules/FindMgGwsQueryEngine.cmake
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/FindMgGwsQueryEngine.cmake	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/FindMgGwsQueryEngine.cmake	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,28 @@
+# - Find MgGwsQueryEngine component
+
+# CMake base requires and policy tweaks
+cmake_minimum_required( VERSION 2.6.2 FATAL_ERROR )
+# CMP0005: keep escaping behaviour for definitions added via add_definitions()
+cmake_policy( SET CMP0005 OLD )
+cmake_policy( SET CMP0011 OLD )
+
+IF (MgGwsQueryEngine_INCLUDE_DIR AND MgGwsQueryEngine_LIBRARIES)
+   # in cache already
+   SET(MgGwsQueryEngine_FIND_QUIETLY TRUE)
+ENDIF (MgGwsQueryEngine_INCLUDE_DIR AND MgGwsQueryEngine_LIBRARIES)
+
+FIND_PATH(MgGwsQueryEngine_INCLUDE_DIR GwsQueryEngine.h
+   HINTS
+   ${MG_SRC_ROOT}/../Server/src/Gws/Include
+   )
+
+FIND_LIBRARY(MgGwsQueryEngine_LIBRARIES NAMES MgGwsQueryEngine
+   HINTS
+   ${MG_LIB_DIR}
+   ${MG_SRC_ROOT}/../Server/src/Gws/GwsQueryEngine/.libs
+   )
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(MgGwsQueryEngine DEFAULT_MSG
+                                  MgGwsQueryEngine_INCLUDE_DIR MgGwsQueryEngine_LIBRARIES)
+MARK_AS_ADVANCED(MgGwsQueryEngine_INCLUDE_DIR MgGwsQueryEngine_LIBRARIES)

Added: branches/2.6/MgDev/Desktop/cmake/modules/FindMgMdfModel.cmake
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/FindMgMdfModel.cmake	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/FindMgMdfModel.cmake	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,28 @@
+# - Find MgMdfModel component
+
+# CMake base requires and policy tweaks
+cmake_minimum_required( VERSION 2.6.2 FATAL_ERROR )
+# CMP0005: keep escaping behaviour for definitions added via add_definitions()
+cmake_policy( SET CMP0005 OLD )
+cmake_policy( SET CMP0011 OLD )
+
+IF (MgMdfModel_INCLUDE_DIR AND MgMdfModel_LIBRARIES)
+   # in cache already
+   SET(MgMdfModel_FIND_QUIETLY TRUE)
+ENDIF (MgMdfModel_INCLUDE_DIR AND MgMdfModel_LIBRARIES)
+
+FIND_PATH(MgMdfModel_INCLUDE_DIR MdfModel.h
+   HINTS
+   ${MG_SRC_ROOT}/../Common/MdfModel
+   )
+
+FIND_LIBRARY(MgMdfModel_LIBRARIES NAMES MgMdfModel
+   HINTS
+   ${MG_LIB_DIR}
+   ${MG_SRC_ROOT}/../Common/.libs
+   )
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(MgMdfModel DEFAULT_MSG
+                                  MgMdfModel_INCLUDE_DIR MgMdfModel_LIBRARIES)
+MARK_AS_ADVANCED(MgMdfModel_INCLUDE_DIR MgMdfModel_LIBRARIES)

Added: branches/2.6/MgDev/Desktop/cmake/modules/FindMgMdfParser.cmake
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/FindMgMdfParser.cmake	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/FindMgMdfParser.cmake	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,28 @@
+# - Find MgMdfParser component
+
+# CMake base requires and policy tweaks
+cmake_minimum_required( VERSION 2.6.2 FATAL_ERROR )
+# CMP0005: keep escaping behaviour for definitions added via add_definitions()
+cmake_policy( SET CMP0005 OLD )
+cmake_policy( SET CMP0011 OLD )
+
+IF (MgMdfParser_INCLUDE_DIR AND MgMdfParser_LIBRARIES)
+   # in cache already
+   SET(MgMdfParser_FIND_QUIETLY TRUE)
+ENDIF (MgMdfParser_INCLUDE_DIR AND MgMdfParser_LIBRARIES)
+
+FIND_PATH(MgMdfParser_INCLUDE_DIR MdfParser.h
+   HINTS
+   ${MG_SRC_ROOT}/../Common/MdfParser
+   )
+
+FIND_LIBRARY(MgMdfParser_LIBRARIES NAMES MgMdfParser
+   HINTS
+   ${MG_LIB_DIR}
+   ${MG_SRC_ROOT}/../Common/.libs
+   )
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(MgMdfParser DEFAULT_MSG
+                                  MgMdfParser_INCLUDE_DIR MgMdfParser_LIBRARIES)
+MARK_AS_ADVANCED(MgMdfParser_INCLUDE_DIR MgMdfParser_LIBRARIES)

Added: branches/2.6/MgDev/Desktop/cmake/modules/FindMgPlatformBase.cmake
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/FindMgPlatformBase.cmake	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/FindMgPlatformBase.cmake	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,28 @@
+# - Find MgPlatformBase component
+
+# CMake base requires and policy tweaks
+cmake_minimum_required( VERSION 2.6.2 FATAL_ERROR )
+# CMP0005: keep escaping behaviour for definitions added via add_definitions()
+cmake_policy( SET CMP0005 OLD )
+cmake_policy( SET CMP0011 OLD )
+
+IF (MgPlatformBase_INCLUDE_DIR AND MgPlatformBase_LIBRARIES)
+   # in cache already
+   SET(MgPlatformBase_FIND_QUIETLY TRUE)
+ENDIF (MgPlatformBase_INCLUDE_DIR AND MgPlatformBase_LIBRARIES)
+
+FIND_PATH(MgPlatformBase_INCLUDE_DIR PlatformBase.h
+   HINTS
+   ${MG_SRC_ROOT}/../Common/PlatformBase
+   )
+
+FIND_LIBRARY(MgPlatformBase_LIBRARIES NAMES MgPlatformBase
+   HINTS
+   ${MG_LIB_DIR}
+   ${MG_SRC_ROOT}/../Common/.libs
+   )
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(MgPlatformBase DEFAULT_MSG
+                                  MgPlatformBase_INCLUDE_DIR MgPlatformBase_LIBRARIES)
+MARK_AS_ADVANCED(MgPlatformBase_INCLUDE_DIR MgPlatformBase_LIBRARIES)

Added: branches/2.6/MgDev/Desktop/cmake/modules/FindMgRenderers.cmake
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/FindMgRenderers.cmake	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/FindMgRenderers.cmake	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,28 @@
+# - Find MgRenderers component
+
+# CMake base requires and policy tweaks
+cmake_minimum_required( VERSION 2.6.2 FATAL_ERROR )
+# CMP0005: keep escaping behaviour for definitions added via add_definitions()
+cmake_policy( SET CMP0005 OLD )
+cmake_policy( SET CMP0011 OLD )
+
+IF (MgRenderers_INCLUDE_DIR AND MgRenderers_LIBRARIES)
+   # in cache already
+   SET(MgRenderers_FIND_QUIETLY TRUE)
+ENDIF (MgRenderers_INCLUDE_DIR AND MgRenderers_LIBRARIES)
+
+FIND_PATH(MgRenderers_INCLUDE_DIR Renderers.h
+   HINTS
+   ${MG_SRC_ROOT}/../Common/Renderers
+   )
+
+FIND_LIBRARY(MgRenderers_LIBRARIES NAMES MgRenderers
+   HINTS
+   ${MG_LIB_DIR}
+   ${MG_SRC_ROOT}/../Common/.libs
+   )
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(MgRenderers DEFAULT_MSG
+                                  MgRenderers_INCLUDE_DIR MgRenderers_LIBRARIES)
+MARK_AS_ADVANCED(MgRenderers_INCLUDE_DIR MgRenderers_LIBRARIES)

Added: branches/2.6/MgDev/Desktop/cmake/modules/FindMgSecurity.cmake
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/FindMgSecurity.cmake	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/FindMgSecurity.cmake	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,27 @@
+# - Find MgSecurity component
+
+# CMake base requires and policy tweaks
+cmake_minimum_required( VERSION 2.6.2 FATAL_ERROR )
+# CMP0005: keep escaping behaviour for definitions added via add_definitions()
+cmake_policy( SET CMP0005 OLD )
+cmake_policy( SET CMP0011 OLD )
+
+IF (MgSecurity_INCLUDE_DIR AND MgSecurity_LIBRARIES)
+   # in cache already
+   SET(MgSecurity_FIND_QUIETLY TRUE)
+ENDIF (MgSecurity_INCLUDE_DIR AND MgSecurity_LIBRARIES)
+
+FIND_PATH(MgSecurity_INCLUDE_DIR CryptographyUtil.h
+   HINTS
+   ${MG_SRC_ROOT}/../Common/Security
+   )
+
+FIND_LIBRARY(MgSecurity_LIBRARIES NAMES MgSecurity
+   HINTS
+   ${MG_SRC_ROOT}/../Common/Security
+   )
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(MgSecurity DEFAULT_MSG
+                                  MgSecurity_INCLUDE_DIR MgSecurity_LIBRARIES)
+MARK_AS_ADVANCED(MgSecurity_INCLUDE_DIR MgSecurity_LIBRARIES)

Added: branches/2.6/MgDev/Desktop/cmake/modules/FindMgStylization.cmake
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/FindMgStylization.cmake	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/FindMgStylization.cmake	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,28 @@
+# - Find MgStylization component
+
+# CMake base requires and policy tweaks
+cmake_minimum_required( VERSION 2.6.2 FATAL_ERROR )
+# CMP0005: keep escaping behaviour for definitions added via add_definitions()
+cmake_policy( SET CMP0005 OLD )
+cmake_policy( SET CMP0011 OLD )
+
+IF (MgStylization_INCLUDE_DIR AND MgStylization_LIBRARIES)
+   # in cache already
+   SET(MgStylization_FIND_QUIETLY TRUE)
+ENDIF (MgStylization_INCLUDE_DIR AND MgStylization_LIBRARIES)
+
+FIND_PATH(MgStylization_INCLUDE_DIR Stylization.h
+   HINTS
+   ${MG_SRC_ROOT}/../Common/Stylization
+   )
+
+FIND_LIBRARY(MgStylization_LIBRARIES NAMES MgStylization
+   HINTS
+   ${MG_LIB_DIR}
+   ${MG_SRC_ROOT}/../Common/.libs
+   )
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(MgStylization DEFAULT_MSG
+                                  MgStylization_INCLUDE_DIR MgStylization_LIBRARIES)
+MARK_AS_ADVANCED(MgStylization_INCLUDE_DIR MgStylization_LIBRARIES)

Added: branches/2.6/MgDev/Desktop/cmake/modules/FindMySQL.cmake
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/FindMySQL.cmake	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/FindMySQL.cmake	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,138 @@
+# - Try to find MySQL / MySQL Embedded library
+# Find the MySQL includes and client library
+# This module defines
+#  MYSQL_INCLUDE_DIR, where to find mysql.h
+#  MYSQL_LIBRARIES, the libraries needed to use MySQL.
+#  MYSQL_LIB_DIR, path to the MYSQL_LIBRARIES
+#  MYSQL_EMBEDDED_LIBRARIES, the libraries needed to use MySQL Embedded.
+#  MYSQL_EMBEDDED_LIB_DIR, path to the MYSQL_EMBEDDED_LIBRARIES
+#  MYSQL_FOUND, If false, do not try to use MySQL.
+#  MYSQL_EMBEDDED_FOUND, If false, do not try to use MySQL Embedded.
+
+# Copyright (c) 2006-2008, Jarosław Staniek <staniek at kde.org>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+include(CheckCXXSourceCompiles)
+include(MacroPushRequiredVars)
+
+if(WIN32)
+   find_path(MYSQL_INCLUDE_DIR mysql.h
+      PATHS
+      $ENV{MYSQL_INCLUDE_DIR}
+      $ENV{MYSQL_DIR}/include
+      $ENV{ProgramFiles}/MySQL/*/include
+      $ENV{SystemDrive}/MySQL/*/include
+   )
+else(WIN32)
+   find_path(MYSQL_INCLUDE_DIR mysql.h
+      PATHS
+      $ENV{MYSQL_INCLUDE_DIR}
+      $ENV{MYSQL_DIR}/include
+      /usr/local/mysql/include
+      /opt/mysql/mysql/include
+      PATH_SUFFIXES
+      mysql
+   )
+endif(WIN32)
+
+if(WIN32)
+   # path suffix for debug/release mode
+   # binary_dist: mysql binary distribution
+   # build_dist: custom build
+   if(CMAKE_BUILD_TYPE STREQUAL "Debug")
+      set(binary_dist debug)
+      set(build_dist Debug)
+   else(CMAKE_BUILD_TYPE STREQUAL "Debug")
+      ADD_DEFINITIONS(-DDBUG_OFF)
+      set(binary_dist opt)
+      set(build_dist Release)
+   endif(CMAKE_BUILD_TYPE STREQUAL "Debug")
+   
+#   find_library(MYSQL_LIBRARIES NAMES mysqlclient
+   find_library(MYSQL_LIBRARIES NAMES libmysql
+      PATHS
+      $ENV{MYSQL_DIR}/lib/${binary_dist}
+      $ENV{MYSQL_DIR}/libmysql/${build_dist}
+      $ENV{MYSQL_DIR}/client/${build_dist}
+      $ENV{ProgramFiles}/MySQL/*/lib/${binary_dist}
+      $ENV{SystemDrive}/MySQL/*/lib/${binary_dist}
+   )
+else(WIN32)
+#   find_library(MYSQL_LIBRARIES NAMES mysqlclient
+   find_library(MYSQL_LIBRARIES NAMES libmysql
+      PATHS
+      $ENV{MYSQL_DIR}/libmysql_r/.libs
+      $ENV{MYSQL_DIR}/lib
+      $ENV{MYSQL_DIR}/lib/mysql
+      /usr/local/mysql/lib
+      /opt/mysql/mysql/lib
+      PATH_SUFFIXES 
+      mysql
+   )
+endif(WIN32)
+
+if(WIN32)
+   set(MYSQL_LIB_PATHS
+      $ENV{MYSQL_DIR}/lib/opt
+      $ENV{MYSQL_DIR}/client/release
+      $ENV{ProgramFiles}/MySQL/*/lib/opt
+      $ENV{SystemDrive}/MySQL/*/lib/opt
+   )
+   find_library(MYSQL_LIBRARIES NAMES mysqlclient
+      PATHS
+      ${MYSQL_LIB_PATHS}
+   )
+else(WIN32)
+   set(MYSQL_LIB_PATHS
+      $ENV{MYSQL_DIR}/libmysql_r/.libs
+      $ENV{MYSQL_DIR}/lib
+      $ENV{MYSQL_DIR}/lib/mysql
+      /usr/local/mysql/lib
+      /opt/mysql/mysql/lib
+      PATH_SUFFIXES
+      mysql
+   )
+   find_library(MYSQL_LIBRARIES NAMES mysqlclient
+      PATHS
+      ${MYSQL_LIB_PATHS}
+   )
+endif(WIN32)
+
+find_library(MYSQL_EMBEDDED_LIBRARIES NAMES mysqld
+   PATHS
+   ${MYSQL_LIB_PATHS}
+)
+
+if(MYSQL_LIBRARIES)
+   get_filename_component(MYSQL_LIB_DIR ${MYSQL_LIBRARIES} PATH)
+endif(MYSQL_LIBRARIES)
+
+if(MYSQL_EMBEDDED_LIBRARIES)
+   get_filename_component(MYSQL_EMBEDDED_LIB_DIR ${MYSQL_EMBEDDED_LIBRARIES} PATH)
+endif(MYSQL_EMBEDDED_LIBRARIES)
+
+macro_push_required_vars()
+set( CMAKE_REQUIRED_INCLUDES ${MYSQL_INCLUDE_DIR} )
+set( CMAKE_REQUIRED_LIBRARIES ${MYSQL_EMBEDDED_LIBRARIES} )
+check_cxx_source_compiles( "#include <mysql.h>\nint main() { int i = MYSQL_OPT_USE_EMBEDDED_CONNECTION; }" HAVE_MYSQL_OPT_EMBEDDED_CONNECTION )
+macro_pop_required_vars()
+
+if(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES)
+   set(MYSQL_FOUND TRUE)
+   message(STATUS "Found MySQL: ${MYSQL_INCLUDE_DIR}, ${MYSQL_LIBRARIES}")
+else(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES)
+   set(MYSQL_FOUND FALSE)
+   message(STATUS "MySQL not found.")
+endif(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES)
+
+if(MYSQL_INCLUDE_DIR AND MYSQL_EMBEDDED_LIBRARIES AND HAVE_MYSQL_OPT_EMBEDDED_CONNECTION)
+   set(MYSQL_EMBEDDED_FOUND TRUE)
+   message(STATUS "Found MySQL Embedded: ${MYSQL_INCLUDE_DIR}, ${MYSQL_EMBEDDED_LIBRARIES}")
+else(MYSQL_INCLUDE_DIR AND MYSQL_EMBEDDED_LIBRARIES AND HAVE_MYSQL_OPT_EMBEDDED_CONNECTION)
+   set(MYSQL_EMBEDDED_FOUND FALSE)
+   message(STATUS "MySQL Embedded not found.")
+endif(MYSQL_INCLUDE_DIR AND MYSQL_EMBEDDED_LIBRARIES AND HAVE_MYSQL_OPT_EMBEDDED_CONNECTION)
+
+mark_as_advanced(MYSQL_INCLUDE_DIR MYSQL_LIBRARIES MYSQL_EMBEDDED_LIBRARIES)

Added: branches/2.6/MgDev/Desktop/cmake/modules/FindPostgreSQL.cmake
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/FindPostgreSQL.cmake	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/FindPostgreSQL.cmake	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,37 @@
+# - Find PostgreSQL
+# Find the PostgreSQL includes and client library
+# This module defines
+#  POSTGRESQL_INCLUDE_DIR, where to find POSTGRESQL.h
+#  POSTGRESQL_LIBRARIES, the libraries needed to use POSTGRESQL.
+#  POSTGRESQL_FOUND, If false, do not try to use PostgreSQL.
+
+# Copyright (c) 2006, Jaroslaw Staniek, <js at iidea.pl>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+
+if (POSTGRESQL_INCLUDE_DIR AND POSTGRESQL_LIBRARIES)
+  # Already in cache, be silent
+  set(PostgreSQL_FIND_QUIETLY TRUE)
+endif (POSTGRESQL_INCLUDE_DIR AND POSTGRESQL_LIBRARIES)
+
+
+find_path(POSTGRESQL_INCLUDE_DIR libpq-fe.h
+   /usr/include/pgsql/
+   /usr/local/include/pgsql/
+   /usr/include/postgresql/
+)
+
+find_library(POSTGRESQL_LIBRARIES NAMES pq)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(PostgreSQL DEFAULT_MSG
+                                  POSTGRESQL_INCLUDE_DIR POSTGRESQL_LIBRARIES )
+
+if (POSTGRESQL_FOUND)
+   message(STATUS "Found PostgreSQL: ${POSTGRESQL_INCLUDE_DIR}, ${POSTGRESQL_LIBRARIES}")
+endif (POSTGRESQL_FOUND)
+
+mark_as_advanced(POSTGRESQL_INCLUDE_DIR POSTGRESQL_LIBRARIES)
+

Added: branches/2.6/MgDev/Desktop/cmake/modules/FindSqlite.cmake
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/FindSqlite.cmake	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/FindSqlite.cmake	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,50 @@
+# - Try to find Sqlite
+# Once done this will define
+#
+#  SQLITE_FOUND - system has Sqlite
+#  SQLITE_INCLUDE_DIR - the Sqlite include directory
+#  SQLITE_LIBRARIES - Link these to use Sqlite
+#  SQLITE_DEFINITIONS - Compiler switches required for using Sqlite
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+#
+
+
+# Copyright (c) 2008, Gilles Caulier, <caulier.gilles at gmail.com>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+if ( SQLITE_INCLUDE_DIR AND SQLITE_LIBRARIES )
+   # in cache already
+   SET(Sqlite_FIND_QUIETLY TRUE)
+endif ( SQLITE_INCLUDE_DIR AND SQLITE_LIBRARIES )
+
+# use pkg-config to get the directories and then use these values
+# in the FIND_PATH() and FIND_LIBRARY() calls
+if( NOT WIN32 )
+  find_package(PkgConfig)
+
+  pkg_check_modules(PC_SQLITE sqlite3)
+
+  set(SQLITE_DEFINITIONS ${PC_SQLITE_CFLAGS_OTHER})
+endif( NOT WIN32 )
+
+FIND_PATH(SQLITE_INCLUDE_DIR NAMES sqlite3.h
+  PATHS
+  ${PC_SQLITE_INCLUDEDIR}
+  ${PC_SQLITE_INCLUDE_DIRS}
+)
+
+FIND_LIBRARY(SQLITE_LIBRARIES NAMES sqlite3
+  PATHS
+  ${PC_SQLITE_LIBDIR}
+  ${PC_SQLITE_LIBRARY_DIRS}
+)
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Sqlite DEFAULT_MSG SQLITE_INCLUDE_DIR SQLITE_LIBRARIES )
+
+# show the SQLITE_INCLUDE_DIR and SQLITE_LIBRARIES variables only in the advanced view
+MARK_AS_ADVANCED(SQLITE_INCLUDE_DIR SQLITE_LIBRARIES )
+

Added: branches/2.6/MgDev/Desktop/cmake/modules/FindXalanC.cmake
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/FindXalanC.cmake	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/FindXalanC.cmake	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,35 @@
+# - Try to find XalanC
+# Once done this will define
+#
+#  XALANC_FOUND - System has XalanC
+#  XALANC_INCLUDE_DIR - The XalanC include directory
+#  XALANC_LIBRARY_DIR - The XalanC library dir
+#  XALANC_LIBRARIES - The libraries needed to use XalanC
+#  XALANC_DEFINITIONS - Compiler switches required for using XalanC
+
+# Copyright (c) 2009, Helio Chissini de Castro, <helio at kde.org>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+
+IF (XALANC_INCLUDE_DIR AND XALANC_LIBRARIES)
+   # in cache already
+   SET(XalanC_FIND_QUIETLY TRUE)
+ENDIF (XALANC_INCLUDE_DIR AND XALANC_LIBRARIES)
+
+
+FIND_PATH(XALANC_INCLUDE_DIR DOMSupport/DOMServices.hpp
+	PATHS
+	/usr/local/include/xalanc
+	/usr/include/xalanc
+	PATH_SUFFIXES
+	xalanc
+	)
+
+FIND_LIBRARY(XALANC_LIBRARIES NAMES xalan-c xalanMsg)
+
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(XalanC DEFAULT_MSG XALANC_LIBRARIES XALANC_INCLUDE_DIR)
+
+MARK_AS_ADVANCED(XALANC_INCLUDE_DIR XALANC_LIBRARIES XALANC_LIBRARY_DIR)

Added: branches/2.6/MgDev/Desktop/cmake/modules/FindXercesC.cmake
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/FindXercesC.cmake	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/FindXercesC.cmake	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,34 @@
+# - Try to find XercesC
+# Once done this will define
+#
+#  XercesC_FOUND - System has XercesC
+#  XercesC_INCLUDE_DIR - The XercesC include directory
+#  XercesC_LIBRARIES - The libraries needed to use XercesC
+
+# Copyright (c) 2009, Helio Chissini de Castro, <helio at kde.org>. Modified for use by mg-desktop by Jackie Ng <jumpinjackie at gmail.com>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+
+IF (XercesC_INCLUDE_DIR AND XercesC_LIBRARIES)
+   # in cache already
+   SET(XercesC_FIND_QUIETLY TRUE)
+ENDIF (XercesC_INCLUDE_DIR AND XercesC_LIBRARIES)
+
+FIND_PATH(XercesC_INCLUDE_DIR xercesc/util/PlatformUtils.hpp
+   HINTS
+   ${MG_SRC_ROOT}/../Oem/dbxml/xerces-c-src/src
+   PATH_SUFFIXES xerces-c
+   )
+
+FIND_LIBRARY(XercesC_LIBRARIES NAMES xerces-c
+   HINTS
+   ${MG_LIB_DIR}
+   ${MG_SRC_ROOT}/../Oem/dbxml/xerces-c-src/src/.libs
+   )
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(XercesC DEFAULT_MSG
+                                  XercesC_INCLUDE_DIR XercesC_LIBRARIES)
+MARK_AS_ADVANCED(XercesC_INCLUDE_DIR XercesC_LIBRARIES)

Added: branches/2.6/MgDev/Desktop/cmake/modules/MacroOptionalAddSubdirectory.cmake
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/MacroOptionalAddSubdirectory.cmake	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/MacroOptionalAddSubdirectory.cmake	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,41 @@
+# - MACRO_OPTIONAL_ADD_SUBDIRECTORY() combines ADD_SUBDIRECTORY() with an OPTION()
+# MACRO_OPTIONAL_ADD_SUBDIRECTORY( <dir> )
+# If you use MACRO_OPTIONAL_ADD_SUBDIRECTORY() instead of ADD_SUBDIRECTORY(),
+# this will have two effects
+# 1 - CMake will not complain if the directory doesn't exist
+#     This makes sense if you want to distribute just one of the subdirs
+#     in a source package, e.g. just one of the subdirs in kdeextragear.
+# 2 - If the directory exists, it will offer an option to skip the 
+#     subdirectory.
+#     This is useful if you want to compile only a subset of all
+#     directories.
+#
+# If the CMake variable DISABLE_ALL_OPTIONAL_SUBDIRECTORIES is set to TRUE
+# for the first CMake run on the project, all optional subdirectories will be disabled
+# by default (but can of course be enabled via the respective options).
+# E.g. the following will disable all optional subdirectories except the one named "kcalc":
+#   $ cmake -DDISABLE_ALL_OPTIONAL_SUBDIRECTORIES=TRUE -DBUILD_kcalc=TRUE <srcdir>
+
+# Copyright (c) 2007, Alexander Neundorf, <neundorf at kde.org>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+
+MACRO (MACRO_OPTIONAL_ADD_SUBDIRECTORY _dir )
+   GET_FILENAME_COMPONENT(_fullPath ${_dir} ABSOLUTE)
+   IF(EXISTS ${_fullPath})
+      IF(DISABLE_ALL_OPTIONAL_SUBDIRECTORIES)
+         SET(_DEFAULT_OPTION_VALUE FALSE)
+      ELSE(DISABLE_ALL_OPTIONAL_SUBDIRECTORIES)
+         SET(_DEFAULT_OPTION_VALUE TRUE)
+      ENDIF(DISABLE_ALL_OPTIONAL_SUBDIRECTORIES)
+      IF(DISABLE_ALL_OPTIONAL_SUBDIRS  AND NOT DEFINED  BUILD_${_dir})
+         SET(_DEFAULT_OPTION_VALUE FALSE)
+      ENDIF(DISABLE_ALL_OPTIONAL_SUBDIRS  AND NOT DEFINED  BUILD_${_dir})
+      OPTION(BUILD_${_dir} "Build directory ${_dir}" ${_DEFAULT_OPTION_VALUE})
+      IF(BUILD_${_dir})
+         ADD_SUBDIRECTORY(${_dir})
+      ENDIF(BUILD_${_dir})
+   ENDIF(EXISTS ${_fullPath})
+ENDMACRO (MACRO_OPTIONAL_ADD_SUBDIRECTORY)

Added: branches/2.6/MgDev/Desktop/cmake/modules/MacroPushRequiredVars.cmake
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/MacroPushRequiredVars.cmake	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/MacroPushRequiredVars.cmake	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,47 @@
+# this module defines two macros:
+# MACRO_PUSH_REQUIRED_VARS()
+# and
+# MACRO_POP_REQUIRED_VARS()
+# use these if you call cmake macros which use
+# any of the CMAKE_REQUIRED_XXX variables
+#
+# Usage:
+# MACRO_PUSH_REQUIRED_VARS()
+# SET(CMAKE_REQUIRED_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} -DSOME_MORE_DEF)
+# CHECK_FUNCTION_EXISTS(...)
+# MACRO_POP_REQUIRED_VARS()
+
+# Copyright (c) 2006, Alexander Neundorf, <neundorf at kde.org>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+MACRO(MACRO_PUSH_REQUIRED_VARS)
+
+   IF(NOT DEFINED _PUSH_REQUIRED_VARS_COUNTER)
+      SET(_PUSH_REQUIRED_VARS_COUNTER 0)
+   ENDIF(NOT DEFINED _PUSH_REQUIRED_VARS_COUNTER)
+
+   MATH(EXPR _PUSH_REQUIRED_VARS_COUNTER "${_PUSH_REQUIRED_VARS_COUNTER}+1")
+
+   SET(_CMAKE_REQUIRED_INCLUDES_SAVE_${_PUSH_REQUIRED_VARS_COUNTER}    ${CMAKE_REQUIRED_INCLUDES})
+   SET(_CMAKE_REQUIRED_DEFINITIONS_SAVE_${_PUSH_REQUIRED_VARS_COUNTER} ${CMAKE_REQUIRED_DEFINITIONS})
+   SET(_CMAKE_REQUIRED_LIBRARIES_SAVE_${_PUSH_REQUIRED_VARS_COUNTER}   ${CMAKE_REQUIRED_LIBRARIES})
+   SET(_CMAKE_REQUIRED_FLAGS_SAVE_${_PUSH_REQUIRED_VARS_COUNTER}       ${CMAKE_REQUIRED_FLAGS})
+ENDMACRO(MACRO_PUSH_REQUIRED_VARS)
+
+MACRO(MACRO_POP_REQUIRED_VARS)
+
+# don't pop more than we pushed
+   IF("${_PUSH_REQUIRED_VARS_COUNTER}" GREATER "0")
+
+      SET(CMAKE_REQUIRED_INCLUDES    ${_CMAKE_REQUIRED_INCLUDES_SAVE_${_PUSH_REQUIRED_VARS_COUNTER}})
+      SET(CMAKE_REQUIRED_DEFINITIONS ${_CMAKE_REQUIRED_DEFINITIONS_SAVE_${_PUSH_REQUIRED_VARS_COUNTER}})
+      SET(CMAKE_REQUIRED_LIBRARIES   ${_CMAKE_REQUIRED_LIBRARIES_SAVE_${_PUSH_REQUIRED_VARS_COUNTER}})
+      SET(CMAKE_REQUIRED_FLAGS       ${_CMAKE_REQUIRED_FLAGS_SAVE_${_PUSH_REQUIRED_VARS_COUNTER}})
+
+      MATH(EXPR _PUSH_REQUIRED_VARS_COUNTER "${_PUSH_REQUIRED_VARS_COUNTER}-1")
+   ENDIF("${_PUSH_REQUIRED_VARS_COUNTER}" GREATER "0")
+
+ENDMACRO(MACRO_POP_REQUIRED_VARS)
+

Added: branches/2.6/MgDev/Desktop/cmake/modules/TestCmakeVersion.cxx
===================================================================
--- branches/2.6/MgDev/Desktop/cmake/modules/TestCmakeVersion.cxx	                        (rev 0)
+++ branches/2.6/MgDev/Desktop/cmake/modules/TestCmakeVersion.cxx	2014-05-15 16:51:12 UTC (rev 8132)
@@ -0,0 +1,18 @@
+#include <cppunit/config-auto.h>
+#include <cstdlib>
+#include <cstdio>
+
+// Simple test against arbitrary versions > 1.10
+#define MIN_MAJOR 1
+#define MIN_MINOR 10
+
+int main(int, char*[])
+{
+	char *base;
+		
+	if( strtol( CPPUNIT_VERSION, &base, 10 ) == MIN_MAJOR )
+		if( strtol( ++base, NULL, 10 ) >= MIN_MINOR )
+			return 1; 
+		return 0;
+	return 0;
+}



More information about the mapguide-commits mailing list