facebook / facebook/zstd

Support using zstd as cmake subdirectory - proper include directory

オープン
#2,377 コメント 1 件 リアクション 1 件 担当者 0 名 GitHub で見る
build feature request help wanted
主要言語
C
スター
27.9k
フォーク
2.6k
平均マージ
1日 3時間
マージ済み PR(30日)
8

説明

**Is your feature request related to a problem? Please describe.**
I use zstd as git submodule and cmake subdirectory. This introduces necessary cmake target `libzstd_static`. This target does not provide include directory. I need to do workaround:
```
add_subdirectory(zstd-submodule/build/cmake)
target_include_directories(libzstd_static PUBLIC zstd-submodule/lib/) # this shouldn't be necessary
```

**Describe the solution you'd like**
Add following last line (or equivalent):
```
if (ZSTD_BUILD_STATIC)
add_library(libzstd_static STATIC ${Sources} ${Headers})
list(APPEND library_targets libzstd_static)
target_include_directories(libzstd_static PUBLIC ../../../lib)
```
Ditto for shared

Bonus points for moving all includes to `lib/includes/zstd` and adding `lib/includes` as include directory. Then I would include as `#include ` as I do with most libraries that don't want to interfere with one another or don't pretend to be provided by system. As it is now, different library behaving just like zstd can have it's own `common/cpu.h`. If I use both libraries, includes will interfere. That is why it should be differentiated by `#include

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。