diff options
Diffstat (limited to 'vcpkg/ports/farmhash')
| -rw-r--r-- | vcpkg/ports/farmhash/farmhashConfig.cmake | 19 | ||||
| -rw-r--r-- | vcpkg/ports/farmhash/portfile.cmake | 39 | ||||
| -rw-r--r-- | vcpkg/ports/farmhash/usage | 4 | ||||
| -rw-r--r-- | vcpkg/ports/farmhash/vcpkg.json | 9 |
4 files changed, 71 insertions, 0 deletions
diff --git a/vcpkg/ports/farmhash/farmhashConfig.cmake b/vcpkg/ports/farmhash/farmhashConfig.cmake new file mode 100644 index 0000000..e091d5c --- /dev/null +++ b/vcpkg/ports/farmhash/farmhashConfig.cmake @@ -0,0 +1,19 @@ +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/${CMAKE_STATIC_LIBRARY_PREFIX}farmhash${CMAKE_STATIC_LIBRARY_SUFFIX}" + "${ROOT}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}farmhash${CMAKE_STATIC_LIBRARY_SUFFIX}" + "${ROOT}/include/") diff --git a/vcpkg/ports/farmhash/portfile.cmake b/vcpkg/ports/farmhash/portfile.cmake new file mode 100644 index 0000000..dcc594f --- /dev/null +++ b/vcpkg/ports/farmhash/portfile.cmake @@ -0,0 +1,39 @@ +#Requires a compiler which understands '__builtin_unreachable': +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_download_distfile(WIN_PR_PATCH + URLS "https://github.com/google/farmhash/pull/40.diff?full_index=1" + FILENAME farmhash-pr-40.patch + SHA512 a479450e3e2c4810ef67bb0704c30c2779e12a8768524f179235fae8687d064e62ee225b4b167a30fda59c39de40587629813804f452841badf308e1e76607a7 +) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO google/farmhash + REF 0d859a811870d10f53a594927d0d0b97573ad06d + SHA512 7bc14931e488464c1cedbc17551fb90a8cec494d0e0860db9df8efff09000fd8d91e01060dd5c5149b1104ac4ac8bf7eb57e5b156b05ef42636938edad1518f1 + HEAD_REF master + PATCHES ${WIN_PR_PATCH} +) + +if((VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) AND NOT ENV{CXX_FLAGS}) # This should be a compiler check + set(ENV{CXXFLAGS} "-maes -msse4.2") +endif() +file(REMOVE_RECURSE "${SOURCE_PATH}/configure") +vcpkg_configure_make( + AUTOCONFIG + SOURCE_PATH ${SOURCE_PATH} +) +vcpkg_install_make() +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share" # eliminate unused files +) +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}") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/vcpkg/ports/farmhash/usage b/vcpkg/ports/farmhash/usage new file mode 100644 index 0000000..6ec1706 --- /dev/null +++ b/vcpkg/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/vcpkg/ports/farmhash/vcpkg.json b/vcpkg/ports/farmhash/vcpkg.json new file mode 100644 index 0000000..af9bc26 --- /dev/null +++ b/vcpkg/ports/farmhash/vcpkg.json @@ -0,0 +1,9 @@ +{ + "name": "farmhash", + "version": "1.1", + "port-version": 6, + "description": "FarmHash, a family of hash functions.", + "homepage": "https://github.com/google/farmhash", + "license": "MIT", + "supports": "!arm" +} |