2024-08-07 05:22:36 +08:00
|
|
|
if(NOT VCPKG_TARGET_IS_WINDOWS)
|
2020-06-11 08:56:46 +08:00
|
|
|
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
|
|
|
endif()
|
2019-05-02 22:57:43 -07:00
|
|
|
|
2017-09-28 11:38:37 -07:00
|
|
|
vcpkg_from_github(
|
|
|
|
OUT_SOURCE_PATH SOURCE_PATH
|
|
|
|
REPO abseil/abseil-cpp
|
2023-08-12 00:45:37 +08:00
|
|
|
REF "${VERSION}"
|
2024-08-07 05:22:36 +08:00
|
|
|
SHA512 bd2cca8f007f2eee66f51c95a979371622b850ceb2ce3608d00ba826f7c494a1da0fba3c1427728f2c173fe50d59b701da35c2c9fdad2752a5a49746b1c8ef31
|
2017-09-28 11:38:37 -07:00
|
|
|
HEAD_REF master
|
2023-03-08 23:44:00 +01:00
|
|
|
)
|
|
|
|
|
2023-02-21 11:28:07 -05:00
|
|
|
# With ABSL_PROPAGATE_CXX_STD=ON abseil automatically detect if it is being
|
|
|
|
# compiled with C++14 or C++17, and modifies the installed `absl/base/options.h`
|
|
|
|
# header accordingly. This works even if CMAKE_CXX_STANDARD is not set. Abseil
|
|
|
|
# uses the compiler default behavior to update `absl/base/options.h` as needed.
|
2024-07-05 19:37:48 +02:00
|
|
|
set(ABSL_USE_CXX17_OPTION "")
|
2024-08-07 05:22:36 +08:00
|
|
|
if("cxx17" IN_LIST FEATURES)
|
2023-02-21 11:28:07 -05:00
|
|
|
set(ABSL_USE_CXX17_OPTION "-DCMAKE_CXX_STANDARD=17")
|
2024-08-07 05:22:36 +08:00
|
|
|
endif()
|
|
|
|
|
|
|
|
set(ABSL_STATIC_RUNTIME_OPTION "")
|
|
|
|
if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_CRT_LINKAGE STREQUAL "static")
|
|
|
|
set(ABSL_STATIC_RUNTIME_OPTION "-DABSL_MSVC_STATIC_RUNTIME=ON")
|
|
|
|
endif()
|
2020-03-28 11:52:58 +08:00
|
|
|
|
2021-11-05 01:47:10 +08:00
|
|
|
vcpkg_cmake_configure(
|
|
|
|
SOURCE_PATH "${SOURCE_PATH}"
|
2020-11-20 11:53:48 -08:00
|
|
|
DISABLE_PARALLEL_CONFIGURE
|
2024-04-25 06:13:32 -07:00
|
|
|
OPTIONS
|
|
|
|
-DABSL_PROPAGATE_CXX_STD=ON
|
|
|
|
${ABSL_USE_CXX17_OPTION}
|
2024-08-07 05:22:36 +08:00
|
|
|
${ABSL_STATIC_RUNTIME_OPTION}
|
2017-09-28 11:38:37 -07:00
|
|
|
)
|
|
|
|
|
2021-11-05 01:47:10 +08:00
|
|
|
vcpkg_cmake_install()
|
|
|
|
vcpkg_cmake_config_fixup(PACKAGE_NAME absl CONFIG_PATH lib/cmake/absl)
|
2021-05-11 09:34:31 +02:00
|
|
|
vcpkg_fixup_pkgconfig()
|
2017-09-28 11:38:37 -07:00
|
|
|
|
|
|
|
vcpkg_copy_pdbs()
|
2021-11-05 01:47:10 +08:00
|
|
|
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"
|
2020-06-24 04:07:02 +08:00
|
|
|
)
|
|
|
|
|
2024-07-05 19:37:48 +02:00
|
|
|
if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
|
|
|
|
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/absl/base/config.h" "defined(ABSL_CONSUME_DLL)" "1")
|
|
|
|
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/absl/base/internal/thread_identity.h" "defined(ABSL_CONSUME_DLL)" "1")
|
2020-06-24 04:07:02 +08:00
|
|
|
endif()
|
2020-03-05 16:01:57 -08:00
|
|
|
|
2023-08-12 00:45:37 +08:00
|
|
|
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
|