vcpkg/ports/abseil/portfile.cmake
Dennis 5f6a2ed8cf
[grpc] Update to 1.49.0 (#26836)
* abseil: Update to 20220623.1

* upb: Update to 2022-06-21

* grpc: Update to 1.49.0

* grpc: Adjust SHA512 for v1.49.0

* abseil: Add license field
2022-09-25 23:11:57 -07:00

56 lines
2.1 KiB
CMake

if (NOT VCPKG_TARGET_IS_WINDOWS)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO abseil/abseil-cpp
REF 8c0b94e793a66495e0b1f34a5eb26bd7dc672db0 # LTS 20220623.1
SHA512 a076c198103dc5cf22ac978fe7754dd34cb2e782d7db1c2c98393c94639e461bfe31b10c0663f750f743bc1c0c245fd4b6115356f136fe14bd036d267caf2a8b
HEAD_REF master
PATCHES
# in C++17 mode, use std::any, std::optional, std::string_view, std::variant
# instead of the library replacement types
# in C++11 mode, force use of library replacement types, otherwise the automatic
# detection can cause ABI issues depending on which compiler options
# are enabled for consuming user code
fix-cxx-standard.patch
)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
cxx17 ABSL_USE_CXX17
)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
DISABLE_PARALLEL_CONFIGURE
OPTIONS ${FEATURE_OPTIONS}
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup(PACKAGE_NAME absl CONFIG_PATH lib/cmake/absl)
vcpkg_fixup_pkgconfig()
vcpkg_copy_pdbs()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share"
"${CURRENT_PACKAGES_DIR}/debug/include"
"${CURRENT_PACKAGES_DIR}/include/absl/copts"
"${CURRENT_PACKAGES_DIR}/include/absl/strings/testdata"
"${CURRENT_PACKAGES_DIR}/include/absl/time/internal/cctz/testdata"
)
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/absl/base/config.h"
"#elif defined(ABSL_CONSUME_DLL)" "#elif 1"
)
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/absl/base/internal/thread_identity.h"
"&& !defined(ABSL_CONSUME_DLL)" "&& 0"
)
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/absl/container/internal/hashtablez_sampler.h"
"!defined(ABSL_CONSUME_DLL)" "0"
)
endif()
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)