refactor: replace vendored xxhash.h with CMake FetchContent dependency
Remove 7490-line vendored xxhash.h, use FetchContent to pull xxHash v0.8.3 at CMake configure time (SOURCE_SUBDIR cmake_unofficial). Links as static library via the xxhash target.
This commit is contained in:
+12
-3
@@ -11,6 +11,15 @@ add_compile_options(-Wall -g -O3)
|
|||||||
|
|
||||||
# add_link_options(-fsanitize=address)
|
# add_link_options(-fsanitize=address)
|
||||||
|
|
||||||
|
include(FetchContent)
|
||||||
|
FetchContent_Declare(
|
||||||
|
xxhash
|
||||||
|
GIT_REPOSITORY https://github.com/Cyan4973/xxHash
|
||||||
|
GIT_TAG v0.8.3
|
||||||
|
SOURCE_SUBDIR cmake_unofficial
|
||||||
|
)
|
||||||
|
FetchContent_MakeAvailable(xxhash)
|
||||||
|
|
||||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||||
find_package(Threads REQUIRED)
|
find_package(Threads REQUIRED)
|
||||||
|
|
||||||
@@ -28,13 +37,13 @@ file(GLOB TEST_SRCS "tests/*.c")
|
|||||||
|
|
||||||
add_executable(server ${SERVER_SRCS} ${SHARED_SRCS})
|
add_executable(server ${SERVER_SRCS} ${SHARED_SRCS})
|
||||||
target_include_directories(server PRIVATE src/shared src/server src/client)
|
target_include_directories(server PRIVATE src/shared src/server src/client)
|
||||||
target_link_libraries(server PRIVATE Threads::Threads ${ZSTD_LIBRARY} OpenSSL::SSL OpenSSL::Crypto)
|
target_link_libraries(server PRIVATE Threads::Threads ${ZSTD_LIBRARY} OpenSSL::SSL OpenSSL::Crypto xxhash)
|
||||||
|
|
||||||
add_executable(client ${CLIENT_SRCS} ${SHARED_SRCS})
|
add_executable(client ${CLIENT_SRCS} ${SHARED_SRCS})
|
||||||
target_include_directories(client PRIVATE src/shared src/server src/client)
|
target_include_directories(client PRIVATE src/shared src/server src/client)
|
||||||
target_link_libraries(client PRIVATE Threads::Threads ${ZSTD_LIBRARY} OpenSSL::SSL OpenSSL::Crypto)
|
target_link_libraries(client PRIVATE Threads::Threads ${ZSTD_LIBRARY} OpenSSL::SSL OpenSSL::Crypto xxhash)
|
||||||
|
|
||||||
add_executable(tests ${TEST_SRCS} ${SHARED_SRCS} src/client/scanner.c)
|
add_executable(tests ${TEST_SRCS} ${SHARED_SRCS} src/client/scanner.c)
|
||||||
target_include_directories(tests PRIVATE tests src/shared src/server src/client)
|
target_include_directories(tests PRIVATE tests src/shared src/server src/client)
|
||||||
target_link_libraries(tests PRIVATE Threads::Threads ${ZSTD_LIBRARY} OpenSSL::SSL OpenSSL::Crypto)
|
target_link_libraries(tests PRIVATE Threads::Threads ${ZSTD_LIBRARY} OpenSSL::SSL OpenSSL::Crypto xxhash)
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
#define XXH_STATIC_LINKING_ONLY
|
#define XXH_STATIC_LINKING_ONLY
|
||||||
#define XXH_IMPLEMENTATION
|
#define XXH_IMPLEMENTATION
|
||||||
#include "xxhash.h"
|
#include <xxhash.h>
|
||||||
|
|
||||||
uint32_t delta_adler32(const void *data, uint32_t len) {
|
uint32_t delta_adler32(const void *data, uint32_t len) {
|
||||||
const uint8_t *p = (const uint8_t *)data;
|
const uint8_t *p = (const uint8_t *)data;
|
||||||
|
|||||||
-7490
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user