mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-27 19:09:00 +08:00
[eastl] update to 3.21.12 (#34126)
This commit is contained in:
parent
a9c09401fc
commit
3fad124b61
@ -1,75 +1,78 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index e8700dc..6d3e2f1 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -4,12 +4,17 @@
|
||||
cmake_minimum_required(VERSION 3.1)
|
||||
project(EASTL CXX)
|
||||
|
||||
+include(GNUInstallDirs)
|
||||
+include(CMakePackageConfigHelpers)
|
||||
+
|
||||
#-------------------------------------------------------------------------------------------
|
||||
# Options
|
||||
#-------------------------------------------------------------------------------------------
|
||||
option(EASTL_BUILD_BENCHMARK "Enable generation of build files for benchmark" OFF)
|
||||
option(EASTL_BUILD_TESTS "Enable generation of build files for tests" OFF)
|
||||
|
||||
+find_package(EABase CONFIG REQUIRED)
|
||||
+
|
||||
#-------------------------------------------------------------------------------------------
|
||||
# Compiler Flags
|
||||
#-------------------------------------------------------------------------------------------
|
||||
@@ -41,7 +46,10 @@ add_definitions(-DEASTL_OPENSOURCE=1)
|
||||
#-------------------------------------------------------------------------------------------
|
||||
# Include dirs
|
||||
#-------------------------------------------------------------------------------------------
|
||||
-target_include_directories(EASTL PUBLIC include)
|
||||
+target_include_directories(EASTL PUBLIC
|
||||
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>
|
||||
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||
+ )
|
||||
|
||||
#-------------------------------------------------------------------------------------------
|
||||
# Dependencies
|
||||
@@ -50,5 +58,39 @@ if (NOT TARGET EABase)
|
||||
add_subdirectory(test/packages/EABase)
|
||||
endif()
|
||||
|
||||
-target_link_libraries(EASTL EABase)
|
||||
+target_link_libraries(EASTL PUBLIC EABase)
|
||||
+
|
||||
+# create and install an export set for eabase target as EABase::EABase
|
||||
+set(EASTL_CMAKE_CONFIG_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/EASTL")
|
||||
+
|
||||
+configure_package_config_file(
|
||||
+ EASTLConfig.cmake.in
|
||||
+ ${CMAKE_CURRENT_BINARY_DIR}/EASTLConfig.cmake
|
||||
+ INSTALL_DESTINATION ${EASTL_CMAKE_CONFIG_DESTINATION}
|
||||
+)
|
||||
+
|
||||
+# create and install an export set for Terra target as Terra
|
||||
+install(
|
||||
+ TARGETS EASTL EXPORT EASTLTargets
|
||||
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+)
|
||||
+
|
||||
+
|
||||
+install(EXPORT EASTLTargets DESTINATION ${EASTL_CMAKE_CONFIG_DESTINATION})
|
||||
+
|
||||
+write_basic_package_version_file(
|
||||
+ "${CMAKE_CURRENT_BINARY_DIR}/EASTLConfigVersion.cmake"
|
||||
+ VERSION 3.16.05
|
||||
+ COMPATIBILITY SameMajorVersion
|
||||
+)
|
||||
+
|
||||
+install(TARGETS EASTL LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
|
||||
+install(DIRECTORY "include/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
|
||||
+
|
||||
+install(
|
||||
+ FILES
|
||||
+ "${CMAKE_CURRENT_BINARY_DIR}/EASTLConfig.cmake"
|
||||
+ "${CMAKE_CURRENT_BINARY_DIR}/EASTLConfigVersion.cmake"
|
||||
+ DESTINATION ${EASTL_CMAKE_CONFIG_DESTINATION}
|
||||
+)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index e3eb444..74b4938 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -4,6 +4,9 @@
|
||||
cmake_minimum_required(VERSION 3.1)
|
||||
project(EASTL CXX)
|
||||
|
||||
+include(GNUInstallDirs)
|
||||
+include(CMakePackageConfigHelpers)
|
||||
+
|
||||
#-------------------------------------------------------------------------------------------
|
||||
# Options
|
||||
#-------------------------------------------------------------------------------------------
|
||||
@@ -11,6 +14,8 @@ option(EASTL_BUILD_BENCHMARK "Enable generation of build files for benchmark" OF
|
||||
option(EASTL_BUILD_TESTS "Enable generation of build files for tests" OFF)
|
||||
option(EASTL_STD_ITERATOR_CATEGORY_ENABLED "Enable compatibility with std:: iterator categories" OFF)
|
||||
|
||||
+find_package(EABase CONFIG REQUIRED)
|
||||
+
|
||||
#-------------------------------------------------------------------------------------------
|
||||
# Compiler Flags
|
||||
#-------------------------------------------------------------------------------------------
|
||||
@@ -54,7 +59,10 @@ endif()
|
||||
#-------------------------------------------------------------------------------------------
|
||||
# Include dirs
|
||||
#-------------------------------------------------------------------------------------------
|
||||
-target_include_directories(EASTL PUBLIC include)
|
||||
+target_include_directories(EASTL PUBLIC
|
||||
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>
|
||||
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||
+ )
|
||||
|
||||
#-------------------------------------------------------------------------------------------
|
||||
# Dependencies
|
||||
@@ -63,7 +71,41 @@ if (NOT TARGET EABase)
|
||||
add_subdirectory(test/packages/EABase)
|
||||
endif()
|
||||
|
||||
-target_link_libraries(EASTL EABase)
|
||||
+target_link_libraries(EASTL PUBLIC EABase)
|
||||
+
|
||||
+# create and install an export set for eabase target as EABase::EABase
|
||||
+set(EASTL_CMAKE_CONFIG_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/EASTL")
|
||||
+
|
||||
+configure_package_config_file(
|
||||
+ EASTLConfig.cmake.in
|
||||
+ ${CMAKE_CURRENT_BINARY_DIR}/EASTLConfig.cmake
|
||||
+ INSTALL_DESTINATION ${EASTL_CMAKE_CONFIG_DESTINATION}
|
||||
+)
|
||||
+
|
||||
+# create and install an export set for Terra target as Terra
|
||||
+install(
|
||||
+ TARGETS EASTL EXPORT EASTLTargets
|
||||
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+)
|
||||
+
|
||||
+
|
||||
+install(EXPORT EASTLTargets DESTINATION ${EASTL_CMAKE_CONFIG_DESTINATION})
|
||||
+
|
||||
+write_basic_package_version_file(
|
||||
+ "${CMAKE_CURRENT_BINARY_DIR}/EASTLConfigVersion.cmake"
|
||||
+ VERSION 3.16.05
|
||||
+ COMPATIBILITY SameMajorVersion
|
||||
+)
|
||||
+
|
||||
+install(TARGETS EASTL LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
|
||||
+install(DIRECTORY "include/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
|
||||
+
|
||||
+install(
|
||||
+ FILES
|
||||
+ "${CMAKE_CURRENT_BINARY_DIR}/EASTLConfig.cmake"
|
||||
+ "${CMAKE_CURRENT_BINARY_DIR}/EASTLConfigVersion.cmake"
|
||||
+ DESTINATION ${EASTL_CMAKE_CONFIG_DESTINATION}
|
||||
+)
|
||||
|
||||
#-------------------------------------------------------------------------------------------
|
||||
# Installation
|
14
ports/eastl/0002-fix-error-C2338.patch
Normal file
14
ports/eastl/0002-fix-error-C2338.patch
Normal file
@ -0,0 +1,14 @@
|
||||
diff --git a/scripts/CMake/CommonCppFlags.cmake b/scripts/CMake/CommonCppFlags.cmake
|
||||
index 08b6af5..281665e 100644
|
||||
--- a/scripts/CMake/CommonCppFlags.cmake
|
||||
+++ b/scripts/CMake/CommonCppFlags.cmake
|
||||
@@ -74,6 +74,9 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
||||
endif()
|
||||
elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++latest /W4 /permissive-")
|
||||
+ if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "19.31.30911.95")
|
||||
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:static_assert-")
|
||||
+ endif()
|
||||
endif()
|
||||
|
||||
|
@ -1,88 +0,0 @@
|
||||
diff --git a/include/EASTL/numeric_limits.h b/include/EASTL/numeric_limits.h
|
||||
index e991e7e9..e933c845 100644
|
||||
--- a/include/EASTL/numeric_limits.h
|
||||
+++ b/include/EASTL/numeric_limits.h
|
||||
@@ -1435,6 +1435,19 @@ namespace eastl
|
||||
static value_type round_error()
|
||||
{ return 0.5f; }
|
||||
|
||||
+ #if defined(_MSVC_STL_UPDATE) && _MSVC_STL_UPDATE >= 202206L // If using a recent version of MSVC's STL...
|
||||
+ static value_type infinity()
|
||||
+ { return __builtin_huge_valf(); }
|
||||
+
|
||||
+ static value_type quiet_NaN()
|
||||
+ { return __builtin_nanf("0"); }
|
||||
+
|
||||
+ static value_type signaling_NaN()
|
||||
+ { return __builtin_nansf("1"); }
|
||||
+
|
||||
+ static value_type denorm_min()
|
||||
+ { return FLT_TRUE_MIN; }
|
||||
+ #else
|
||||
static value_type infinity()
|
||||
{ return _CSTD _FInf._Float; }
|
||||
|
||||
@@ -1446,6 +1459,7 @@ namespace eastl
|
||||
|
||||
static value_type denorm_min()
|
||||
{ return _CSTD _FDenorm._Float; }
|
||||
+ #endif
|
||||
|
||||
#endif
|
||||
};
|
||||
@@ -1553,6 +1567,19 @@ namespace eastl
|
||||
static value_type round_error()
|
||||
{ return 0.5f; }
|
||||
|
||||
+ #if defined(_MSVC_STL_UPDATE) && _MSVC_STL_UPDATE >= 202206L // If using a recent version of MSVC's STL...
|
||||
+ static value_type infinity()
|
||||
+ { return __builtin_huge_val(); }
|
||||
+
|
||||
+ static value_type quiet_NaN()
|
||||
+ { return __builtin_nan("0"); }
|
||||
+
|
||||
+ static value_type signaling_NaN()
|
||||
+ { return __builtin_nans("1"); }
|
||||
+
|
||||
+ static value_type denorm_min()
|
||||
+ { return DBL_TRUE_MIN; }
|
||||
+ #else
|
||||
static value_type infinity()
|
||||
{ return _CSTD _Inf._Double; }
|
||||
|
||||
@@ -1564,6 +1591,7 @@ namespace eastl
|
||||
|
||||
static value_type denorm_min()
|
||||
{ return _CSTD _Denorm._Double; }
|
||||
+ #endif
|
||||
|
||||
#endif
|
||||
};
|
||||
@@ -1671,6 +1699,19 @@ namespace eastl
|
||||
static value_type round_error()
|
||||
{ return 0.5f; }
|
||||
|
||||
+ #if defined(_MSVC_STL_UPDATE) && _MSVC_STL_UPDATE >= 202206L // If using a recent version of MSVC's STL...
|
||||
+ static value_type infinity()
|
||||
+ { return __builtin_huge_val(); }
|
||||
+
|
||||
+ static value_type quiet_NaN()
|
||||
+ { return __builtin_nan("0"); }
|
||||
+
|
||||
+ static value_type signaling_NaN()
|
||||
+ { return __builtin_nans("1"); }
|
||||
+
|
||||
+ static value_type denorm_min()
|
||||
+ { return LDBL_TRUE_MIN; }
|
||||
+ #else
|
||||
static value_type infinity()
|
||||
{ return _CSTD _LInf._Long_double; }
|
||||
|
||||
@@ -1682,6 +1723,7 @@ namespace eastl
|
||||
|
||||
static value_type denorm_min()
|
||||
{ return _CSTD _LDenorm._Long_double; }
|
||||
+ #endif
|
||||
|
||||
#endif
|
||||
};
|
@ -3,13 +3,12 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO electronicarts/EASTL
|
||||
REF e8bdd5531ed79c30ccef2fd71e070f5ab9f1222a #v3.18.00
|
||||
SHA512 3e5d97a77b8610a2efdb9156b47c91e8a8dd5629ff95ea6d2c65016b067ab645df5beddc8c7f93d89c3d1a6f404ff71282efc6db9885a6e6240fa444fe2be79c
|
||||
REF "${VERSION}"
|
||||
SHA512 412f894a1d1d0fdcc8f5ae130e977872a8ff243691cf9dfc76a520389f514739511afca63e1aeaaf127132f5dfc3dd482af3e5f80844b5d6d33eae1c68628267
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
fix_cmake_install.patch
|
||||
Fix-error-C2338.patch
|
||||
fix-error-C2039.diff
|
||||
0001-fix-cmake-install.patch
|
||||
0002-fix-error-C2338.patch
|
||||
)
|
||||
|
||||
file(COPY "${CMAKE_CURRENT_LIST_DIR}/EASTLConfig.cmake.in" DESTINATION "${SOURCE_PATH}")
|
||||
|
@ -1,7 +1,6 @@
|
||||
{
|
||||
"name": "eastl",
|
||||
"version-string": "3.18.00",
|
||||
"port-version": 3,
|
||||
"version": "3.21.12",
|
||||
"description": "Electronic Arts Standard Template Library. It is a C++ template library of containers, algorithms, and iterators useful for runtime and tool development across multiple platforms. It is a fairly extensive and robust implementation of such a library and has an emphasis on high performance above all other considerations.",
|
||||
"homepage": "https://github.com/electronicarts/EASTL",
|
||||
"license": "BSD-3-Clause",
|
||||
|
@ -2273,8 +2273,8 @@
|
||||
"port-version": 0
|
||||
},
|
||||
"eastl": {
|
||||
"baseline": "3.18.00",
|
||||
"port-version": 3
|
||||
"baseline": "3.21.12",
|
||||
"port-version": 0
|
||||
},
|
||||
"easycl": {
|
||||
"baseline": "0.3",
|
||||
|
@ -1,5 +1,10 @@
|
||||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "2c5cde8f3324d5cdc8ee405da863177ca8aa7c52",
|
||||
"version": "3.21.12",
|
||||
"port-version": 0
|
||||
},
|
||||
{
|
||||
"git-tree": "1e7b533fac097c3aa75f7b46630ea62f10980f87",
|
||||
"version-string": "3.18.00",
|
||||
|
Loading…
Reference in New Issue
Block a user