abseil / abseil/abseil-cpp

[Bug]: Unusable for installable projects whose other dependencies also define a `check` target

未关闭
#1,641 4 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
C++
星标
18.1k
派生
3.2k
平均合并
20 小时 36 分钟
30 天内合并 PR
1

描述

### Describe the issue

I am working on a project that depends on LLVM. LLVM uses installable targets (using CMake's `install` command), which forces my project to do the same. If I want to use `abseil-cpp` or any project that depends on it, I thus need to set `ABSL_ENABLE_INSTALL=ON`.

Furthermore, LLVM also defines a `check` target in its CMake files. This clashes with the `check` target of Abseil.

This only happens with `ABSL_ENABLE_INSTALL=ON`. Otherwise, the target names are prefixed with `absl_`, see the [definition of `absl_cc_library`](https://github.com/abseil/abseil-cpp/blob/16e2195/CMake/AbseilHelpers.cmake#L98-L102).

### Steps to reproduce the problem

-

### What version of Abseil are you using?

Any version from about four years ago until today.

### What operating system and version are you using?

Any.

### What compiler and version are you using?

Any.

### What build system are you using?

Any version of CMake older than 2.6.0.

### Additional context

Of course, the clash is also due to to LLVM using a non-prefixed target name. However, I'd argue that this doesn't absolve `abseil-cpp` from being well-behaved and prefix it's target names as an effort to keep them unique no matter what other project it is used with.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。