mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Allow building against a shared libgmock (an option in gtest-1.8.0).
This commit is contained in:
@@ -149,6 +149,8 @@ FUNCTION(GNC_GTEST_CONFIGURE)
|
|||||||
FIND_PATH(GMOCK_INCLUDE_DIR gmock/gmock.h
|
FIND_PATH(GMOCK_INCLUDE_DIR gmock/gmock.h
|
||||||
PATHS ${GMOCK_ROOT}/include /usr/include)
|
PATHS ${GMOCK_ROOT}/include /usr/include)
|
||||||
unset(GMOCK_SRC_DIR CACHE)
|
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
|
FIND_PATH(GMOCK_SRC_DIR src/gmock-all.cc
|
||||||
PATHS ${GMOCK_ROOT} /usr/src/gmock)
|
PATHS ${GMOCK_ROOT} /usr/src/gmock)
|
||||||
if (GMOCK_SRC_DIR)
|
if (GMOCK_SRC_DIR)
|
||||||
@@ -160,10 +162,15 @@ FUNCTION(GNC_GTEST_CONFIGURE)
|
|||||||
SET(GMOCK_MAIN_SRC_DIR "${GMOCK_SRC_DIR}")
|
SET(GMOCK_MAIN_SRC_DIR "${GMOCK_SRC_DIR}")
|
||||||
endif()
|
endif()
|
||||||
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_FOUND YES PARENT_SCOPE)
|
||||||
SET(GMOCK_SRC "${GMOCK_MAIN_SRC_DIR}/gmock-all.cc" PARENT_SCOPE)
|
IF(GMOCK_SHARED_LIB)
|
||||||
SET(GMOCK_LIB "${CMAKE_BINARY_DIR}/common/test-core/libgmock.a" PARENT_SCOPE)
|
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()
|
ELSE()
|
||||||
MESSAGE(FATAL_ERROR "GMOCK not found. Please install it or set GMOCK_ROOT")
|
MESSAGE(FATAL_ERROR "GMOCK not found. Please install it or set GMOCK_ROOT")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|||||||
@@ -75,13 +75,15 @@ IF(NOT GTEST_SHARED_LIB)
|
|||||||
ENDIF()
|
ENDIF()
|
||||||
TARGET_INCLUDE_DIRECTORIES(gtest PUBLIC ${GTEST_INCLUDE_DIR} ${GTEST_SRC_DIR})
|
TARGET_INCLUDE_DIRECTORIES(gtest PUBLIC ${GTEST_INCLUDE_DIR} ${GTEST_SRC_DIR})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
SET (lib_gmock_SOURCES ${GMOCK_SRC})
|
IF(NOT GMOCK_SHARED_LIB)
|
||||||
ADD_LIBRARY(gmock STATIC ${lib_gmock_SOURCES})
|
SET (lib_gmock_SOURCES ${GMOCK_SRC})
|
||||||
IF (APPLE)
|
ADD_LIBRARY(gmock STATIC ${lib_gmock_SOURCES})
|
||||||
TARGET_COMPILE_OPTIONS(gmock PRIVATE -Wno-missing-prototypes)
|
IF (APPLE)
|
||||||
ELSE()
|
TARGET_COMPILE_OPTIONS(gmock PRIVATE -Wno-missing-prototypes)
|
||||||
TARGET_COMPILE_OPTIONS(gmock PRIVATE -Wno-missing-declarations)
|
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()
|
ENDIF()
|
||||||
TARGET_INCLUDE_DIRECTORIES(gmock PUBLIC
|
|
||||||
${GTEST_INCLUDE_DIR} ${GTEST_SRC_DIR}
|
|
||||||
${GMOCK_INCLUDE_DIR} ${GMOCK_SRC_DIR})
|
|
||||||
|
|||||||
Reference in New Issue
Block a user