googletest/cmake/googletestConfig.cmake.in
Dakota Hawkins 759ef7c4e9
Improve CMake exported targets.
I _think_ this represents some of the "best practices" for exporting
targets. They'll be available in a `googletest::` namespace (e.g.
`googletest::gmock`) with non-namespaced `ALIAS` targets.

- Added GOOGLETEST_VERSION variable
- Use `CMakePackageConfigHelpers`, bump minimum CMake version to 2.8.8

Signed-off-by: Dakota Hawkins <dakotahawkins@gmail.com>
2018-08-21 13:02:09 -04:00

36 lines
1.2 KiB
CMake

@PACKAGE_INIT@
set(googletest_BUILD_SHARED_LIBS @BUILD_SHARED_LIBS@)
set(googletest_NAMESPACE_TARGETS)
set(googletest_ALL_INCLUDE_DIRS)
foreach(target @googletest_install_targets@)
include(${CMAKE_CURRENT_LIST_DIR}/${target}ConfigInternal.cmake)
add_library(googletest::${target} INTERFACE IMPORTED)
set_target_properties(googletest::${target}
PROPERTIES
INTERFACE_LINK_LIBRARIES googletest_${target}
IMPORTED_GLOBAL ON)
if(googletest_BUILD_SHARED_LIBS)
set_target_properties(googletest::${target}
PROPERTIES
INTERFACE_COMPILE_DEFINITIONS "GTEST_LINKED_AS_SHARED_LIBRARY=1")
endif()
add_library(${target} ALIAS googletest::${target})
get_target_property(${target}_INCLUDE_DIRS googletest_${target} INTERFACE_INCLUDE_DIRECTORIES)
list(APPEND googletest_ALL_INCLUDE_DIRS ${${target}_INCLUDE_DIRS})
list(APPEND googletest_NAMESPACE_TARGETS googletest::${target})
endforeach()
list(REMOVE_DUPLICATES googletest_ALL_INCLUDE_DIRS)
set(GOOGLETEST_INCLUDE_DIRS ${googletest_ALL_INCLUDE_DIRS})
list(REMOVE_DUPLICATES googletest_NAMESPACE_TARGETS)
set(GOOGLETEST_LIBRARIES ${googletest_NAMESPACE_TARGETS})
set(GOOGLETEST_VERSION "@GOOGLETEST_VERSION@")