early-access version 2853
This commit is contained in:
23
externals/vcpkg/ports/abseil/fix-32-bit-arm.patch
vendored
Executable file
23
externals/vcpkg/ports/abseil/fix-32-bit-arm.patch
vendored
Executable file
@@ -0,0 +1,23 @@
|
||||
diff --git a/absl/time/internal/cctz/src/zone_info_source.cc b/absl/time/internal/cctz/src/zone_info_source.cc
|
||||
index 7209533..5ab5a59 100644
|
||||
--- a/absl/time/internal/cctz/src/zone_info_source.cc
|
||||
+++ b/absl/time/internal/cctz/src/zone_info_source.cc
|
||||
@@ -65,7 +65,7 @@ ZoneInfoSourceFactory zone_info_source_factory __attribute__((weak)) =
|
||||
extern ZoneInfoSourceFactory zone_info_source_factory;
|
||||
extern ZoneInfoSourceFactory default_factory;
|
||||
ZoneInfoSourceFactory default_factory = DefaultFactory;
|
||||
-#if defined(_M_IX86)
|
||||
+#if defined(_M_IX86) || defined(_M_ARM)
|
||||
#pragma comment( \
|
||||
linker, \
|
||||
"/alternatename:?zone_info_source_factory@cctz_extension@time_internal@" ABSL_INTERNAL_MANGLED_NS \
|
||||
@@ -83,8 +83,7 @@ ZoneInfoSourceFactory default_factory = DefaultFactory;
|
||||
"@@U?$default_delete@VZoneInfoSource@cctz@time_internal@" ABSL_INTERNAL_MANGLED_NS \
|
||||
"@@@std@@@std@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z@" ABSL_INTERNAL_MANGLED_BACKREFERENCE \
|
||||
"@@ZA")
|
||||
-#elif defined(_M_IA_64) || defined(_M_AMD64) || defined(_M_ARM) || \
|
||||
- defined(_M_ARM64)
|
||||
+#elif defined(_M_IA_64) || defined(_M_AMD64) || defined(_M_ARM64)
|
||||
#pragma comment( \
|
||||
linker, \
|
||||
"/alternatename:?zone_info_source_factory@cctz_extension@time_internal@" ABSL_INTERNAL_MANGLED_NS \
|
||||
94
externals/vcpkg/ports/abseil/fix-cxx-standard.patch
vendored
Executable file
94
externals/vcpkg/ports/abseil/fix-cxx-standard.patch
vendored
Executable file
@@ -0,0 +1,94 @@
|
||||
diff --git a/CMake/abslConfig.cmake.in b/CMake/abslConfig.cmake.in
|
||||
index 62d246d..afcec1f 100644
|
||||
--- a/CMake/abslConfig.cmake.in
|
||||
+++ b/CMake/abslConfig.cmake.in
|
||||
@@ -6,3 +6,5 @@ find_dependency(Threads)
|
||||
@PACKAGE_INIT@
|
||||
|
||||
include ("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")
|
||||
+
|
||||
+set(ABSL_USE_CXX17 @ABSL_USE_CXX17@)
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 750a475..239977f 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -67,6 +67,23 @@ else()
|
||||
option(ABSL_ENABLE_INSTALL "Enable install rule" ON)
|
||||
endif()
|
||||
|
||||
+# CXX standard
|
||||
+option(ABSL_USE_CXX17 "Enable CXX 17 standard" OFF)
|
||||
+
|
||||
+if (ABSL_USE_CXX17)
|
||||
+ set(CMAKE_CXX_STANDARD 17)
|
||||
+ set(STD_ANY 1)
|
||||
+ set(STD_OPTIONAL 1)
|
||||
+ set(STD_STRING_VIEW 1)
|
||||
+ set(STD_VARIANT 1)
|
||||
+else()
|
||||
+ set(CMAKE_CXX_STANDARD 11)
|
||||
+ set(STD_ANY 0)
|
||||
+ set(STD_OPTIONAL 0)
|
||||
+ set(STD_STRING_VIEW 0)
|
||||
+ set(STD_VARIANT 0)
|
||||
+endif()
|
||||
+
|
||||
option(ABSL_PROPAGATE_CXX_STD
|
||||
"Use CMake C++ standard meta features (e.g. cxx_std_11) that propagate to targets that link to Abseil"
|
||||
OFF) # TODO: Default to ON for CMake 3.8 and greater.
|
||||
diff --git a/absl/base/CMakeLists.txt b/absl/base/CMakeLists.txt
|
||||
index c7233cb..65a9076 100644
|
||||
--- a/absl/base/CMakeLists.txt
|
||||
+++ b/absl/base/CMakeLists.txt
|
||||
@@ -38,6 +38,11 @@ absl_cc_library(
|
||||
COPTS
|
||||
${ABSL_DEFAULT_COPTS}
|
||||
)
|
||||
+if (NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/options.h.in)
|
||||
+ file(RENAME ${CMAKE_CURRENT_LIST_DIR}/options.h ${CMAKE_CURRENT_LIST_DIR}/options.h.in)
|
||||
+endif()
|
||||
+file(REMOVE ${CMAKE_CURRENT_LIST_DIR}/options.h)
|
||||
+configure_file(${CMAKE_CURRENT_LIST_DIR}/options.h.in ${CMAKE_CURRENT_LIST_DIR}/options.h @ONLY)
|
||||
|
||||
absl_cc_library(
|
||||
NAME
|
||||
diff --git a/absl/base/options.h b/absl/base/options.h
|
||||
index 56b4e36..0b098ed 100644
|
||||
--- a/absl/base/options.h
|
||||
+++ b/absl/base/options.h
|
||||
@@ -100,7 +100,7 @@
|
||||
// User code should not inspect this macro. To check in the preprocessor if
|
||||
// absl::any is a typedef of std::any, use the feature macro ABSL_USES_STD_ANY.
|
||||
|
||||
-#define ABSL_OPTION_USE_STD_ANY 2
|
||||
+#define ABSL_OPTION_USE_STD_ANY @STD_ANY@
|
||||
|
||||
|
||||
// ABSL_OPTION_USE_STD_OPTIONAL
|
||||
@@ -127,7 +127,7 @@
|
||||
// absl::optional is a typedef of std::optional, use the feature macro
|
||||
// ABSL_USES_STD_OPTIONAL.
|
||||
|
||||
-#define ABSL_OPTION_USE_STD_OPTIONAL 2
|
||||
+#define ABSL_OPTION_USE_STD_OPTIONAL @STD_OPTIONAL@
|
||||
|
||||
|
||||
// ABSL_OPTION_USE_STD_STRING_VIEW
|
||||
@@ -154,7 +154,7 @@
|
||||
// absl::string_view is a typedef of std::string_view, use the feature macro
|
||||
// ABSL_USES_STD_STRING_VIEW.
|
||||
|
||||
-#define ABSL_OPTION_USE_STD_STRING_VIEW 2
|
||||
+#define ABSL_OPTION_USE_STD_STRING_VIEW @STD_STRING_VIEW@
|
||||
|
||||
// ABSL_OPTION_USE_STD_VARIANT
|
||||
//
|
||||
@@ -180,7 +180,7 @@
|
||||
// absl::variant is a typedef of std::variant, use the feature macro
|
||||
// ABSL_USES_STD_VARIANT.
|
||||
|
||||
-#define ABSL_OPTION_USE_STD_VARIANT 2
|
||||
+#define ABSL_OPTION_USE_STD_VARIANT @STD_VARIANT@
|
||||
|
||||
|
||||
// ABSL_OPTION_USE_INLINE_NAMESPACE
|
||||
55
externals/vcpkg/ports/abseil/portfile.cmake
vendored
Executable file
55
externals/vcpkg/ports/abseil/portfile.cmake
vendored
Executable file
@@ -0,0 +1,55 @@
|
||||
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 215105818dfde3174fe799600bb0f3cae233d0bf #LTS 20211102, Patch 1
|
||||
SHA512 75d234eac76be8790cf09e3e1144e4b4cf5cacb61e46961a9e4a35b37d0fa85243afdd5de5f47a006ef96af6fc91ecc0c233297c4c32258c08d46304b3361330
|
||||
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)
|
||||
26
externals/vcpkg/ports/abseil/vcpkg.json
vendored
Executable file
26
externals/vcpkg/ports/abseil/vcpkg.json
vendored
Executable file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"name": "abseil",
|
||||
"version-string": "20211102.1",
|
||||
"description": [
|
||||
"an open-source collection designed to augment the C++ standard library.",
|
||||
"Abseil is an open-source collection of C++ library code designed to augment the C++ standard library. The Abseil library code is collected from Google's own C++ code base, has been extensively tested and used in production, and is the same code we depend on in our daily coding lives.",
|
||||
"In some cases, Abseil provides pieces missing from the C++ standard; in others, Abseil provides alternatives to the standard for special needs we've found through usage in the Google code base. We denote those cases clearly within the library code we provide you.",
|
||||
"Abseil is not meant to be a competitor to the standard library; we've just found that many of these utilities serve a purpose within our code base, and we now want to provide those resources to the C++ community as a whole."
|
||||
],
|
||||
"homepage": "https://github.com/abseil/abseil-cpp",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
}
|
||||
],
|
||||
"features": {
|
||||
"cxx17": {
|
||||
"description": "Enable compiler C++17."
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user