mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-03 12:49:50 -05:00
Merge topic 'FindGTest-target-for-gmock'
50bf457a0d FindGTest: Add target for gmock library
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6632
This commit is contained in:
+55
-1
@@ -22,6 +22,14 @@ Imported targets
|
||||
``GTest::gtest_main``
|
||||
The Google Test ``gtest_main`` library, if found
|
||||
|
||||
.. versionadded:: 3.23
|
||||
|
||||
``GTest::gmock``
|
||||
The Google Mock ``gmock`` library, if found; adds Thread::Thread
|
||||
automatically
|
||||
``GTest::gmock_main``
|
||||
The Google Mock ``gmock_main`` library, if found
|
||||
|
||||
.. deprecated:: 3.20
|
||||
For backwards compatibility, this module defines additionally the
|
||||
following deprecated :prop_tgt:`IMPORTED` targets (available since 3.5):
|
||||
@@ -32,7 +40,6 @@ Imported targets
|
||||
``GTest::Main``
|
||||
The Google Test ``gtest_main`` library, if found
|
||||
|
||||
|
||||
Result variables
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
@@ -245,15 +252,29 @@ if(MSVC AND GTEST_MSVC_SEARCH STREQUAL "MD")
|
||||
__gtest_find_library(GTEST_LIBRARY_DEBUG gtest-mdd gtestd)
|
||||
__gtest_find_library(GTEST_MAIN_LIBRARY gtest_main-md gtest_main)
|
||||
__gtest_find_library(GTEST_MAIN_LIBRARY_DEBUG gtest_main-mdd gtest_maind)
|
||||
__gtest_find_library(GMOCK_LIBRARY gmock-md gmock)
|
||||
__gtest_find_library(GMOCK_LIBRARY_DEBUG gmock-mdd gmockd)
|
||||
__gtest_find_library(GMOCK_MAIN_LIBRARY gmock_main-md gmock_main)
|
||||
__gtest_find_library(GMOCK_MAIN_LIBRARY_DEBUG gmock_main-mdd gmock_maind)
|
||||
else()
|
||||
__gtest_find_library(GTEST_LIBRARY gtest)
|
||||
__gtest_find_library(GTEST_LIBRARY_DEBUG gtestd)
|
||||
__gtest_find_library(GTEST_MAIN_LIBRARY gtest_main)
|
||||
__gtest_find_library(GTEST_MAIN_LIBRARY_DEBUG gtest_maind)
|
||||
__gtest_find_library(GMOCK_LIBRARY gmock)
|
||||
__gtest_find_library(GMOCK_LIBRARY_DEBUG gmockd)
|
||||
__gtest_find_library(GMOCK_MAIN_LIBRARY gmock_main)
|
||||
__gtest_find_library(GMOCK_MAIN_LIBRARY_DEBUG gmock_maind)
|
||||
endif()
|
||||
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTest DEFAULT_MSG GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY)
|
||||
|
||||
if(GMOCK_LIBRARY AND GMOCK_MAIN_LIBRARY)
|
||||
set(GMock_FOUND True)
|
||||
else()
|
||||
set(GMock_FOUND False)
|
||||
endif()
|
||||
|
||||
if(GTest_FOUND)
|
||||
set(GTEST_INCLUDE_DIRS ${GTEST_INCLUDE_DIR})
|
||||
__gtest_append_debugs(GTEST_LIBRARIES GTEST_LIBRARY)
|
||||
@@ -292,3 +313,36 @@ if(GTest_FOUND)
|
||||
|
||||
__gtest_define_backwards_compatible_library_targets()
|
||||
endif()
|
||||
|
||||
if(GMock_FOUND)
|
||||
if(NOT TARGET GTest::gmock)
|
||||
__gtest_determine_library_type(GMOCK_LIBRARY)
|
||||
add_library(GTest::gmock ${GMOCK_LIBRARY_TYPE} IMPORTED)
|
||||
set(_gmock_link_libraries "GTest::gtest")
|
||||
if(TARGET Threads::Threads)
|
||||
list(APPEND _gmock_link_libraries Threads::Threads)
|
||||
endif()
|
||||
set_target_properties(GTest::gmock PROPERTIES
|
||||
INTERFACE_LINK_LIBRARIES "${_gmock_link_libraries}")
|
||||
if(GMOCK_LIBRARY_TYPE STREQUAL "SHARED")
|
||||
set_target_properties(GTest::gmock PROPERTIES
|
||||
INTERFACE_COMPILE_DEFINITIONS "GMOCK_LINKED_AS_SHARED_LIBRARY=1")
|
||||
endif()
|
||||
if(GTEST_INCLUDE_DIRS)
|
||||
set_target_properties(GTest::gmock PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIRS}")
|
||||
endif()
|
||||
__gtest_import_library(GTest::gmock GMOCK_LIBRARY "")
|
||||
__gtest_import_library(GTest::gmock GMOCK_LIBRARY "RELEASE")
|
||||
__gtest_import_library(GTest::gmock GMOCK_LIBRARY "DEBUG")
|
||||
endif()
|
||||
if(NOT TARGET GTest::gmock_main)
|
||||
__gtest_determine_library_type(GMOCK_MAIN_LIBRARY)
|
||||
add_library(GTest::gmock_main ${GMOCK_MAIN_LIBRARY_TYPE} IMPORTED)
|
||||
set_target_properties(GTest::gmock_main PROPERTIES
|
||||
INTERFACE_LINK_LIBRARIES "GTest::gmock")
|
||||
__gtest_import_library(GTest::gmock_main GMOCK_MAIN_LIBRARY "")
|
||||
__gtest_import_library(GTest::gmock_main GMOCK_MAIN_LIBRARY "RELEASE")
|
||||
__gtest_import_library(GTest::gmock_main GMOCK_MAIN_LIBRARY "DEBUG")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user