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>pull/1682/head
parent
b88511ef64
commit
759ef7c4e9
4 changed files with 122 additions and 20 deletions
@ -0,0 +1,35 @@ |
||||
@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@") |
Loading…
Reference in new issue