aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/murmurhash
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/murmurhash')
-rw-r--r--vcpkg/ports/murmurhash/CMakeLists.txt53
-rw-r--r--vcpkg/ports/murmurhash/Config.cmake.in4
-rw-r--r--vcpkg/ports/murmurhash/portfile.cmake23
-rw-r--r--vcpkg/ports/murmurhash/vcpkg.json18
4 files changed, 98 insertions, 0 deletions
diff --git a/vcpkg/ports/murmurhash/CMakeLists.txt b/vcpkg/ports/murmurhash/CMakeLists.txt
new file mode 100644
index 0000000..83ffe81
--- /dev/null
+++ b/vcpkg/ports/murmurhash/CMakeLists.txt
@@ -0,0 +1,53 @@
+cmake_minimum_required(VERSION 3.14)
+
+set(VERSION "1.0.0")
+project(murmurhash LANGUAGES CXX VERSION ${VERSION})
+
+set(CMAKE_CXX_STANDARD 17)
+
+add_library(murmurhash
+ src/MurmurHash2.cpp
+ src/MurmurHash3.cpp
+ )
+
+set(MURMUR_HEADERS
+ src/MurmurHash2.h
+ src/MurmurHash3.h
+ )
+set_target_properties(murmurhash PROPERTIES
+ PUBLIC_HEADER "${MURMUR_HEADERS}"
+ )
+
+#Configuration
+set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated")
+set(config_install_dir "lib/cmake/${PROJECT_NAME}")
+set(version_config "${generated_dir}/${PROJECT_NAME}ConfigVersion.cmake")
+set(project_config "${generated_dir}/${PROJECT_NAME}Config.cmake")
+set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets")
+set(namespace "${PROJECT_NAME}::")
+
+include(CMakePackageConfigHelpers)
+
+write_basic_package_version_file(
+ "${version_config}" COMPATIBILITY SameMajorVersion
+)
+
+configure_package_config_file(
+ "${CMAKE_SOURCE_DIR}/Config.cmake.in"
+ "${project_config}"
+ INSTALL_DESTINATION "${config_install_dir}"
+)
+#Installation
+install(TARGETS murmurhash
+ EXPORT "${TARGETS_EXPORT_NAME}"
+ LIBRARY DESTINATION "lib"
+ ARCHIVE DESTINATION "lib"
+ PUBLIC_HEADER DESTINATION "include")
+
+install(FILES "${project_config}" "${version_config}"
+ DESTINATION "${config_install_dir}"
+ )
+install(EXPORT "${TARGETS_EXPORT_NAME}"
+ NAMESPACE "${namespace}"
+ DESTINATION "${config_install_dir}"
+ ) \ No newline at end of file
diff --git a/vcpkg/ports/murmurhash/Config.cmake.in b/vcpkg/ports/murmurhash/Config.cmake.in
new file mode 100644
index 0000000..38bbde7
--- /dev/null
+++ b/vcpkg/ports/murmurhash/Config.cmake.in
@@ -0,0 +1,4 @@
+@PACKAGE_INIT@
+
+include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake")
+check_required_components("@PROJECT_NAME@")
diff --git a/vcpkg/ports/murmurhash/portfile.cmake b/vcpkg/ports/murmurhash/portfile.cmake
new file mode 100644
index 0000000..bcc3bfb
--- /dev/null
+++ b/vcpkg/ports/murmurhash/portfile.cmake
@@ -0,0 +1,23 @@
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO aappleby/smhasher
+ REF 61a0530f28277f2e850bfc39600ce61d02b518de
+ SHA512 36877b53386153c20421ccd32d544c28ee72f6f13ea37c14ab1a1db378f6463db28339b2149671c12611384497bf595b798e99c34ea0ebceb6f9ef2f8908a2b6
+ HEAD_REF master
+)
+
+configure_file("${CURRENT_PORT_DIR}/CMakeLists.txt" "${SOURCE_PATH}/CMakeLists.txt" COPYONLY)
+configure_file("${CURRENT_PORT_DIR}/Config.cmake.in" "${SOURCE_PATH}/Config.cmake.in" COPYONLY)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT})
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" "MurmurHash3 was written by Austin Appleby, and is placed in the public domain. The author hereby disclaims copyright to this source code.")
diff --git a/vcpkg/ports/murmurhash/vcpkg.json b/vcpkg/ports/murmurhash/vcpkg.json
new file mode 100644
index 0000000..f79ceee
--- /dev/null
+++ b/vcpkg/ports/murmurhash/vcpkg.json
@@ -0,0 +1,18 @@
+{
+ "name": "murmurhash",
+ "version-date": "2016-01-09",
+ "port-version": 7,
+ "description": "MurmurHash a family of hash functions.",
+ "homepage": "https://github.com/aappleby/smhasher",
+ "supports": "!uwp",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}