]> source.dussan.org Git - rspamd.git/commitdiff
Add SYSTEM_XXHASH cmake option
authorPetr Vaněk <arkamar@atlas.cz>
Wed, 6 Apr 2022 11:46:11 +0000 (13:46 +0200)
committerPetr Vaněk <arkamar@atlas.cz>
Wed, 6 Apr 2022 20:38:30 +0000 (22:38 +0200)
It is now possible to use system xxhash since commits 23889da9ae11
("[Minor] Update bundled xxhash") and 7ad02fc1f7e7 ("[Rework] Use xxh3
as a default hash and fix memory/alignment issues"). Let's give
packagers this possibility with a new SYSTEM_XXHASH option.

CMakeLists.txt

index cff0bc2316a447b1e86237a59338832b262c8de6..d6f5df3c26a4ff3038eed2bcd70744214a893ada 100644 (file)
@@ -60,6 +60,7 @@ OPTION(ENABLE_LUA_REPL     "Enables Lua repl (requires C++11 compiler) [default:
 OPTION(SYSTEM_ZSTD         "Use system zstd instead of bundled one [default: OFF]" OFF)
 OPTION(SYSTEM_FMT          "Use system fmt instead of bundled one [default: OFF]" OFF)
 OPTION(SYSTEM_DOCTEST      "Use system doctest instead of bundled one [default: OFF]" OFF)
+OPTION(SYSTEM_XXHASH       "Use system xxhash instead of bundled one [default: OFF]" OFF)
 
 ############################# INCLUDE SECTION #############################################
 
@@ -111,7 +112,6 @@ INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/"
                "${CMAKE_SOURCE_DIR}/contrib/http-parser"
                "${CMAKE_SOURCE_DIR}/contrib/fpconv"
                "${CMAKE_SOURCE_DIR}/contrib/libottery"
-               "${CMAKE_SOURCE_DIR}/contrib/xxhash"
                "${CMAKE_SOURCE_DIR}/contrib/cdb"
                "${CMAKE_SOURCE_DIR}/contrib/snowball/include"
                "${CMAKE_SOURCE_DIR}/contrib/librdns"
@@ -581,7 +581,13 @@ IF(GLIB_COMPAT)
 ENDIF(GLIB_COMPAT)
 
 
-ADD_SUBDIRECTORY(contrib/xxhash)
+IF(SYSTEM_XXHASH MATCHES "OFF")
+       ADD_SUBDIRECTORY(contrib/xxhash)
+       INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/contrib/xxhash")
+ELSE()
+       ProcessPackage(XXHASH LIBRARY xxhash INCLUDE xxhash.h
+               ROOT ${LIBXXHASH_ROOT_DIR} MODULES xxhash libxxhash)
+ENDIF()
 ADD_SUBDIRECTORY(contrib/cdb)
 ADD_SUBDIRECTORY(contrib/http-parser)
 ADD_SUBDIRECTORY(contrib/fpconv)