Merge Bill Nottingham's 'gmock-trial' into unstable.

This commit is contained in:
John Ralls 2018-04-14 15:52:26 -07:00
commit 518519654c
2 changed files with 21 additions and 12 deletions

View File

@ -149,6 +149,8 @@ FUNCTION(GNC_GTEST_CONFIGURE)
FIND_PATH(GMOCK_INCLUDE_DIR gmock/gmock.h
PATHS ${GMOCK_ROOT}/include /usr/include)
unset(GMOCK_SRC_DIR CACHE)
FIND_LIBRARY(GMOCK_SHARED_LIB gmock)
FIND_LIBRARY(GMOCK_MAIN_LIB gmock_main)
FIND_PATH(GMOCK_SRC_DIR src/gmock-all.cc
PATHS ${GMOCK_ROOT} /usr/src/gmock)
if (GMOCK_SRC_DIR)
@ -160,10 +162,15 @@ FUNCTION(GNC_GTEST_CONFIGURE)
SET(GMOCK_MAIN_SRC_DIR "${GMOCK_SRC_DIR}")
endif()
endif()
if (GMOCK_INCLUDE_DIR AND GMOCK_SRC_DIR)
if (GMOCK_INCLUDE_DIR AND (GMOCK_SHARED_LIB OR GMOCK_SRC_DIR))
SET(GMOCK_FOUND YES PARENT_SCOPE)
SET(GMOCK_SRC "${GMOCK_MAIN_SRC_DIR}/gmock-all.cc" PARENT_SCOPE)
SET(GMOCK_LIB "${CMAKE_BINARY_DIR}/common/test-core/libgmock.a" PARENT_SCOPE)
IF(GMOCK_SHARED_LIB)
SET(GMOCK_LIB "${GMOCK_SHARED_LIB};${GMOCK_MAIN_LIB}" PARENT_SCOPE)
UNSET(GMOCK_SRC_DIR CACHE)
ELSE()
SET(GMOCK_SRC "${GMOCK_MAIN_SRC_DIR}/gmock-all.cc" PARENT_SCOPE)
SET(GMOCK_LIB "${CMAKE_BINARY_DIR}/common/test-core/libgmock.a" PARENT_SCOPE)
ENDIF()
ELSE()
MESSAGE(FATAL_ERROR "GMOCK not found. Please install it or set GMOCK_ROOT")
ENDIF()

View File

@ -75,13 +75,15 @@ IF(NOT GTEST_SHARED_LIB)
ENDIF()
TARGET_INCLUDE_DIRECTORIES(gtest PUBLIC ${GTEST_INCLUDE_DIR} ${GTEST_SRC_DIR})
ENDIF()
SET (lib_gmock_SOURCES ${GMOCK_SRC})
ADD_LIBRARY(gmock STATIC ${lib_gmock_SOURCES})
IF (APPLE)
TARGET_COMPILE_OPTIONS(gmock PRIVATE -Wno-missing-prototypes)
ELSE()
TARGET_COMPILE_OPTIONS(gmock PRIVATE -Wno-missing-declarations)
IF(NOT GMOCK_SHARED_LIB)
SET (lib_gmock_SOURCES ${GMOCK_SRC})
ADD_LIBRARY(gmock STATIC ${lib_gmock_SOURCES})
IF (APPLE)
TARGET_COMPILE_OPTIONS(gmock PRIVATE -Wno-missing-prototypes)
ELSE()
TARGET_COMPILE_OPTIONS(gmock PRIVATE -Wno-missing-declarations)
ENDIF()
TARGET_INCLUDE_DIRECTORIES(gmock PUBLIC
${GTEST_INCLUDE_DIR} ${GTEST_SRC_DIR}
${GMOCK_INCLUDE_DIR} ${GMOCK_SRC_DIR})
ENDIF()
TARGET_INCLUDE_DIRECTORIES(gmock PUBLIC
${GTEST_INCLUDE_DIR} ${GTEST_SRC_DIR}
${GMOCK_INCLUDE_DIR} ${GMOCK_SRC_DIR})