gnucash master: One more stab at properly discovering gtest/gmock

Geert Janssens gjanssens at code.gnucash.org
Wed Feb 8 11:19:19 EST 2017


Updated	 via  https://github.com/Gnucash/gnucash/commit/2d451801 (commit)
	from  https://github.com/Gnucash/gnucash/commit/1241b717 (commit)



commit 2d451801e9a425e89f05c2dbe61ed927a5a31cbb
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Wed Feb 8 17:10:35 2017 +0100

    One more stab at properly discovering gtest/gmock
    
    My previous attempt made wrong assumptions on the
    way source files got included in the mock tree.

diff --git a/src/cmake_modules/GncAddTest.cmake b/src/cmake_modules/GncAddTest.cmake
index 22b401b..1a9d7a7 100644
--- a/src/cmake_modules/GncAddTest.cmake
+++ b/src/cmake_modules/GncAddTest.cmake
@@ -116,15 +116,20 @@ FUNCTION(GNC_GTEST_CONFIGURE)
   MESSAGE(STATUS "Checking for GMOCK")
   FIND_PATH(GMOCK_INCLUDE_DIR gmock/gmock.h
     PATHS ${GMOCK_ROOT}/include /usr/include)
-  FIND_PATH(GMOCK_SRC_DIR gmock-all.cc
-    PATHS ${GMOCK_ROOT}/src /usr/src/gmock/src)
-  if (NOT GMOC_SRC_DIR)
+  FIND_PATH(GMOCK_SRC_DIR src/gmock-all.cc
+    PATHS ${GMOCK_ROOT} /usr/src/gmock)
+  if (GMOCK_SRC_DIR)
+    SET(GMOCK_MAIN_SRC_DIR "${GMOCK_SRC_DIR}/src")
+  else()
     FIND_PATH(GMOCK_SRC_DIR gmock-all.cc
       PATHS ${GMOCK_ROOT} /usr/src/gmock)
+    if (GMOCK_SRC_DIR)
+      SET(GMOCK_MAIN_SRC_DIR "${GMOCK_SRC_DIR}")
+    endif()
   endif()
   if (GMOCK_INCLUDE_DIR AND GMOCK_SRC_DIR)
     SET(GMOCK_FOUND YES PARENT_SCOPE)
-    SET(GMOCK_SRC "${GMOCK_SRC_DIR}/gmock_main.cc" PARENT_SCOPE)
+    SET(GMOCK_SRC "${GMOCK_MAIN_SRC_DIR}/gmock-all.cc" PARENT_SCOPE)
     SET(GMOCK_LIB "${CMAKE_BINARY_DIR}/src/test-core/libgmock.a" PARENT_SCOPE)
   ELSE()
     MESSAGE(FATAL_ERROR "GMOCK not found. Please install it or set GMOCK_ROOT")
diff --git a/src/test-core/CMakeLists.txt b/src/test-core/CMakeLists.txt
index 50d85e7..2e65610 100644
--- a/src/test-core/CMakeLists.txt
+++ b/src/test-core/CMakeLists.txt
@@ -70,7 +70,7 @@ IF(NOT GTEST_SHARED_LIB)
   ADD_LIBRARY(gtest STATIC  ${lib_gtest_SOURCES})
   TARGET_INCLUDE_DIRECTORIES(gtest PUBLIC ${GTEST_INCLUDE_DIR} ${GTEST_SRC_DIR})
 ENDIF()
-SET (lib_gmock_SOURCES ${GMOCK_SRC_DIR}/gmock-all.cc)
+SET (lib_gmock_SOURCES ${GMOCK_SRC})
 ADD_LIBRARY(gmock STATIC  ${lib_gmock_SOURCES})
 TARGET_INCLUDE_DIRECTORIES(gmock PUBLIC
   ${GTEST_INCLUDE_DIR} ${GTEST_SRC_DIR}



Summary of changes:
 src/cmake_modules/GncAddTest.cmake | 13 +++++++++----
 src/test-core/CMakeLists.txt       |  2 +-
 2 files changed, 10 insertions(+), 5 deletions(-)



More information about the gnucash-changes mailing list