-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Hello everyone,
after some digging we identified the issue to be on our part. We have been using "GTEST_LIBRARY" and "GTEST_MAIN_LIBRARY" in our CMake scripts instead of "GTEST_LIBRARIES" and "GTEST_MAIN_LIBRARIES", as described in the cmake docs: https://cmake.org/cmake/help/v3.16/module/FindGTest.html#result-variables So all good here! :) - -- With best regards Jasper Orschulko DevOps Engineer Tel. +49 30 58 58 14 265 Fax +49 30 58 58 14 999 jasper.orschu...@iris-sensing.com • • • • • • • • • • • • • • • • • • • • • • • • • • iris-GmbH infrared & intelligent sensors Schnellerstraße 1-5 | 12439 Berlin https://iris-sensing.com/ On Thu, 2021-12-09 at 09:32 -1000, Steve Sakoman wrote: > On Thu, Dec 9, 2021 at 7:38 AM Jasper Orschulko > <jasper.orschu...@iris-sensing.com> wrote: > > > > -----BEGIN PGP SIGNED MESSAGE----- > > Hash: SHA256 > > > > Hi, > > > > I can't provide any details yet, but I can say with certainty that > > this > > patch breaks our build (using the parent commit > > 746b301d37f9b7333f3d93e6fb7ea2808665df41 as refspec during > > the build worksasexpected): > > > > [...] undefined reference to `testing::* > > > > Can someone confirm this issue? Feel free to reach out for further > > details. > > I've not seen any issues in either local or autobuilder testing, so I > think we need more details! > > Steve > > > On Fri, 2021-12-03 at 08:19 -1000, Steve Sakoman wrote: > > > From: Eero Aaltonen <eero.aalto...@vaisala.com> > > > > > > `googlemock` has been absorbed into the > > > [googletest](https://github.com/google/googletest) project and is > > > built > > > and installed from the same source tree. > > > > > > `googletest` has provided a CMake Config-file Package starting > > > with > > > GTest 1.8.1. `find_package(GTest ...)` by default dispatches > > > first to > > > CMake Find Module. Starting with CMake commit > > > 2327b4330cce157d616ff8b611b3e77568d00351 in CMake v3.20.0 the > > > module > > > dispatches onward to the Config-file Package so that the same > > > targets > > > are available. In pre v3.20.0 versions of CMake however the Find > > > Module > > > masks the targets provided by the upstream `GTest` package. > > > > > > Update `Modules/FindGTest.cmake` to provide the same targets as > > > the > > > CMake Config-file Package and backwards compatible targets and > > > result > > > variables. > > > > > > Signed-off-by: Eero Aaltonen <eero.aalto...@vaisala.com> > > > Signed-off-by: Steve Sakoman <st...@sakoman.com> > > > --- > > > .../cmake/cmake-native_3.16.5.bb | 1 + > > > ...ndGTest-Add-target-for-gmock-library.patch | 255 > > > ++++++++++++++++++ > > > 2 files changed, 256 insertions(+) > > > create mode 100644 meta/recipes-devtools/cmake/cmake/0006-cmake- > > > FindGTest-Add-target-for-gmock-library.patch > > > > > > diff --git a/meta/recipes-devtools/cmake/cmake-native_3.16.5.bb > > > b/meta/recipes-devtools/cmake/cmake-native_3.16.5.bb > > > index b2952ee5f5..96a7be6770 100644 > > > --- a/meta/recipes-devtools/cmake/cmake-native_3.16.5.bb > > > +++ b/meta/recipes-devtools/cmake/cmake-native_3.16.5.bb > > > @@ -7,6 +7,7 @@ SRC_URI += "file://OEToolchainConfig.cmake \ > > > file://environment.d-cmake.sh \ > > > > > > file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch > > > \ > > > > > > file://0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch > > > \ > > > + > > > file://0006-cmake-FindGTest-Add-target-for-gmock-library.patch \ > > > " > > > > > > > > > diff --git a/meta/recipes-devtools/cmake/cmake/0006-cmake- > > > FindGTest- > > > Add-target-for-gmock-library.patch b/meta/recipes- > > > devtools/cmake/cmake/0006-cmake-FindGTest-Add-target-for-gmock- > > > library.patch > > > new file mode 100644 > > > index 0000000000..267f586a71 > > > --- /dev/null > > > +++ b/meta/recipes-devtools/cmake/cmake/0006-cmake-FindGTest-Add- > > > target-for-gmock-library.patch > > > @@ -0,0 +1,255 @@ > > > +From 39eae0d6c1b398f18761abac7f55944f0290f8a1 Mon Sep 17 > > > 00:00:00 > > > 2001 > > > +From: Eero Aaltonen <eero.aalto...@iki.fi> > > > +Date: Sun, 17 Oct 2021 17:13:07 +0300 > > > +Subject: [PATCH] FindGTest: Add target for gmock library > > > + > > > +`googlemock` has been absorbed into the > > > +[googletest](https://github.com/google/googletest) project and > > > is > > > built > > > +and installed from the same source tree. > > > + > > > +As GTest may be built with or without GMock, skip GMock if it is > > > not > > > +present. > > > + > > > +Do not provide result variables for GMock. They are not > > > provided by > > > +upstream GTest's CMake Package Configuration File. > > > + > > > +Also update the test case to cover linking to `GTest::gmock`. > > > + > > > +The patch was imported from the Kitware git server > > > +(g...@gitlab.kitware.com:cmake/cmake.git) as of commit id > > > +50bf457a0dd857cf976b22c5be7d333493233d1e > > > + > > > +Patch was modified to support upper case variable `GTEST_FOUND`. > > > + > > > +Upstream-Status: Accepted > > > [https://gitlab.kitware.com/cmake/cmake/-/merge_requests/6632] > > > +Milestone: 3.23.0 > > > + > > > +Signed-off-by: Eero Aaltonen <eero.aalto...@vaisala.com> > > > +--- > > > + .../dev/FindGTest-target-for-gmock.rst | 4 + > > > + Modules/FindGTest.cmake | 133 > > > +++++++++++++++--- > > > + Tests/FindGTest/Test/CMakeLists.txt | 4 + > > > + 3 files changed, 121 insertions(+), 20 deletions(-) > > > + create mode 100644 Help/release/dev/FindGTest-target-for- > > > gmock.rst > > > + > > > +diff --git a/Help/release/dev/FindGTest-target-for-gmock.rst > > > b/Help/release/dev/FindGTest-target-for-gmock.rst > > > +new file mode 100644 > > > +index 0000000000..f78242c80e > > > +--- /dev/null > > > ++++ b/Help/release/dev/FindGTest-target-for-gmock.rst > > > +@@ -0,0 +1,4 @@ > > > ++FindGTest-target-for-gmock > > > ++-------------------------- > > > ++ > > > ++* The :module:`FindGTest` module now provides a target for > > > GMock, > > > if found. > > > +diff --git a/Modules/FindGTest.cmake b/Modules/FindGTest.cmake > > > +index e015a9840f..0331049594 100644 > > > +--- a/Modules/FindGTest.cmake > > > ++++ b/Modules/FindGTest.cmake > > > +@@ -7,10 +7,23 @@ FindGTest > > > + > > > + Locate the Google C++ Testing Framework. > > > + > > > ++.. versionadded:: 3.20 > > > ++ Upstream ``GTestConfig.cmake`` is used if possible. > > > ++ > > > + Imported targets > > > + ^^^^^^^^^^^^^^^^ > > > + > > > +-This module defines the following :prop_tgt:`IMPORTED` targets: > > > ++ This module defines the following :prop_tgt:`IMPORTED` > > > targets: > > > ++ > > > ++``GTest::gtest`` > > > ++ The Google Test ``gtest`` library, if found; adds > > > Thread::Thread > > > ++ automatically > > > ++``GTest::gtest_main`` > > > ++ The Google Test ``gtest_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): > > > + > > > + ``GTest::GTest`` > > > + The Google Test ``gtest`` library, if found; adds > > > Thread::Thread > > > +@@ -18,7 +31,6 @@ This module defines the following > > > :prop_tgt:`IMPORTED` targets: > > > + ``GTest::Main`` > > > + The Google Test ``gtest_main`` library, if found > > > + > > > +- > > > + Result variables > > > + ^^^^^^^^^^^^^^^^ > > > + > > > +@@ -146,8 +158,42 @@ function(__gtest_import_library _target > > > _var > > > _config) > > > + endif() > > > + endfunction() > > > + > > > ++function(__gtest_define_backwards_compatible_library_targets) > > > ++ set(GTEST_BOTH_LIBRARIES ${GTEST_LIBRARIES} > > > ${GTEST_MAIN_LIBRARIES} PARENT_SCOPE) > > > ++ > > > ++ # Add targets mapping the same library names as defined in > > > ++ # older versions of CMake's FindGTest > > > ++ if(NOT TARGET GTest::GTest) > > > ++ add_library(GTest::GTest INTERFACE IMPORTED) > > > ++ target_link_libraries(GTest::GTest INTERFACE > > > GTest::gtest) > > > ++ endif() > > > ++ if(NOT TARGET GTest::Main) > > > ++ add_library(GTest::Main INTERFACE IMPORTED) > > > ++ target_link_libraries(GTest::Main INTERFACE > > > GTest::gtest_main) > > > ++ endif() > > > ++endfunction() > > > ++ > > > + # > > > + > > > ++include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs > > > .cma > > > ke) > > > ++ > > > ++# first specifically look for the CMake version of GTest > > > ++find_package(GTest QUIET NO_MODULE) > > > ++ > > > ++# if we found the GTest cmake package then we are done, and > > > ++# can print what we found and return. > > > ++if(GTest_FOUND) > > > ++ set(GTEST_FOUND ${GTest_FOUND}) > > > ++ FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTest HANDLE_COMPONENTS > > > CONFIG_MODE) > > > ++ > > > ++ set(GTEST_LIBRARIES GTest::gtest) > > > ++ set(GTEST_MAIN_LIBRARIES GTest::gtest_main) > > > ++ > > > ++ __gtest_define_backwards_compatible_library_targets() > > > ++ > > > ++ return() > > > ++endif() > > > ++ > > > + if(NOT DEFINED GTEST_MSVC_SEARCH) > > > + set(GTEST_MSVC_SEARCH MD) > > > + endif() > > > +@@ -194,50 +240,97 @@ 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() > > > + > > > +- > > > include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.c > > > make > > > ) > > > + FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTest DEFAULT_MSG > > > GTEST_LIBRARY > > > GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY) > > > + > > > +-if(GTEST_FOUND) > > > ++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) > > > + __gtest_append_debugs(GTEST_MAIN_LIBRARIES > > > GTEST_MAIN_LIBRARY) > > > +- set(GTEST_BOTH_LIBRARIES ${GTEST_LIBRARIES} > > > ${GTEST_MAIN_LIBRARIES}) > > > + > > > + find_package(Threads QUIET) > > > + > > > +- if(NOT TARGET GTest::GTest) > > > ++ if(NOT TARGET GTest::gtest) > > > + __gtest_determine_library_type(GTEST_LIBRARY) > > > +- add_library(GTest::GTest ${GTEST_LIBRARY_TYPE} > > > IMPORTED) > > > ++ add_library(GTest::gtest ${GTEST_LIBRARY_TYPE} > > > IMPORTED) > > > + if(TARGET Threads::Threads) > > > +- set_target_properties(GTest::GTest PROPERTIES > > > ++ set_target_properties(GTest::gtest PROPERTIES > > > + INTERFACE_LINK_LIBRARIES Threads::Threads) > > > + endif() > > > + if(GTEST_LIBRARY_TYPE STREQUAL "SHARED") > > > +- set_target_properties(GTest::GTest PROPERTIES > > > ++ set_target_properties(GTest::gtest PROPERTIES > > > + INTERFACE_COMPILE_DEFINITIONS > > > "GTEST_LINKED_AS_SHARED_LIBRARY=1") > > > + endif() > > > + if(GTEST_INCLUDE_DIRS) > > > +- set_target_properties(GTest::GTest PROPERTIES > > > ++ set_target_properties(GTest::gtest PROPERTIES > > > + INTERFACE_INCLUDE_DIRECTORIES > > > "${GTEST_INCLUDE_DIRS}") > > > + endif() > > > +- __gtest_import_library(GTest::GTest GTEST_LIBRARY "") > > > +- __gtest_import_library(GTest::GTest GTEST_LIBRARY > > > "RELEASE") > > > +- __gtest_import_library(GTest::GTest GTEST_LIBRARY > > > "DEBUG") > > > ++ __gtest_import_library(GTest::gtest GTEST_LIBRARY "") > > > ++ __gtest_import_library(GTest::gtest GTEST_LIBRARY > > > "RELEASE") > > > ++ __gtest_import_library(GTest::gtest GTEST_LIBRARY > > > "DEBUG") > > > + endif() > > > +- if(NOT TARGET GTest::Main) > > > ++ if(NOT TARGET GTest::gtest_main) > > > + __gtest_determine_library_type(GTEST_MAIN_LIBRARY) > > > +- add_library(GTest::Main ${GTEST_MAIN_LIBRARY_TYPE} > > > IMPORTED) > > > +- set_target_properties(GTest::Main PROPERTIES > > > +- INTERFACE_LINK_LIBRARIES "GTest::GTest") > > > +- __gtest_import_library(GTest::Main GTEST_MAIN_LIBRARY > > > "") > > > +- __gtest_import_library(GTest::Main GTEST_MAIN_LIBRARY > > > "RELEASE") > > > +- __gtest_import_library(GTest::Main GTEST_MAIN_LIBRARY > > > "DEBUG") > > > ++ add_library(GTest::gtest_main > > > ${GTEST_MAIN_LIBRARY_TYPE} > > > IMPORTED) > > > ++ set_target_properties(GTest::gtest_main PROPERTIES > > > ++ INTERFACE_LINK_LIBRARIES "GTest::gtest") > > > ++ __gtest_import_library(GTest::gtest_main > > > GTEST_MAIN_LIBRARY > > > "") > > > ++ __gtest_import_library(GTest::gtest_main > > > GTEST_MAIN_LIBRARY > > > "RELEASE") > > > ++ __gtest_import_library(GTest::gtest_main > > > GTEST_MAIN_LIBRARY > > > "DEBUG") > > > ++ endif() > > > ++ > > > ++ __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() > > > +diff --git a/Tests/FindGTest/Test/CMakeLists.txt > > > b/Tests/FindGTest/Test/CMakeLists.txt > > > +index b65b9d28f6..7d3a378a65 100644 > > > +--- a/Tests/FindGTest/Test/CMakeLists.txt > > > ++++ b/Tests/FindGTest/Test/CMakeLists.txt > > > +@@ -12,3 +12,7 @@ add_executable(test_gtest_var main.cxx) > > > + target_include_directories(test_gtest_var PRIVATE > > > ${GTEST_INCLUDE_DIRS}) > > > + target_link_libraries(test_gtest_var PRIVATE > > > ${GTEST_BOTH_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) > > > + add_test(NAME test_gtest_var COMMAND test_gtest_var) > > > ++ > > > ++add_executable(test_gmock_tgt main.cxx) > > > ++target_link_libraries(test_gmock_tgt GTest::gmock_main) > > > ++add_test(NAME test_gmock_tgt COMMAND test_gmock_tgt) > > > +-- > > > +2.17.1 > > > + > > -----BEGIN PGP SIGNATURE----- > > > > iQEzBAEBCAAdFiEE4WyPMIC5Ap4+Ooo1Ygqew07VMNUFAmGyPwAACgkQYgqew07V > > MNU+qwf/a6pDdacJlCGlNha+d2AbkAqiAlC/djP0i5h17mhRhvfZWwvm8DlyXUNL > > oYjhi7y6PvO2H7TTsACey7bBcGBwyikTrpBrloxaa+KDKkG1OIvpzJBlRNGA/PUT > > vZMmDtL6S4E3SuxwBT8P/ShH+RSijJDWVq+9UgNz6jyuNIx4lSVU9lVTACNpN4Mj > > PI5YXl3g6HZA364UnEZ+KFKwoc5Ihm5U71KkKKekNaOVNf4rzkcwy8bQFc0WyH42 > > 4N/sPDByu/8INnabZm04ypqIOAMGOKsLjuZqvy2PeFiBoXCRsxJD9SF6iFFVeuuc > > /lP9iIFOIHxUFkeopGvLH7ol8YQtow== > > =72K+ > > -----END PGP SIGNATURE----- > > > > > > -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEE4WyPMIC5Ap4+Ooo1Ygqew07VMNUFAmGzoSAACgkQYgqew07V MNUawAf/aoqsdt2f0at05sKUMQRvby+wwBdq+0MnSzQvnkalYZmqVWu9EmVobIaL PgZyzhBFaCMhiKA80sirEqDwippgOyVMtydaXJBNhztCnsyg2pbmouaOZsmjeJ/L bCbJhK+z3eaXzDivZ37/5oIs97hynTgeanJlpowsuE6FXEX8Q8hU7vPjhVjGTeIE wKEGDqDJUMwrmaSmDf+pQcikE5TmsOZyGS006c6S6FmpifImzwM8J/sxmOWtTaN1 EmDGj7h7lsG3+v7XkOODTdDn0Teoe61x0uIfPqvK35ig8V6SP/ylwKF81zK248d/ TWMB7wqyaL6+9gkqvreG96h4eFY6JQ== =+DGS -----END PGP SIGNATURE-----
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#159557): https://lists.openembedded.org/g/openembedded-core/message/159557 Mute This Topic: https://lists.openembedded.org/mt/87483225/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-