facebook / facebook/zstd

Support using zstd as cmake subdirectory - proper include directory

Abierto
#2,377 1 comentario 1 reacción 0 asignados Ver en GitHub
build feature request help wanted
Lenguaje dominante
C
Estrellas
27.9k
Forks
2.6k
Merge medio
1 d 3 h
PR fusionados (30 d)
8

Descripción

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

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.