Fix the linking of various tests against GMock
[folly.git] / CMake / FindGMock.cmake
index d4f615250210e2f4efd26e9285a753cf91b7a245..9078c2c137b24ec4e0d1c1f0491c237df723c115 100755 (executable)
@@ -1,6 +1,7 @@
 #
 # Find libgmock
 #
+#  LIBGMOCK_DEFINES     - List of defines when using libgmock.
 #  LIBGMOCK_INCLUDE_DIR - where to find gmock/gmock.h, etc.
 #  LIBGMOCK_LIBRARY     - List of libraries when using libgmock.
 #  LIBGMOCK_FOUND       - True if libgmock found.
@@ -15,9 +16,14 @@ FIND_PATH(LIBGMOCK_INCLUDE_DIR gmock/gmock.h)
 
 FIND_LIBRARY(LIBGMOCK_LIBRARY gmock_main)
 
+# 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 "")
+
 # handle the QUIETLY and REQUIRED arguments and set LIBGMOCK_FOUND to TRUE if
 # all listed variables are TRUE
 INCLUDE(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBGMOCK DEFAULT_MSG LIBGMOCK_LIBRARY LIBGMOCK_INCLUDE_DIR)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBGMOCK DEFAULT_MSG LIBGMOCK_DEFINES LIBGMOCK_LIBRARY LIBGMOCK_INCLUDE_DIR)
 
-MARK_AS_ADVANCED(LIBGMOCK_LIBRARY LIBGMOCK_INCLUDE_DIR)
+MARK_AS_ADVANCED(LIBGMOCK_DEFINES LIBGMOCK_LIBRARY LIBGMOCK_INCLUDE_DIR)