Package: cmake-extras
Severity: serious
Control: affects -1 googletest

Dear Maintainer,

GMockConfig.cmake doesn't work with googletest/1.8.1-1 in sid.
I'm not sure whether it's bug in googletest or not.

Take ayatana-indicator-power for example, it depends gmock_main target
from GMockConfig.cmake. It will ftbfs with,

cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/tests && /usr/bin/cmake -E 
cmake_link_script CMakeFiles/test-device.dir/link.txt --verbose=1
/usr/bin/c++  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -Wformat -Werror=format-security -Wdate-time 
-D_FORTIFY_SOURCE=2 -std=c++11  -Wall -Wextra -Wpedantic -Wformat=2 
-Wno-missing-field-initializers -Wno-weak-vtables -Wno-global-constructors  
-Wl,-z,relro -Wl,-z,now -rdynamic CMakeFiles/test-device.dir/test-device.cc.o  
-o test-device ../src/libayatanaindicatorpowerservice.a -ldbustest -lglib-2.0 
-lgio-2.0 -lnotify -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 
-lgio-2.0 -lnotify -lgdk_pixbuf-2.0 -lgobject-2.0 gmock/gtest/libgtest.a 
-lpthread gmock/libgmock.a gmock/libgmock_main.a 
/usr/bin/ld: gmock/libgmock_main.a(gmock_main.cc.o): in function `main':
/usr/src/googletest/googlemock/src/gmock_main.cc:52: undefined reference to 
`testing::InitGoogleMock(int*, char**)'


Following is workaround for it, but I'm not expert in cmake...

--- src/GMock/GMockConfig.cmake.orig    2018-10-13 23:01:36.681319674 +0800
+++ src/GMock/GMockConfig.cmake 2018-10-13 23:01:54.405374263 +0800
@@ -77,7 +77,7 @@
 
 add_library(gmock_main INTERFACE)
 target_include_directories(gmock_main INTERFACE ${GMOCK_INCLUDE_DIRS})
-target_link_libraries(gmock_main INTERFACE ${findgmock_gmock_main_lib} gmock)
+target_link_libraries(gmock_main INTERFACE ${findgmock_gmock_main_lib} gmock 
gtest_main)
 
 set(GTEST_LIBRARIES gtest)
 set(GTEST_MAIN_LIBRARIES gtest_main)

 -- 
 Shengjing Zhu

Reply via email to