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 摘要。