From 9eda56a328e102b7c5de132dd862d5fbfcefde0c Mon Sep 17 00:00:00 2001
From: Pete Peterson <petersonpf@ornl.gov>
Date: Fri, 10 Feb 2017 08:31:17 -0500
Subject: [PATCH] Switch back to cmake variables

---
 Framework/API/test/CMakeLists.txt             |  2 +-
 Framework/Algorithms/test/CMakeLists.txt      |  2 +-
 Framework/Beamline/test/CMakeLists.txt        |  2 +-
 Framework/Crystal/test/CMakeLists.txt         |  2 +-
 Framework/CurveFitting/test/CMakeLists.txt    |  2 +-
 Framework/DataObjects/test/CMakeLists.txt     |  2 +-
 Framework/Geometry/test/CMakeLists.txt        |  2 +-
 Framework/HistogramData/test/CMakeLists.txt   |  2 +-
 Framework/Indexing/test/CMakeLists.txt        |  2 +-
 Framework/Kernel/test/CMakeLists.txt          |  2 +-
 Framework/MDAlgorithms/test/CMakeLists.txt    |  2 +-
 .../RemoteAlgorithms/test/CMakeLists.txt      |  2 +-
 .../RemoteJobManagers/test/CMakeLists.txt     |  2 +-
 Framework/SINQ/test/CMakeLists.txt            |  2 +-
 .../ScriptRepository/test/CMakeLists.txt      |  2 +-
 Framework/Types/test/CMakeLists.txt           |  2 +-
 MantidQt/API/test/CMakeLists.txt              |  2 +-
 MantidQt/CustomInterfaces/test/CMakeLists.txt |  2 +-
 MantidQt/MantidWidgets/test/CMakeLists.txt    |  2 +-
 MantidQt/SliceViewer/CMakeLists.txt           |  2 +-
 MantidQt/SliceViewer/test/CMakeLists.txt      |  2 +-
 Vates/VatesAPI/CMakeLists.txt                 |  2 +-
 .../VatesSimpleGui/ViewWidgets/CMakeLists.txt |  2 +-
 buildconfig/CMake/FindGMock.cmake             | 21 +++++++++++++++++--
 24 files changed, 42 insertions(+), 25 deletions(-)

diff --git a/Framework/API/test/CMakeLists.txt b/Framework/API/test/CMakeLists.txt
index b1becc957c6..05e00d44fb3 100644
--- a/Framework/API/test/CMakeLists.txt
+++ b/Framework/API/test/CMakeLists.txt
@@ -25,7 +25,7 @@ if ( CXXTEST_FOUND )
             ${Boost_LIBRARIES}
             ${POCO_LIBRARIES}
             ${MUPARSER_LIBRARIES}
-            gmock )
+            ${GMOCK_LIBRARIES} )
 
   add_dependencies ( FrameworkTests APITest )
   # Test data
diff --git a/Framework/Algorithms/test/CMakeLists.txt b/Framework/Algorithms/test/CMakeLists.txt
index ea6b5592b5c..afbb274d996 100644
--- a/Framework/Algorithms/test/CMakeLists.txt
+++ b/Framework/Algorithms/test/CMakeLists.txt
@@ -51,7 +51,7 @@ if ( CXXTEST_FOUND )
             Nexus
             ${Boost_LIBRARIES}
             ${POCO_LIBRARIES}
-            gmock )
+            ${GMOCK_LIBRARIES} )
   add_dependencies ( AlgorithmsTest Crystal CurveFitting )
   add_dependencies ( FrameworkTests AlgorithmsTest )
   # Test data
diff --git a/Framework/Beamline/test/CMakeLists.txt b/Framework/Beamline/test/CMakeLists.txt
index e4c4b93c310..d216fa8efa3 100644
--- a/Framework/Beamline/test/CMakeLists.txt
+++ b/Framework/Beamline/test/CMakeLists.txt
@@ -5,7 +5,7 @@ if ( CXXTEST_FOUND )
   target_link_libraries( BeamlineTest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME}
     Beamline
     ${Boost_LIBRARIES}
-    gmock )
+    ${GMOCK_LIBRARIES} )
 
   add_dependencies ( FrameworkTests BeamlineTest )
   # Add to the 'FrameworkTests' group in VS
diff --git a/Framework/Crystal/test/CMakeLists.txt b/Framework/Crystal/test/CMakeLists.txt
index 56709c29ea6..5c69a7f7994 100644
--- a/Framework/Crystal/test/CMakeLists.txt
+++ b/Framework/Crystal/test/CMakeLists.txt
@@ -22,7 +22,7 @@ if ( CXXTEST_FOUND )
             MDAlgorithms
             ${Boost_LIBRARIES}
             ${POCO_LIBRARIES}
-            gmock )
+            ${GMOCK_LIBRARIES} )
   add_dependencies ( CrystalTest Algorithms CurveFitting )
   add_dependencies ( FrameworkTests CrystalTest )
   # Test data
diff --git a/Framework/CurveFitting/test/CMakeLists.txt b/Framework/CurveFitting/test/CMakeLists.txt
index 6b920c01f3e..9a850ccc050 100644
--- a/Framework/CurveFitting/test/CMakeLists.txt
+++ b/Framework/CurveFitting/test/CMakeLists.txt
@@ -24,7 +24,7 @@ if ( CXXTEST_FOUND )
             ${GSL_LIBRARIES}
             ${Boost_LIBRARIES}
             ${POCO_LIBRARIES}
-            gmock)
+            ${GMOCK_LIBRARIES} )
   add_dependencies ( CurveFittingTest Algorithms )
   add_dependencies ( FrameworkTests CurveFittingTest )
   # Test data
diff --git a/Framework/DataObjects/test/CMakeLists.txt b/Framework/DataObjects/test/CMakeLists.txt
index f5ef54e028e..692e14bfa61 100644
--- a/Framework/DataObjects/test/CMakeLists.txt
+++ b/Framework/DataObjects/test/CMakeLists.txt
@@ -27,7 +27,7 @@ if ( CXXTEST_FOUND )
             ${JSONCPP_LIBRARIES}
             ${Boost_LIBRARIES}
             ${POCO_LIBRARIES}
-            gmock )
+            ${GMOCK_LIBRARIES} )
   # Specify implicit dependency, but don't link to it
   add_dependencies ( FrameworkTests DataObjectsTest )
   # Add to the 'FrameworkTests' group in VS
diff --git a/Framework/Geometry/test/CMakeLists.txt b/Framework/Geometry/test/CMakeLists.txt
index cb748e4c09d..71d8b7e8c1c 100644
--- a/Framework/Geometry/test/CMakeLists.txt
+++ b/Framework/Geometry/test/CMakeLists.txt
@@ -20,7 +20,7 @@ if ( CXXTEST_FOUND )
             ${GSL_LIBRARIES}
             ${Boost_LIBRARIES}
             ${POCO_LIBRARIES}
-            gmock )
+            ${GMOCK_LIBRARIES} )
 
   add_dependencies ( FrameworkTests GeometryTest )
   # Add to the 'FrameworkTests' group in VS
diff --git a/Framework/HistogramData/test/CMakeLists.txt b/Framework/HistogramData/test/CMakeLists.txt
index 8057c0c8c63..a5a9c1817e6 100644
--- a/Framework/HistogramData/test/CMakeLists.txt
+++ b/Framework/HistogramData/test/CMakeLists.txt
@@ -5,7 +5,7 @@ if ( CXXTEST_FOUND )
   target_link_libraries( HistogramDataTest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME}
     HistogramData
     ${Boost_LIBRARIES}
-    gmock )
+    ${GMOCK_LIBRARIES} )
 
   add_dependencies ( FrameworkTests HistogramDataTest )
   # Add to the 'FrameworkTests' group in VS
diff --git a/Framework/Indexing/test/CMakeLists.txt b/Framework/Indexing/test/CMakeLists.txt
index 70e1d9b0f6e..b861bfe8bed 100644
--- a/Framework/Indexing/test/CMakeLists.txt
+++ b/Framework/Indexing/test/CMakeLists.txt
@@ -5,7 +5,7 @@ if ( CXXTEST_FOUND )
   target_link_libraries( IndexingTest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME}
     Indexing
     ${Boost_LIBRARIES}
-    gmock )
+    ${GMOCK_LIBRARIES} )
 
   add_dependencies ( FrameworkTests IndexingTest )
   # Add to the 'FrameworkTests' group in VS
diff --git a/Framework/Kernel/test/CMakeLists.txt b/Framework/Kernel/test/CMakeLists.txt
index f6a79b4db35..5a8db34bbeb 100644
--- a/Framework/Kernel/test/CMakeLists.txt
+++ b/Framework/Kernel/test/CMakeLists.txt
@@ -14,7 +14,7 @@ if ( CXXTEST_FOUND )
             ${NEXUS_LIBRARIES}
             ${Boost_LIBRARIES}
             ${POCO_LIBRARIES}
-            gmock
+            ${GMOCK_LIBRARIES}
             ${JSONCPP_LIBRARIES}
             ${TBB_LIBRARIES}
             ${TBB_MALLOC_LIBRARIES}
diff --git a/Framework/MDAlgorithms/test/CMakeLists.txt b/Framework/MDAlgorithms/test/CMakeLists.txt
index 67fe7686bc1..39603ebb067 100644
--- a/Framework/MDAlgorithms/test/CMakeLists.txt
+++ b/Framework/MDAlgorithms/test/CMakeLists.txt
@@ -28,7 +28,7 @@ if ( CXXTEST_FOUND )
             ${Boost_LIBRARIES}
             ${POCO_LIBRARIES}
             ${MUPARSER_LIBRARIES}
-            gmock
+            ${GMOCK_LIBRARIES}
             ${NEXUS_LIBRARIES}
             ${HDF5_LIBRARIES} )
 
diff --git a/Framework/RemoteAlgorithms/test/CMakeLists.txt b/Framework/RemoteAlgorithms/test/CMakeLists.txt
index 19598925cec..b597f37db0c 100644
--- a/Framework/RemoteAlgorithms/test/CMakeLists.txt
+++ b/Framework/RemoteAlgorithms/test/CMakeLists.txt
@@ -9,7 +9,7 @@ if ( CXXTEST_FOUND )
             RemoteAlgorithms
             ${Boost_LIBRARIES}
             ${POCO_LIBRARIES}
-            gmock )
+            ${GMOCK_LIBRARIES} )
   add_dependencies ( FrameworkTests RemoteAlgorithmsTest )
   # Test data. Not using any for now. Remember to uncomment if data is added for these remote alg. tests
   # add_dependencies ( RemoteAlgorithmsTest StandardTestData )
diff --git a/Framework/RemoteJobManagers/test/CMakeLists.txt b/Framework/RemoteJobManagers/test/CMakeLists.txt
index 786b1a890ac..fc66b01d6de 100644
--- a/Framework/RemoteJobManagers/test/CMakeLists.txt
+++ b/Framework/RemoteJobManagers/test/CMakeLists.txt
@@ -8,7 +8,7 @@ if ( CXXTEST_FOUND )
             RemoteJobManagers
             ${Boost_LIBRARIES}
             ${POCO_LIBRARIES}
-            gmock )
+            ${GMOCK_LIBRARIES} )
   add_dependencies ( FrameworkTests RemoteJobManagersTest )
   # Test data. Not using any for now. Remember to uncomment if data is added for these remote job managers
   # add_dependencies ( RemoteJobManagersTest StandardTestData )
diff --git a/Framework/SINQ/test/CMakeLists.txt b/Framework/SINQ/test/CMakeLists.txt
index ad0eb38d9a2..20a9d10956a 100644
--- a/Framework/SINQ/test/CMakeLists.txt
+++ b/Framework/SINQ/test/CMakeLists.txt
@@ -16,7 +16,7 @@ if ( CXXTEST_FOUND )
             SINQ
             CurveFitting
             ${MANTIDLIBS}
-            gmock )
+            ${GMOCK_LIBRARIES} )
 
   # Test data
   add_dependencies ( PSISINQTest StandardTestData )
diff --git a/Framework/ScriptRepository/test/CMakeLists.txt b/Framework/ScriptRepository/test/CMakeLists.txt
index be55bbca037..24b5adfef37 100644
--- a/Framework/ScriptRepository/test/CMakeLists.txt
+++ b/Framework/ScriptRepository/test/CMakeLists.txt
@@ -11,7 +11,7 @@ if ( CXXTEST_FOUND )
             ScriptRepository
             ${Boost_LIBRARIES}
             ${POCO_LIBRARIES}
-            gmock )
+            ${GMOCK_LIBRARIES} )
 
   add_dependencies ( FrameworkTests ScriptRepositoryTest )
   # Add to the 'FrameworkTests' group in VS
diff --git a/Framework/Types/test/CMakeLists.txt b/Framework/Types/test/CMakeLists.txt
index cc897240132..751e4834b0e 100644
--- a/Framework/Types/test/CMakeLists.txt
+++ b/Framework/Types/test/CMakeLists.txt
@@ -4,7 +4,7 @@ if ( CXXTEST_FOUND )
   cxxtest_add_test ( TypesTest ${TEST_FILES} ${GMOCK_TEST_FILES})
   target_link_libraries( TypesTest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME}
     ${Boost_LIBRARIES}
-    gmock )
+    ${GMOCK_LIBRARIES} )
 
   add_dependencies ( FrameworkTests TypesTest )
   # Add to the 'FrameworkTests' group in VS
diff --git a/MantidQt/API/test/CMakeLists.txt b/MantidQt/API/test/CMakeLists.txt
index 1664ff66064..eb8e92a6b54 100644
--- a/MantidQt/API/test/CMakeLists.txt
+++ b/MantidQt/API/test/CMakeLists.txt
@@ -25,7 +25,7 @@ if ( CXXTEST_FOUND )
             ${QWT_LIBRARIES}
             ${Boost_LIBRARIES}
             ${POCO_LIBRARIES}
-            gmock )
+            ${GMOCK_LIBRARIES} )
     add_dependencies( GUITests MantidQtAPITest )
 
     # Add to the 'UnitTests' group in VS
diff --git a/MantidQt/CustomInterfaces/test/CMakeLists.txt b/MantidQt/CustomInterfaces/test/CMakeLists.txt
index 01f2756fb28..5d5d30c3ce9 100644
--- a/MantidQt/CustomInterfaces/test/CMakeLists.txt
+++ b/MantidQt/CustomInterfaces/test/CMakeLists.txt
@@ -24,7 +24,7 @@ if ( CXXTEST_FOUND )
             ${POCO_LIBRARIES}
             ${QWT_LIBRARIES}
             ${QT_LIBRARIES}
-            gmock )
+            ${GMOCK_LIBRARIES} )
 
   add_dependencies( CustomInterfacesTest MDAlgorithms )
   # Test data
diff --git a/MantidQt/MantidWidgets/test/CMakeLists.txt b/MantidQt/MantidWidgets/test/CMakeLists.txt
index a1edb04c749..bfbac70ad00 100644
--- a/MantidQt/MantidWidgets/test/CMakeLists.txt
+++ b/MantidQt/MantidWidgets/test/CMakeLists.txt
@@ -19,7 +19,7 @@ if ( CXXTEST_FOUND )
             ${QT_LIBRARIES}
             ${Boost_LIBRARIES}
             ${POCO_LIBRARIES}
-            gmock
+            ${GMOCK_LIBRARIES}
             )
 
   # Add to the 'UnitTests' group in VS
diff --git a/MantidQt/SliceViewer/CMakeLists.txt b/MantidQt/SliceViewer/CMakeLists.txt
index 10ecb5a53d5..e6605ffb077 100644
--- a/MantidQt/SliceViewer/CMakeLists.txt
+++ b/MantidQt/SliceViewer/CMakeLists.txt
@@ -200,7 +200,7 @@ if ( CXXTEST_FOUND )
             ${Boost_LIBRARIES}
             ${POCO_LIBRARIES}
             ${QT_LIBRARIES}
-            gmock )
+            ${GMOCK_LIBRARIES} )
 
   add_dependencies( GUITests SliceViewerTest )
   # Add to the 'UnitTests' group in VS
diff --git a/MantidQt/SliceViewer/test/CMakeLists.txt b/MantidQt/SliceViewer/test/CMakeLists.txt
index ec6ef6fa337..5061fd18eeb 100644
--- a/MantidQt/SliceViewer/test/CMakeLists.txt
+++ b/MantidQt/SliceViewer/test/CMakeLists.txt
@@ -26,7 +26,7 @@ if ( CXXTEST_FOUND )
             ${QWT_LIBRARIES}
             ${Boost_LIBRARIES}
             ${POCO_LIBRARIES}
-            gmock )
+            ${GMOCK_LIBRARIES} )
 
     add_dependencies( GUITests SliceViewerTest )
 
diff --git a/Vates/VatesAPI/CMakeLists.txt b/Vates/VatesAPI/CMakeLists.txt
index 5acc60f617b..6c3bc24731c 100644
--- a/Vates/VatesAPI/CMakeLists.txt
+++ b/Vates/VatesAPI/CMakeLists.txt
@@ -267,7 +267,7 @@ target_link_libraries( VatesAPITest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME}
   ${vtkjsoncpp_LIBRARIES}
   ${POCO_LIBRARIES}
   ${Boost_LIBRARIES}
-  gmock
+  ${GMOCK_LIBRARIES}
   ${QWT_LIBRARIES}
   Qt4::QtCore
   )
diff --git a/Vates/VatesSimpleGui/ViewWidgets/CMakeLists.txt b/Vates/VatesSimpleGui/ViewWidgets/CMakeLists.txt
index 677e5985d5e..bd36633fb7e 100644
--- a/Vates/VatesSimpleGui/ViewWidgets/CMakeLists.txt
+++ b/Vates/VatesSimpleGui/ViewWidgets/CMakeLists.txt
@@ -177,7 +177,7 @@ target_link_libraries( VatesSimpleGuiViewWidgetsTest LINK_PRIVATE ${TCMALLOC_LIB
   ${MANTID_SUBPROJECT_LIBS}
   ${POCO_LIBRARIES}
   ${Boost_LIBRARIES}
-  gmock )
+  ${GMOCK_LIBRARIES} )
 
 add_dependencies( AllTests VatesSimpleGuiViewWidgetsTest )
 # Add to the 'UnitTests' group in VS
diff --git a/buildconfig/CMake/FindGMock.cmake b/buildconfig/CMake/FindGMock.cmake
index 753b1012113..39cfb905dec 100644
--- a/buildconfig/CMake/FindGMock.cmake
+++ b/buildconfig/CMake/FindGMock.cmake
@@ -8,7 +8,7 @@ set (gtest_version "1.7.0" CACHE INTERNAL "")
 option(USE_SYSTEM_GTEST "Use the system installed GTest - v${gtest_version}?" OFF)
 
 if(USE_SYSTEM_GTEST)
-  message(STATUS "Using system gtest")
+  message(STATUS "Using system gtest - currently untested")
   find_package(GTest ${gtest_version} EXACT REQUIRED)
   find_package(GMock ${gtest_version} EXACT REQUIRED)
 else()
@@ -51,6 +51,13 @@ else()
                            FOLDER "UnitTests/gmock" )
   endforeach()
 
+  set( GMOCK_LIB gmock )
+  set( GMOCK_LIB_DEBUG gmock )
+  set( GMOCK_LIBRARIES optimized ${GMOCK_LIB} debug ${GMOCK_LIB_DEBUG} )
+  set( GTEST_LIB gtest )
+  set( GTEST_LIB_DEBUG gtest )
+  set( GTEST_LIBRARIES optimized ${GTEST_LIB} debug ${GTEST_LIB_DEBUG} )
+
   find_path ( GMOCK_INCLUDE_DIR gmock/gmock.h
               PATHS ${CMAKE_BINARY_DIR}/googletest-src/gmock/include
               NO_DEFAULT_PATH )
@@ -58,5 +65,15 @@ else()
               PATHS ${CMAKE_BINARY_DIR}/googletest-src/gtest/include
               NO_DEFAULT_PATH )
 
-  mark_as_advanced ( GMOCK_INCLUDE_DIR GTEST_INCLUDE_DIR )
+
+  # handle the QUIETLY and REQUIRED arguments and set GMOCK_FOUND to TRUE if
+  # all listed variables are TRUE
+  include ( FindPackageHandleStandardArgs )
+  find_package_handle_standard_args( GMOCK DEFAULT_MSG GMOCK_INCLUDE_DIR
+    GMOCK_LIBRARIES )
+  find_package_handle_standard_args( GTEST DEFAULT_MSG GTEST_INCLUDE_DIR
+    GTEST_LIBRARIES )
+
+  mark_as_advanced ( GMOCK_INCLUDE_DIR GMOCK_LIB GMOCK_LIB_DEBUG )
+  mark_as_advanced ( GTEST_INCLUDE_DIR GTEST_LIB GTEST_LIB_DEBUG )
 endif()
-- 
GitLab