You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
So, I'm not a fan of clobbering at all, but I don't see what alternatives to the approach in #61 would be any better:
make libabseil-tests an independent output, not based on libabseil
would mean either being unable to co-install (hard blocker for using libabseil-tests where another dependency in the environment already run-depends on libabseil) or clobbering all artefacts when both end up being co-installed (way more risky IMO than clobbering just the metadata)
package the tests in libabseil proper
would mean we bring a lot of unnecessary stuff along everywhere, and also bump to MacOS 10.13 minimum
make libabseil contain the CMake metadata (and only that) for the test targets
errors would be confusing if your build depends on a test-target (like protobuf), but you only have libabseil installed, because the CMake metadata would be wrong, so we'd get some variation of linker errors or files not found.
might be an elegant solution, but this would need some very convoluted build scripts. It would be a big pain IMO to dynamically come up with the right list of files we'd need to delete for libabseil, after initially building everything with tests enabled.
I think the clobbering introduced in #61 is be the least bad trade-off, especially as it's only going to happen for a really niche build dependency (no-one should ever be run-depending on the test targets).
I ended up merging that PR to make forward progress on protobuf, but happy to implement any decision we come to here.
So, I'm not a fan of clobbering at all, but I don't see what alternatives to the approach in #61 would be any better:
libabseil-tests
an independent output, not based onlibabseil
libabseil-tests
where another dependency in the environment already run-depends onlibabseil
) or clobbering all artefacts when both end up being co-installed (way more risky IMO than clobbering just the metadata)libabseil
properlibabseil
contain the CMake metadata (and only that) for the test targetslibabseil
installed, because the CMake metadata would be wrong, so we'd get some variation of linker errors or files not found.libabseil
, after initially building everything with tests enabled.I think the clobbering introduced in #61 is be the least bad trade-off, especially as it's only going to happen for a really niche build dependency (no-one should ever be run-depending on the test targets).
I ended up merging that PR to make forward progress on protobuf, but happy to implement any decision we come to here.
CC @xhochy @isuruf @hmaarrfk
Originally posted by @h-vetinari in #61 (comment)
The text was updated successfully, but these errors were encountered: