1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -38,6 +38,7 @@
set(CMAKE_CXX_STANDARD 11)
find_package(Threads)
+find_package(PkgConfig REQUIRED)
include_directories(${CMAKE_BINARY_DIR})
include_directories(${CMAKE_SOURCE_DIR})
@@ -67,13 +68,7 @@
# ------------- Murmur Hash 3 -------------
-add_library(thirdparty_murmur OBJECT
- thirdparty/MurmurHash3/MurmurHash3.cpp
- thirdparty/MurmurHash3/MurmurHash3.h
-)
-set_target_properties(thirdparty_murmur PROPERTIES
- CXX_CLANG_TIDY ""
-)
+pkg_check_modules(MURMURHASH3 REQUIRED libmurmurhash)
# ------------- Main Chuffed Definition -------------
@@ -190,7 +185,6 @@
${VAR_IMPACT_SOURCES}
$<TARGET_OBJECTS:thirdparty_cp_profiler>
- $<TARGET_OBJECTS:thirdparty_murmur>
)
if(CP_PROFILER)
@@ -256,7 +250,7 @@
)
add_executable(fzn-chuffed chuffed/flatzinc/fzn-chuffed.cpp)
-target_link_libraries(fzn-chuffed chuffed_fzn chuffed ${CMAKE_THREAD_LIBS_INIT})
+target_link_libraries(fzn-chuffed chuffed_fzn chuffed ${CMAKE_THREAD_LIBS_INIT} ${MURMURHASH3_LIBRARIES})
# ------------- Chuffed Examples -------------
--- a/chuffed/mdd/circutil.h
+++ b/chuffed/mdd/circutil.h
@@ -37,7 +37,7 @@
struct hash {
unsigned int operator()(const S& s) const {
uint32_t ret;
- MurmurHash3_x86_32(&s, sizeof(S), SEED, &ret);
+ lmmh_x86_32(&s, sizeof(S), SEED, &ret);
return ret;
}
};
--- a/chuffed/mdd/opcache.cpp
+++ b/chuffed/mdd/opcache.cpp
@@ -3,7 +3,7 @@
#include <climits>
#include <cstdlib>
-#include <thirdparty/MurmurHash3/MurmurHash3.h>
+#include <murmurhash.h>
#define USE_MURMURHASH
@@ -39,7 +39,7 @@
#else
uint32_t ret;
cache_sig sig = {(unsigned int)op, a, b};
- MurmurHash3_x86_32(&sig, sizeof(cache_sig), 5381, &ret);
+ lmmh_x86_32(&sig, sizeof(cache_sig), 5381, &ret);
return ret % tablesz;
#endif
}
--- a/chuffed/mdd/weighted_dfa.cpp
+++ b/chuffed/mdd/weighted_dfa.cpp
@@ -3,7 +3,7 @@
#include <algorithm>
#include <cstring>
-#include <thirdparty/MurmurHash3/MurmurHash3.h>
+#include <murmurhash.h>
#define OPCACHE_SZ 100000
@@ -230,6 +230,6 @@
hash = ((hash << 5) + hash) + a1->var;
hash = ((hash << 5) + hash) + a1->sz;
uint32_t ret;
- MurmurHash3_x86_32(&(a1->edges), sizeof(EInfo) * a1->sz, hash, &ret);
+ lmmh_x86_32(&(a1->edges), sizeof(EInfo) * a1->sz, hash, &ret);
return ret;
}
|