facebook / facebook/zstd

Support using zstd as cmake subdirectory - proper include directory

Ouverte
#2,377 1 commentaire 1 réaction 0 personnes assignées Voir sur GitHub
build feature request help wanted
Langage dominant
C
Étoiles
27.9k
Forks
2.6k
Merge moyen
1 j 3 h
PR mergées (30 j)
8

Description

**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

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.