[mapguide-commits] r9272 - in sandbox/jng/cmake_v2: . BuildTools BuildTools/WebTools BuildTools/WebTools/IMake Common Desktop Desktop/MgDesktop Desktop/MgDesktop/Services/Feature Desktop/UnitTest cmake/modules

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Thu Jan 4 01:43:37 PST 2018


Author: jng
Date: 2018-01-04 01:43:37 -0800 (Thu, 04 Jan 2018)
New Revision: 9272

Added:
   sandbox/jng/cmake_v2/BuildTools/CMakeLists.txt
   sandbox/jng/cmake_v2/BuildTools/WebTools/CMakeLists.txt
   sandbox/jng/cmake_v2/BuildTools/WebTools/IMake/CMakeLists.txt
   sandbox/jng/cmake_v2/Desktop/CMakeLists.txt
   sandbox/jng/cmake_v2/Desktop/MgDesktop/CMakeLists.txt
   sandbox/jng/cmake_v2/Desktop/UnitTest/CMakeLists.txt
   sandbox/jng/cmake_v2/cmake/modules/FindCppUnit.cmake
   sandbox/jng/cmake_v2/cmake/modules/TestCmakeVersion.cxx
Modified:
   sandbox/jng/cmake_v2/CMakeLists.txt
   sandbox/jng/cmake_v2/Common/CMakeLists.txt
   sandbox/jng/cmake_v2/Desktop/MgDesktop/Services/Feature/FeatureConnection.h
   sandbox/jng/cmake_v2/Desktop/UnitTest/TestFeatureService.cpp
   sandbox/jng/cmake_v2/Desktop/UnitTest/TestResourceService.cpp
Log:
Get mg-desktop building through CMake

Added: sandbox/jng/cmake_v2/BuildTools/CMakeLists.txt
===================================================================
--- sandbox/jng/cmake_v2/BuildTools/CMakeLists.txt	                        (rev 0)
+++ sandbox/jng/cmake_v2/BuildTools/CMakeLists.txt	2018-01-04 09:43:37 UTC (rev 9272)
@@ -0,0 +1 @@
+add_subdirectory(WebTools)
\ No newline at end of file

Added: sandbox/jng/cmake_v2/BuildTools/WebTools/CMakeLists.txt
===================================================================
--- sandbox/jng/cmake_v2/BuildTools/WebTools/CMakeLists.txt	                        (rev 0)
+++ sandbox/jng/cmake_v2/BuildTools/WebTools/CMakeLists.txt	2018-01-04 09:43:37 UTC (rev 9272)
@@ -0,0 +1 @@
+add_subdirectory(IMake)
\ No newline at end of file

Added: sandbox/jng/cmake_v2/BuildTools/WebTools/IMake/CMakeLists.txt
===================================================================
--- sandbox/jng/cmake_v2/BuildTools/WebTools/IMake/CMakeLists.txt	                        (rev 0)
+++ sandbox/jng/cmake_v2/BuildTools/WebTools/IMake/CMakeLists.txt	2018-01-04 09:43:37 UTC (rev 9272)
@@ -0,0 +1,7 @@
+set(IMake_SRCS
+    IMake.cpp
+    SimpleXmlParser.cpp
+    stdafx.cpp
+)
+
+add_executable(IMake ${IMake_SRCS})
\ No newline at end of file

Modified: sandbox/jng/cmake_v2/CMakeLists.txt
===================================================================
--- sandbox/jng/cmake_v2/CMakeLists.txt	2017-12-26 14:28:41 UTC (rev 9271)
+++ sandbox/jng/cmake_v2/CMakeLists.txt	2018-01-04 09:43:37 UTC (rev 9272)
@@ -10,6 +10,8 @@
 	${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules
 )
 
+message(STATUS "Building for: ${CMAKE_BUILD_TYPE}")
+
 # Make CPack available to easy generate binary packages
 include(CPack)
 
@@ -54,13 +56,33 @@
 if( CMAKE_COMPILER_IS_GNUCXX )
     add_definitions( -D__USE_GNU -Wno-deprecated )
     if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
-        set ( CMAKE_CXX_FLAGS "-m64" )
+        set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64" )
+        set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64" )
     else( CMAKE_SIZEOF_VOID_P EQUAL 8 )
-        set ( CMAKE_CXX_FLAGS "-m32" )
+        set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32" )
+        set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32" )
     endif( CMAKE_SIZEOF_VOID_P EQUAL 8 )
+    if (CMAKE_BUILD_TYPE MATCHES DEBUG)
+        add_definitions(-DDEBUG -D_DEBUG)
+        set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3" )
+        set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g3" )
+        message(STATUS "Adding standard compiler flags for debug")
+    endif (CMAKE_BUILD_TYPE MATCHES DEBUG)
 endif( CMAKE_COMPILER_IS_GNUCXX )
 
+find_package(GEOS REQUIRED)
+find_package(ACE REQUIRED)
+find_package(XercesC REQUIRED)
+find_package(GD REQUIRED)
+find_package(Freetype REQUIRED)
+find_package(JPEG REQUIRED)
+find_package(PNG REQUIRED)
+find_package(FDO REQUIRED)
+find_package(CppUnit REQUIRED)
+
+add_subdirectory(BuildTools)
 add_subdirectory(Oem)
 add_subdirectory(Common)
 add_subdirectory(Server)
 add_subdirectory(Web)
+add_subdirectory(Desktop)

Modified: sandbox/jng/cmake_v2/Common/CMakeLists.txt
===================================================================
--- sandbox/jng/cmake_v2/Common/CMakeLists.txt	2017-12-26 14:28:41 UTC (rev 9271)
+++ sandbox/jng/cmake_v2/Common/CMakeLists.txt	2018-01-04 09:43:37 UTC (rev 9272)
@@ -1,12 +1,3 @@
-find_package (GEOS REQUIRED)
-find_package (ACE REQUIRED)
-find_package (XercesC REQUIRED)
-find_package (GD REQUIRED)
-find_package (Freetype REQUIRED)
-find_package (JPEG REQUIRED)
-find_package (PNG REQUIRED)
-find_package (FDO REQUIRED)
-
 # NOTE: Not applied for server tier projects except for mgserver main executable
 if( CMAKE_COMPILER_IS_GNUCXX )
     set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,--as-needed -Wl,--no-undefined -lc ${CMAKE_SHARED_LINKER_FLAGS}")

Added: sandbox/jng/cmake_v2/Desktop/CMakeLists.txt
===================================================================
--- sandbox/jng/cmake_v2/Desktop/CMakeLists.txt	                        (rev 0)
+++ sandbox/jng/cmake_v2/Desktop/CMakeLists.txt	2018-01-04 09:43:37 UTC (rev 9272)
@@ -0,0 +1,9 @@
+add_definitions( -DACE_HAS_THREAD_SAFE_ACCEPT )
+
+# NOTE: Not applied for server tier projects except for mgserver main executable
+if( CMAKE_COMPILER_IS_GNUCXX )
+    set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,--as-needed -Wl,--no-undefined -lc ${CMAKE_SHARED_LINKER_FLAGS}")
+endif( CMAKE_COMPILER_IS_GNUCXX )
+
+add_subdirectory(MgDesktop)
+add_subdirectory(UnitTest)
\ No newline at end of file

Added: sandbox/jng/cmake_v2/Desktop/MgDesktop/CMakeLists.txt
===================================================================
--- sandbox/jng/cmake_v2/Desktop/MgDesktop/CMakeLists.txt	                        (rev 0)
+++ sandbox/jng/cmake_v2/Desktop/MgDesktop/CMakeLists.txt	2018-01-04 09:43:37 UTC (rev 9272)
@@ -0,0 +1,52 @@
+project(mgdesktop)
+
+#NOTE: DWF headers *must* go before MdfModel headers because we want Version.h from
+#MdfModel first and not DWF Toolkit
+include_directories(${ACE_INCLUDE_DIR}
+    ${XERCESC_INCLUDE_DIR}
+    ${CMAKE_CURRENT_SOURCE_DIR}
+    ${FDO_INCLUDE_DIR}
+    ${FDO_INCLUDE_DIR}/ExpressionEngine
+    ${MG_COMMON_DIR}/PlatformBase
+    ${MG_COMMON_DIR}/CoordinateSystem
+    ${MG_COMMON_DIR}/Security
+    ${MG_COMMON_DIR}/MdfModel
+    ${MG_COMMON_DIR}/MdfParser
+    ${MG_COMMON_DIR}/Foundation
+    ${MG_COMMON_DIR}/Geometry
+    ${MG_COMMON_DIR}/Renderers
+    ${MG_COMMON_DIR}/Stylization
+    ${MG_OEM_DWF_INCLUDE_DIR}
+    ${MG_OEM_DWF_INCLUDE_DIR}/dwf
+    ${MG_SERVER_GWS_DIR}/Include
+    ${MG_SERVER_GWS_DIR}/GwsCommon/inc
+    ${MG_SERVER_GWS_DIR}/GwsQueryEngine/inc
+)
+
+set (MgDesktop_SRCS
+    MgDesktopBuild.cpp
+)
+
+add_definitions(-DDWFCORE_STATIC -DDWFTK_STATIC -DDWFTK_USE_DWFCORE_ZLIB -DDWFTK_BUILD_EXPAT -DWHIP_STATIC_LIB)
+
+add_library(MgDesktop-${MG_VERSION} SHARED ${MgDesktop_SRCS})
+
+target_link_libraries(MgDesktop-${MG_VERSION}
+    ${ACE_LIBRARY}
+    ${XERCESC_LIBRARIES}
+    ${FDO_LIBRARY}
+    ${FDO_EXPRESSIONENGINE_LIBRARY}
+    dwfcore
+    dwftk
+    dwfwhiptk
+    MgMdfModel-${MG_VERSION}
+    MgMdfParser-${MG_VERSION}
+    MgFoundation-${MG_VERSION}
+    MgPlatformBase-${MG_VERSION}
+    MgSecurity-${MG_VERSION}
+    MgRenderers-${MG_VERSION}
+    MgStylization-${MG_VERSION}
+    MgGwsCommon-${MG_VERSION}
+    MgGwsQueryEngine-${MG_VERSION}
+    pthread
+)
\ No newline at end of file

Modified: sandbox/jng/cmake_v2/Desktop/MgDesktop/Services/Feature/FeatureConnection.h
===================================================================
--- sandbox/jng/cmake_v2/Desktop/MgDesktop/Services/Feature/FeatureConnection.h	2017-12-26 14:28:41 UTC (rev 9271)
+++ sandbox/jng/cmake_v2/Desktop/MgDesktop/Services/Feature/FeatureConnection.h	2018-01-04 09:43:37 UTC (rev 9272)
@@ -5,7 +5,6 @@
 class MgResourceIdentifier;
 class MgdFdoConnectionPool;
 
-template class Ptr<MgResourceIdentifier>;
 /// \cond INTERNAL
 class MgdFeatureConnection : public MgGuardDisposable
 {

Added: sandbox/jng/cmake_v2/Desktop/UnitTest/CMakeLists.txt
===================================================================
--- sandbox/jng/cmake_v2/Desktop/UnitTest/CMakeLists.txt	                        (rev 0)
+++ sandbox/jng/cmake_v2/Desktop/UnitTest/CMakeLists.txt	2018-01-04 09:43:37 UTC (rev 9272)
@@ -0,0 +1,45 @@
+include_directories(${ACE_INCLUDE_DIR}
+    ${XERCESC_INCLUDE_DIR}
+    ${FDO_INCLUDE_DIR}
+    ${CMAKE_CURRENT_SOURCE_DIR}
+    ${CMAKE_CURRENT_SOURCE_DIR}/../MgDesktop
+    ${CMAKE_CURRENT_SOURCE_DIR}/../MgDesktop/Services
+    ${CPPUNIT_INCLUDE_DIR}
+    ${MG_COMMON_DIR}/PlatformBase
+    ${MG_COMMON_DIR}/CoordinateSystem
+    ${MG_COMMON_DIR}/Security
+    ${MG_COMMON_DIR}/MdfParser
+    ${MG_COMMON_DIR}/MdfModel
+    ${MG_COMMON_DIR}/Foundation
+    ${MG_COMMON_DIR}/Geometry
+    ${MG_COMMON_DIR}/Stylization
+)
+
+set (UnitTest_SRCS
+    main.cpp
+    TestFeatureService.cpp
+    #TestKmlService.cpp
+    TestLogManager.cpp
+    TestLogManagerThread.cpp
+    TestMappingService.cpp
+    #TestPerformance.cpp
+    TestProfilingService.cpp
+    TestRenderingService.cpp
+    TestResourceService.cpp
+    TestTileService.cpp
+)
+
+add_executable(UnitTest ${UnitTest_SRCS})
+
+target_link_libraries(UnitTest
+    ${ACE_LIBRARY}
+    ${FDO_LIBRARY}
+    ${XERCESC_LIBRARIES}
+    ${CPPUNIT_LIBRARIES}
+    MgMdfParser-${MG_VERSION}
+    MgMdfModel-${MG_VERSION}
+    MgFoundation-${MG_VERSION}
+    MgPlatformBase-${MG_VERSION}
+    MgSecurity-${MG_VERSION}
+    MgDesktop-${MG_VERSION}
+)
\ No newline at end of file

Modified: sandbox/jng/cmake_v2/Desktop/UnitTest/TestFeatureService.cpp
===================================================================
--- sandbox/jng/cmake_v2/Desktop/UnitTest/TestFeatureService.cpp	2017-12-26 14:28:41 UTC (rev 9271)
+++ sandbox/jng/cmake_v2/Desktop/UnitTest/TestFeatureService.cpp	2018-01-04 09:43:37 UTC (rev 9272)
@@ -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!)
 //
@@ -3162,7 +3163,7 @@
 #else
         const int iterations = 1000;
 #endif
-        long lStart = GetTickCount();
+        clock_t clock_start = clock();
         for(int i=0;i<iterations;i++)
         {
             int nFeatures = 0;
@@ -3176,8 +3177,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 clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (Average of %d runs): = %6.4f (s)\n"), iterations, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC)/(double)iterations ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("TestCase_BenchmarkSelectFeatures - END\n")));
     }
     catch(MgException* e)
@@ -3624,18 +3625,18 @@
 
         // ----- Start the tests ------- //
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkSdfJoin() - Inner Join \n")));
-        long lStart = GetTickCount();
-
+        
+        clock_t clock_start = clock();
         reader = featSvc->SelectFeatures(fsId, L"ParcelsInner", NULL);
         while(reader->ReadNext())
         {
             total++;
         }
         reader->Close();
-
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        clock_t clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkSdfJoin() - Left Outer Join \n")));
-        lStart = GetTickCount();
+        clock_start = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsLeftOuter", NULL);
@@ -3644,10 +3645,10 @@
             total++;
         }
         reader->Close();
-
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkSdfJoin() - Inner Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        clock_start = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsInnerOneToOne", NULL);
@@ -3656,10 +3657,10 @@
             total++;
         }
         reader->Close();
-
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkSdfJoin() - Left Outer Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        clock_start = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsLeftOuterOneToOne", NULL);
@@ -3668,8 +3669,8 @@
             total++;
         }
         reader->Close();
-
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
     }
     catch(MgException* e)
     {
@@ -3724,7 +3725,7 @@
 
         // ----- Start the tests ------- //
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkSqliteJoin() - Inner Join \n")));
-        long lStart = GetTickCount();
+        clock_t clock_start = clock();
         long total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsInner", NULL);
@@ -3733,10 +3734,10 @@
             total++;
         }
         reader->Close();
-
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        clock_t clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkSqliteJoin() - Left Outer Join \n")));
-        lStart = GetTickCount();
+        clock_start = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsLeftOuter", NULL);
@@ -3745,10 +3746,10 @@
             total++;
         }
         reader->Close();
-
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkSqliteJoin() - Inner Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        clock_start = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsInnerOneToOne", NULL);
@@ -3757,10 +3758,10 @@
             total++;
         }
         reader->Close();
-
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkSqliteJoin() - Left Outer Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        clock_start = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsLeftOuterOneToOne", NULL);
@@ -3769,8 +3770,8 @@
             total++;
         }
         reader->Close();
-
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
     }
     catch(MgException* e)
     {
@@ -3819,7 +3820,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 clock_start = clock();
         long total = 0L;
         int iterations = 0;
 
@@ -3832,10 +3833,10 @@
         }
         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) ));
+        clock_t clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkSqliteAggregateJoin() - Left Outer Join \n")));
-        lStart = GetTickCount();
+        clock_start = clock();
         iterations = 0L;
 
         reader = featSvc->SelectAggregate(fsId, L"ParcelsLeftOuter", aggOpts);
@@ -3847,10 +3848,10 @@
         }
         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) ));
+        clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkSqliteAggregateJoin() - Inner Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        clock_start = clock();
         iterations = 0L;
 
         reader = featSvc->SelectAggregate(fsId, L"ParcelsInnerOneToOne", aggOpts);
@@ -3862,10 +3863,10 @@
         }
         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) ));
+        clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkSqliteAggregateJoin() - Left Outer Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        clock_start = clock();
         iterations = 0L;
 
         reader = featSvc->SelectAggregate(fsId, L"ParcelsLeftOuterOneToOne", aggOpts);
@@ -3877,8 +3878,8 @@
         }
         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) ));
+        clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
     }
     catch(MgException* e)
     {
@@ -3924,7 +3925,7 @@
 
         // ----- Start the tests ------- //
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkMergeSortJoin() - Inner Join \n")));
-        long lStart = GetTickCount();
+        clock_t clock_start = clock();
         long total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsInnerSortMerge", NULL);
@@ -3945,10 +3946,10 @@
             total++;
         }
         reader->Close();
-
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        clock_t clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkMergeSortJoin() - Left Outer Join \n")));
-        lStart = GetTickCount();
+        clock_start = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsLeftOuterSortMerge", NULL);
@@ -3965,10 +3966,10 @@
             total++;
         }
         reader->Close();
-
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkMergeSortJoin() - Inner Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        clock_start = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsInnerOneToOneSortMerge", NULL);
@@ -3985,10 +3986,10 @@
             total++;
         }
         reader->Close();
-
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkMergeSortJoin() - Left Outer Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        clock_start = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsLeftOuterOneToOneSortMerge", NULL);
@@ -4005,8 +4006,8 @@
             total++;
         }
         reader->Close();
-
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
     }
     catch(MgException* e)
     {
@@ -4052,7 +4053,7 @@
 
         // ----- Start the tests ------- //
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkBatchSortedBlockJoin() - Inner Join \n")));
-        long lStart = GetTickCount();
+        clock_t clock_start = clock();
         long total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsInnerBatchSortedBlock", NULL);
@@ -4073,10 +4074,10 @@
             total++;
         }
         reader->Close();
-
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        clock_t clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkBatchSortedBlockJoin() - Left Outer Join \n")));
-        lStart = GetTickCount();
+        clock_start = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsLeftOuterBatchSortedBlock", NULL);
@@ -4093,10 +4094,10 @@
             total++;
         }
         reader->Close();
-
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkBatchSortedBlockJoin() - Inner Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        clock_start = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsInnerOneToOneBatchSortedBlock", NULL);
@@ -4113,10 +4114,10 @@
             total++;
         }
         reader->Close();
-
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkBatchSortedBlockJoin() - Left Outer Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        clock_start = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsLeftOuterOneToOneBatchSortedBlock", NULL);
@@ -4133,8 +4134,8 @@
             total++;
         }
         reader->Close();
-
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
     }
     catch(MgException* e)
     {
@@ -4180,7 +4181,7 @@
 
         // ----- Start the tests ------- //
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkNestedLoopsSortedBlockJoin() - Inner Join \n")));
-        long lStart = GetTickCount();
+        clock_t clock_start = clock();
         long total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsInnerNestedLoopSortedBlock", NULL);
@@ -4201,10 +4202,10 @@
             total++;
         }
         reader->Close();
-
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        clock_t clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkNestedLoopsSortedBlockJoin() - Left Outer Join \n")));
-        lStart = GetTickCount();
+        clock_start = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsLeftOuterNestedLoopSortedBlock", NULL);
@@ -4221,10 +4222,10 @@
             total++;
         }
         reader->Close();
-
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkNestedLoopsSortedBlockJoin() - Inner Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        clock_start = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsInnerOneToOneNestedLoopSortedBlock", NULL);
@@ -4241,10 +4242,10 @@
             total++;
         }
         reader->Close();
-
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkNestedLoopsSortedBlockJoin() - Left Outer Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        clock_start = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsLeftOuterOneToOneNestedLoopSortedBlock", NULL);
@@ -4261,8 +4262,8 @@
             total++;
         }
         reader->Close();
-
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
     }
     catch(MgException* e)
     {
@@ -4539,7 +4540,7 @@
 
         // ----- Start the tests ------- //
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkNestedLoopsJoin() - Inner Join \n")));
-        long lStart = GetTickCount();
+        clock_t clock_start = clock();
         long total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsInnerNestedLoops", NULL);
@@ -4561,10 +4562,10 @@
             total++;
         }
         reader->Close();
-
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        clock_t clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkNestedLoopsJoin() - Left Outer Join \n")));
-        lStart = GetTickCount();
+        clock_start = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsLeftOuterNestedLoops", NULL);
@@ -4581,10 +4582,10 @@
             total++;
         }
         reader->Close();
-
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkNestedLoopsJoin() - Inner Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        clock_start = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsInnerOneToOneNestedLoops", NULL);
@@ -4601,10 +4602,10 @@
             total++;
         }
         reader->Close();
-
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkNestedLoopsJoin() - Left Outer Join (Forced 1:1) \n")));
-        lStart = GetTickCount();
+        clock_start = clock();
         total = 0L;
 
         reader = featSvc->SelectFeatures(fsId, L"ParcelsLeftOuterOneToOneNestedLoops", NULL);
@@ -4621,8 +4622,8 @@
             total++;
         }
         reader->Close();
-
-        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((GetTickCount()-lStart)/1000.0) ));
+        clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time (%d results): = %6.4f (s)\n"), total, ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
     }
     catch(MgException* e)
     {

Modified: sandbox/jng/cmake_v2/Desktop/UnitTest/TestResourceService.cpp
===================================================================
--- sandbox/jng/cmake_v2/Desktop/UnitTest/TestResourceService.cpp	2017-12-26 14:28:41 UTC (rev 9271)
+++ sandbox/jng/cmake_v2/Desktop/UnitTest/TestResourceService.cpp	2018-01-04 09:43:37 UTC (rev 9272)
@@ -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");
 
@@ -1122,78 +1123,82 @@
 
 void TestResourceService::TestCase_BenchmarkGetResourceContents()
 {
-	try
-	{
-		Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+    try
+    {
+        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
             throw new MgServiceNotAvailableException(L"TestResourceService.TestCase_BenchmarkGetResourceContents", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
-		Ptr<MgStringCollection> resources = new MgStringCollection();
+        Ptr<MgStringCollection> resources = new MgStringCollection();
 
-		Ptr<MgByteSource> source = new MgByteSource(resourceContentFileName2);
-		Ptr<MgByteReader> reader = source->GetReader();
-		// Prepare the resources
-		for (INT32 i = 0; i < 150; i++)
-		{
-			STRING numStr;
-			MgUtil::Int32ToString(i, numStr);
-			STRING resIdStr = L"Library://BatchTests/Layer";
-			resIdStr += numStr;
-			resIdStr += L".LayerDefinition";
+        Ptr<MgByteSource> source = new MgByteSource(resourceContentFileName2);
+        Ptr<MgByteReader> reader = source->GetReader();
+        // Prepare the resources
+        for (INT32 i = 0; i < 150; i++)
+        {
+            STRING numStr;
+            MgUtil::Int32ToString(i, numStr);
+            STRING resIdStr = L"Library://BatchTests/Layer";
+            resIdStr += numStr;
+            resIdStr += L".LayerDefinition";
 
-			Ptr<MgResourceIdentifier> resId = new MgResourceIdentifier(resIdStr);
-			pService->SetResource(resId, reader, NULL);
-			resources->Add(resId->ToString());
-			reader->Rewind();
-		}
+            Ptr<MgResourceIdentifier> resId = new MgResourceIdentifier(resIdStr);
+            pService->SetResource(resId, reader, NULL);
+            resources->Add(resId->ToString());
+            reader->Rewind();
+        }
 
-		//Evict all cached copies to avoid distortion of results due to caching
-		MgdResourceContentCache* cache = MgdResourceContentCache::GetInstance();
-		cache->Clear();
+        //Evict all cached copies to avoid distortion of results due to caching
+        MgdResourceContentCache* cache = MgdResourceContentCache::GetInstance();
+        cache->Clear();
 
-		long lStart = GetTickCount();
-		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(" %d resource content items in cache\n"), (cache->GetCacheSize()) ));
+        clock_t clock_start = 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);
+        }
+        clock_t clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time: = %6.4f (s)\n"), ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT(" %d resource content items in cache\n"), (cache->GetCacheSize()) ));
 
-		lStart = GetTickCount();
-		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(" %d resource content items in cache\n"), (cache->GetCacheSize()) ));
+        clock_start = 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);
+        }
+        clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time: = %6.4f (s)\n"), ((double)(clock_end - clock_start) / 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();
-		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(" %d resource content items in cache\n"), (cache->GetCacheSize()) ));
+        clock_start = 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());
+        clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time: = %6.4f (s)\n"), ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT(" %d resource content items in cache\n"), (cache->GetCacheSize()) ));
 
-		lStart = GetTickCount();
-		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(" %d resource content items in cache\n"), (cache->GetCacheSize()) ));
-	}
+        clock_start = 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());
+        clock_end = clock();
+        ACE_DEBUG((LM_INFO, ACE_TEXT("  Execution Time: = %6.4f (s)\n"), ((double)(clock_end - clock_start) / CLOCKS_PER_SEC) ));
+        ACE_DEBUG((LM_INFO, ACE_TEXT(" %d resource content items in cache\n"), (cache->GetCacheSize()) ));
+    }
     catch(MgException* e)
     {
         STRING message = e->GetDetails(TEST_LOCALE);

Added: sandbox/jng/cmake_v2/cmake/modules/FindCppUnit.cmake
===================================================================
--- sandbox/jng/cmake_v2/cmake/modules/FindCppUnit.cmake	                        (rev 0)
+++ sandbox/jng/cmake_v2/cmake/modules/FindCppUnit.cmake	2018-01-04 09:43:37 UTC (rev 9272)
@@ -0,0 +1,60 @@
+# - Try to find cppunit
+# Once done this will define
+#
+#  CPPUNIT_FOUND - System has cppunit
+#  CPPUNIT_INCLUDE_DIR - The cppunit include directory
+#  CPPUNIT_LIBRARY_DIR - The cppunit library dir
+#  CPPUNIT_LIBRARIES - The libraries needed to use cppunit
+#  CPPUNIT_DEFINITIONS - Compiler switches required for using 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)
+
+IF (NOT WIN32)
+   # use pkg-config to get the directories and then use these values
+   # in the FIND_PATH() and FIND_LIBRARY() calls
+   FIND_PACKAGE(PkgConfig)
+   PKG_CHECK_MODULES(PC_CPPUNIT cppunit)
+   SET(CPPUNIT_DEFINITIONS ${PC_CPPUNIT_CFLAGS_OTHER})
+   SET(CPPUNIT_LIBRARY_DIR ${PC_CPPUNIT_LIBRARY_DIRS})
+ENDIF (NOT WIN32)
+
+FIND_PATH(CPPUNIT_INCLUDE_DIR cppunit/CompilerOutputter.h
+   HINTS
+   ${PC_CPPUNIT_INCLUDEDIR}
+   ${PC_CPPUNIT_INCLUDE_DIRS}
+   PATH_SUFFIXES cppunit
+   )
+
+FIND_LIBRARY(CPPUNIT_LIBRARIES NAMES cppunit
+   HINTS
+   ${PC_CPPUNIT_LIBDIR}
+   ${PC_CPPUNIT_LIBRARY_DIRS}
+   )
+
+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)
+
+IF(CPPUNIT_FOUND)
+	TRY_COMPILE(CPPUNIT_MODERN_API ${CMAKE_BINARY_DIR}
+		${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/TestCmakeVersion.cxx )
+
+	IF(CPPUNIT_MODERN_API)
+		MESSAGE(STATUS "CPPUNIT uses modern API ( > 1.10 )")
+		ADD_DEFINITIONS(-DCPPUNIT_MODERN_API)
+	ENDIF(CPPUNIT_MODERN_API)
+
+	MARK_AS_ADVANCED(CPPUNIT_INCLUDE_DIR CPPUNIT_LIBRARIES CPPUNIT_LIBRARY_DIR)
+ENDIF(CPPUNIT_FOUND)
+

Added: sandbox/jng/cmake_v2/cmake/modules/TestCmakeVersion.cxx
===================================================================
--- sandbox/jng/cmake_v2/cmake/modules/TestCmakeVersion.cxx	                        (rev 0)
+++ sandbox/jng/cmake_v2/cmake/modules/TestCmakeVersion.cxx	2018-01-04 09:43:37 UTC (rev 9272)
@@ -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