[farmhash] Add new port (#9929)

* FarmHash, a family of hash functions.

* WiP
This commit is contained in:
kreuzerkrieg 2020-02-13 00:44:06 +02:00 committed by GitHub
parent 71a9def3df
commit 6abebce350
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 56 additions and 0 deletions

4
ports/farmhash/CONTROL Normal file
View File

@ -0,0 +1,4 @@
Source: farmhash
Version: 1.1
Homepage: https://github.com/google/farmhash
Description: FarmHash, a family of hash functions.

View File

@ -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/")

View File

@ -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})

4
ports/farmhash/usage Normal file
View File

@ -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

View File

@ -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