aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkreuzerkrieg <kreuzerkrieg@gmail.com>2020-02-13 00:44:06 +0200
committerGitHub <noreply@github.com>2020-02-12 14:44:06 -0800
commit6abebce350e32c93b31175952d0bb22f2af82f6d (patch)
tree037daae676cce90d9af0a800e012252e8382f36a
parent71a9def3df1cd418a8c00e69413f19507ab25fa8 (diff)
downloadvcpkg-6abebce350e32c93b31175952d0bb22f2af82f6d.tar.gz
vcpkg-6abebce350e32c93b31175952d0bb22f2af82f6d.zip
[farmhash] Add new port (#9929)
* FarmHash, a family of hash functions. * WiP
-rw-r--r--ports/farmhash/CONTROL4
-rw-r--r--ports/farmhash/farmhashConfig.cmake16
-rw-r--r--ports/farmhash/portfile.cmake26
-rw-r--r--ports/farmhash/usage4
-rw-r--r--scripts/ci.baseline.txt6
5 files changed, 56 insertions, 0 deletions
diff --git a/ports/farmhash/CONTROL b/ports/farmhash/CONTROL
new file mode 100644
index 000000000..79cb6849a
--- /dev/null
+++ b/ports/farmhash/CONTROL
@@ -0,0 +1,4 @@
+Source: farmhash
+Version: 1.1
+Homepage: https://github.com/google/farmhash
+Description: FarmHash, a family of hash functions.
diff --git a/ports/farmhash/farmhashConfig.cmake b/ports/farmhash/farmhashConfig.cmake
new file mode 100644
index 000000000..b7b4cd1b0
--- /dev/null
+++ b/ports/farmhash/farmhashConfig.cmake
@@ -0,0 +1,16 @@
+function(set_library_target NAMESPACE LIB_NAME DEBUG_LIB_FILE_NAME RELEASE_LIB_FILE_NAME INCLUDE_DIR)
+ add_library(${NAMESPACE}::${LIB_NAME} STATIC IMPORTED)
+ set_target_properties(${NAMESPACE}::${LIB_NAME} PROPERTIES
+ IMPORTED_CONFIGURATIONS "RELEASE;DEBUG"
+ IMPORTED_LOCATION_RELEASE "${RELEASE_LIB_FILE_NAME}"
+ IMPORTED_LOCATION_DEBUG "${DEBUG_LIB_FILE_NAME}"
+ INTERFACE_INCLUDE_DIRECTORIES "${INCLUDE_DIR}"
+ )
+ set(${NAMESPACE}_${LIB_NAME}_FOUND 1)
+endfunction()
+
+get_filename_component(ROOT "${CMAKE_CURRENT_LIST_FILE}" PATH)
+get_filename_component(ROOT "${ROOT}" PATH)
+get_filename_component(ROOT "${ROOT}" PATH)
+
+set_library_target("GOOGLE" "farmhash" "${ROOT}/debug/lib/libfarmhash.a" "${ROOT}/lib/libfarmhash.a" "${ROOT}/include/")
diff --git a/ports/farmhash/portfile.cmake b/ports/farmhash/portfile.cmake
new file mode 100644
index 000000000..42aa80ceb
--- /dev/null
+++ b/ports/farmhash/portfile.cmake
@@ -0,0 +1,26 @@
+vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "UWP" "Windows")
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO google/farmhash
+ REF 0d859a811870d10f53a594927d0d0b97573ad06d
+ SHA512 7bc14931e488464c1cedbc17551fb90a8cec494d0e0860db9df8efff09000fd8d91e01060dd5c5149b1104ac4ac8bf7eb57e5b156b05ef42636938edad1518f1
+ HEAD_REF master
+)
+
+set(FLAGS "-g -mavx -maes -O3")
+vcpkg_configure_make(
+ SOURCE_PATH ${SOURCE_PATH}
+ AUTOCONFIG
+ OPTIONS
+ CXXFLAGS=${FLAGS}
+)
+
+vcpkg_install_make()
+
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/farmhashConfig.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) \ No newline at end of file
diff --git a/ports/farmhash/usage b/ports/farmhash/usage
new file mode 100644
index 000000000..6ec1706dc
--- /dev/null
+++ b/ports/farmhash/usage
@@ -0,0 +1,4 @@
+The package farmhash is compatible with built-in CMake targets:
+
+ FIND_PACKAGE(farmhash REQUIRED)
+ TARGET_LINK_LIBRARIES(main PRIVATE GOOGLE::farmhash) for linkage \ No newline at end of file
diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt
index 710522cf4..94535e2d0 100644
--- a/scripts/ci.baseline.txt
+++ b/scripts/ci.baseline.txt
@@ -435,6 +435,12 @@ fann:x64-linux=fail
fann:x64-osx=fail
fann:x64-uwp=fail
fann:x64-windows-static=fail
+farmhash:arm64-windows=fail
+farmhash:arm-uwp=fail
+farmhash:x64-uwp=fail
+farmhash:x64-windows=fail
+farmhash:x64-windows-static=fail
+farmhash:x86-windows=fail
fastcdr:x64-linux=fail
fastrtps:arm-uwp=fail
fastrtps:x64-linux=fail