Googletest: Use add_qtc_library

add_qtc_library makes the code much more readable.

Change-Id: I60b397f3dc19de6911263c0818a25b41ab5a4209
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
Marco Bubke
2023-06-22 10:23:30 +02:00
parent 44565bc39b
commit dfe7789506

View File

@@ -1,29 +1,27 @@
set(GOOGLETEST_DIR ${CMAKE_CURRENT_LIST_DIR}/../3rdparty/googletest)
if (EXISTS "${GOOGLETEST_DIR}/googletest")
add_library(Googletest STATIC
"${GOOGLETEST_DIR}/googletest/src/gtest-all.cc"
"${GOOGLETEST_DIR}/googlemock/src/gmock-all.cc"
)
target_include_directories(Googletest
PUBLIC
"${GOOGLETEST_DIR}/googletest/include"
"${GOOGLETEST_DIR}/googlemock/include"
PRIVATE
"${GOOGLETEST_DIR}/googletest"
"${GOOGLETEST_DIR}/googlemock"
)
set_target_properties(Googletest PROPERTIES AUTOMOC OFF AUTOUIC OFF QT_COMPILE_OPTIONS_DISABLE_WARNINGS ON)
set_property(TARGET Googletest PROPERTY POSITION_INDEPENDENT_CODE ON)
target_link_libraries(Googletest Threads::Threads)
if(EXISTS "${GOOGLETEST_DIR}/googletest")
set(GOOGLETEST_SUBMODULE_IS_CHECKED_OUT YES)
else()
message(STATUS "Googletest was not found. Please update the submodules with `git submodule update --init --recursive`.")
message(STATUS "Otherwise tests that depend on Googletest will be skipped.")
return()
set(GOOGLETEST_SUBMODULE_IS_CHECKED_OUT NO)
endif()
include(FeatureSummary)
set_package_properties(Googletest PROPERTIES
add_qtc_library(Googletest STATIC
CONDITION GOOGLETEST_SUBMODULE_IS_CHECKED_OUT
DEPENDS
Threads::Threads
PUBLIC_INCLUDES
"${GOOGLETEST_DIR}/googletest/include"
"${GOOGLETEST_DIR}/googlemock/include"
INCLUDES
"${GOOGLETEST_DIR}/googletest"
"${GOOGLETEST_DIR}/googlemock"
PROPERTIES
AUTOMOC OFF AUTOUIC OFF QT_COMPILE_OPTIONS_DISABLE_WARNINGS ON
POSITION_INDEPENDENT_CODE ON
URL "https://github.com/google/googletest"
DESCRIPTION "Google Testing and Mocking Framework")
DESCRIPTION "Google Testing and Mocking Framework"
SOURCES
"${GOOGLETEST_DIR}/googletest/src/gtest-all.cc"
"${GOOGLETEST_DIR}/googlemock/src/gmock-all.cc"
)