Commit a963e277 authored by Adam Simpkins's avatar Adam Simpkins Committed by Facebook Github Bot

cmake: update to work with recent upstream googletest build changes

Summary:
Previously to use gmock you simply needed to link against libgmock_main.
However, googletest pull request #1339 was recently merged into upstream
googletest: https://github.com/google/googletest/pull/1339

These changes now require explicitly linking against libgmock_main, libgmock,
and libgtest.

Reviewed By: yfeldblum

Differential Revision: D6794709

fbshipit-source-id: 03dcccec966e62240987ee0051dfa87be8614cca
parent da420c9a
...@@ -3,10 +3,9 @@ ...@@ -3,10 +3,9 @@
# #
# LIBGMOCK_DEFINES - List of defines when using libgmock. # LIBGMOCK_DEFINES - List of defines when using libgmock.
# LIBGMOCK_INCLUDE_DIR - where to find gmock/gmock.h, etc. # LIBGMOCK_INCLUDE_DIR - where to find gmock/gmock.h, etc.
# LIBGMOCK_LIBRARY - List of libraries when using libgmock. # LIBGMOCK_LIBRARIES - List of libraries when using libgmock.
# LIBGMOCK_FOUND - True if libgmock found. # LIBGMOCK_FOUND - True if libgmock found.
IF (LIBGMOCK_INCLUDE_DIR) IF (LIBGMOCK_INCLUDE_DIR)
# Already in cache, be silent # Already in cache, be silent
SET(LIBGMOCK_FIND_QUIETLY TRUE) SET(LIBGMOCK_FIND_QUIETLY TRUE)
...@@ -14,16 +13,42 @@ ENDIF () ...@@ -14,16 +13,42 @@ ENDIF ()
FIND_PATH(LIBGMOCK_INCLUDE_DIR gmock/gmock.h) FIND_PATH(LIBGMOCK_INCLUDE_DIR gmock/gmock.h)
FIND_LIBRARY(LIBGMOCK_LIBRARY gmock_main) FIND_LIBRARY(LIBGMOCK_MAIN_LIBRARY gmock_main)
FIND_LIBRARY(LIBGMOCK_LIBRARY gmock)
FIND_LIBRARY(LIBGTEST_LIBRARY gtest)
set(LIBGMOCK_LIBRARIES
${LIBGMOCK_MAIN_LIBRARY}
${LIBGMOCK_LIBRARY}
${LIBGTEST_LIBRARY}
)
# There isn't currently an easy way to determine if a library was compiled as if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
# a shared library on Windows, so just assume we've been built against a shared # The GTEST_LINKED_AS_SHARED_LIBRARY macro must be set properly on Windows.
# build of gmock for now. #
SET(LIBGMOCK_DEFINES "GTEST_LINKED_AS_SHARED_LIBRARY=1" CACHE STRING "") # There isn't currently an easy way to determine if a library was compiled as
# a shared library on Windows, so just assume we've been built against a
# shared build of gmock for now.
SET(LIBGMOCK_DEFINES "GTEST_LINKED_AS_SHARED_LIBRARY=1" CACHE STRING "")
endif()
# handle the QUIETLY and REQUIRED arguments and set LIBGMOCK_FOUND to TRUE if # handle the QUIETLY and REQUIRED arguments and set LIBGMOCK_FOUND to TRUE if
# all listed variables are TRUE # all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs) INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBGMOCK DEFAULT_MSG LIBGMOCK_DEFINES LIBGMOCK_LIBRARY LIBGMOCK_INCLUDE_DIR) FIND_PACKAGE_HANDLE_STANDARD_ARGS(
LIBGMOCK
DEFAULT_MSG
LIBGMOCK_MAIN_LIBRARY
LIBGMOCK_LIBRARY
LIBGTEST_LIBRARY
LIBGMOCK_LIBRARIES
LIBGMOCK_INCLUDE_DIR
)
MARK_AS_ADVANCED(LIBGMOCK_DEFINES LIBGMOCK_LIBRARY LIBGMOCK_INCLUDE_DIR) MARK_AS_ADVANCED(
LIBGMOCK_DEFINES
LIBGMOCK_MAIN_LIBRARY
LIBGMOCK_LIBRARY
LIBGTEST_LIBRARY
LIBGMOCK_LIBRARIES
LIBGMOCK_INCLUDE_DIR
)
...@@ -340,7 +340,7 @@ if (BUILD_TESTS) ...@@ -340,7 +340,7 @@ if (BUILD_TESTS)
Boost::thread Boost::thread
follybenchmark follybenchmark
folly folly
${LIBGMOCK_LIBRARY} ${LIBGMOCK_LIBRARIES}
) )
apply_folly_compile_options_to_target(folly_test_support) apply_folly_compile_options_to_target(folly_test_support)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment