abseil-cpp icon indicating copy to clipboard operation
abseil-cpp copied to clipboard

[Bug]: container test_allocator should be skipped if testing is disabled

Open here-abarany opened this issue 1 year ago • 2 comments

Describe the issue

If testing is disabled, I would expect all dependencies on googletest to be removed. However, the internal test_allocator target inside of the container directory still gets created, which expects the GTest::gmock target to exist. As a result, if googletest isn't available, a CMake error will be raised due to the gmock target not existing.

Steps to reproduce the problem

Run CMake with testing disabled on a system without googletest installed.

What version of Abseil are you using?

20240116 (as part of protobuf)

What operating system and version are you using?

Windows 10

What compiler and version are you using?

Microsoft (R) C/C++ Optimizing Compiler Version 19.40.33812 for x86

What build system are you using?

cmake version 3.30.0

Additional context

No response

here-abarany avatar Jul 16 '24 18:07 here-abarany

I'm seeing the same thing. I suspect that a change in a recent version of cmake (possibly 3.30.0) as identical code built with earlier versions of CMake isn't failing.

It seems that the problem is fixed in the main branch, c.f. these issues: https://github.com/open-telemetry/opentelemetry-cpp/issues/2998 https://github.com/abseil/abseil-cpp/pull/1536

Alternatively, commenting out line 215 "GTest::gmock" in absl/container/CMakeLists.txt works.

aiusepsi avatar Jul 17 '24 09:07 aiusepsi

see #1536

jschueller avatar Jul 18 '24 14:07 jschueller

Alternatively, commenting out line 215 "GTest::gmock" in absl/container/CMakeLists.txt works.

Thanks

k0T0z avatar Aug 03 '24 14:08 k0T0z

It looks like this has been fixed.

derekmauro avatar Sep 16 '24 13:09 derekmauro