diff --git a/indra/cmake/GoogleMock.cmake b/indra/cmake/GoogleMock.cmake
index 5a00546927d401e7a861bfab473178998fc7984a..58975df62eb4dd9a3ecd4d0df7c0c7107c241437 100644
--- a/indra/cmake/GoogleMock.cmake
+++ b/indra/cmake/GoogleMock.cmake
@@ -4,25 +4,26 @@ include(Linking)
 
 use_prebuilt_binary(googlemock)
 
-set(GOOGLEMOCK_INCLUDE_DIRS
-    ${LIBS_PREBUILT_DIR}/include)
+if( TARGET googlemock::googlemock )
+    return()
+endif()
+create_target( googlemock::googlemock )
+set_target_include_dirs( googlemock::googlemock
+        ${LIBS_PREBUILT_DIR}/include
+        )
 
 if (LINUX)
     # VWR-24366: gmock is underlinked, it needs gtest.
-    set(GOOGLEMOCK_LIBRARIES
-        gmock -Wl,--no-as-needed
-        gtest -Wl,--as-needed)
+    set_target_libraries( googlemock::googlemock gmock gtest)
 elseif(WINDOWS)
-    set(GOOGLEMOCK_LIBRARIES
-        gmock)
-    set(GOOGLEMOCK_INCLUDE_DIRS
-        ${LIBS_PREBUILT_DIR}/include
-        ${LIBS_PREBUILT_DIR}/include/gmock
-        ${LIBS_PREBUILT_DIR}/include/gmock/boost/tr1/tr1)
+    set_target_libraries( googlemock::googlemock gmock)
+    set_target_include_dirs( googlemock::googlemock
+            ${LIBS_PREBUILT_DIR}/include
+            ${LIBS_PREBUILT_DIR}/include/gmock
+            ${LIBS_PREBUILT_DIR}/include/gmock/boost/tr1/tr1 )
+
 elseif(DARWIN)
-    set(GOOGLEMOCK_LIBRARIES
-        gmock
-        gtest)
+    set_target_libraries( googlemock::googlemock gmock gtest)
 endif(LINUX)
 
 
diff --git a/indra/cmake/LLAddBuildTest.cmake b/indra/cmake/LLAddBuildTest.cmake
index 6860b1f316ea8cbbdb098f37cbe798401b533602..1a8003ea7f244356e7c9539e5a3ec84f00349d87 100644
--- a/indra/cmake/LLAddBuildTest.cmake
+++ b/indra/cmake/LLAddBuildTest.cmake
@@ -45,7 +45,7 @@ INCLUDE(GoogleMock)
           )
   SET(alltest_LIBRARIES
           llcommon
-          ${GOOGLEMOCK_LIBRARIES}
+          googlemock::googlemock
           ${PTHREAD_LIBRARY}
           ${WINDOWS_LIBRARIES}
           )
@@ -206,14 +206,11 @@ FUNCTION(LL_ADD_INTEGRATION_TEST
     )
 
   SET(libraries
-    ${LEGACY_STDIO_LIBS}
-    ${library_dependencies}
-    ${BOOST_FIBER_LIBRARY}
-    ${BOOST_CONTEXT_LIBRARY}
-    ${BOOST_SYSTEM_LIBRARY}
-    ${GOOGLEMOCK_LIBRARIES}
-    ${PTHREAD_LIBRARY}
-    )
+          ${LEGACY_STDIO_LIBS}
+          ${library_dependencies}
+          googlemock::googlemock
+          ${PTHREAD_LIBRARY}
+          )
 
   # Add test executable build target
   if(TEST_DEBUG)
diff --git a/indra/llmath/CMakeLists.txt b/indra/llmath/CMakeLists.txt
index c385a4cff6142b1d534811fc73700ad4225bf660..fd7b831719b95f2b2f43cf11e766218747258c2e 100644
--- a/indra/llmath/CMakeLists.txt
+++ b/indra/llmath/CMakeLists.txt
@@ -7,11 +7,6 @@ include(LLCommon)
 include(bugsplat)
 include(Boost)
 
-include_directories(
-    ${LLCOMMON_INCLUDE_DIRS}
-    ${LLCOMMON_SYSTEM_INCLUDE_DIRS}
-    )
-
 set(llmath_SOURCE_FILES
     llbbox.cpp
     llbboxlocal.cpp
diff --git a/indra/test/CMakeLists.txt b/indra/test/CMakeLists.txt
index b607980baed1bb811d999dc9416b1867a7ce231e..6d04c3b76b4740bd2c8dae2aecebe3508b915f1b 100644
--- a/indra/test/CMakeLists.txt
+++ b/indra/test/CMakeLists.txt
@@ -74,6 +74,7 @@ target_link_libraries(lltest
         llxml
         llcommon
         llcorehttp
+        googlemock::googlemock
         ${WINDOWS_LIBRARIES}
         ${DL_LIBRARY}
         )