diff options
| author | Oliver John Hitchcock <ojhitchcock@gmail.com> | 2020-02-04 22:10:03 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-02-04 14:10:03 -0800 |
| commit | ed863b163c1909bdc33587174f6bb8e9cb170310 (patch) | |
| tree | 8ad801e7d5d7d4509a6803c0a8f813e069c6b5a5 /ports/eastl | |
| parent | 0591528cbfde14ccfd3900c3fb19aba382c05349 (diff) | |
| download | vcpkg-ed863b163c1909bdc33587174f6bb8e9cb170310.tar.gz vcpkg-ed863b163c1909bdc33587174f6bb8e9cb170310.zip | |
[EAThread][EASTL] Added EAThread and modified EASTL (#8861)
* [EAThread][EASTL] Added EAThread and modified EASTL
EABase has now also been seperated from EASTL.
EASTL now copies CommonCppFlags.cmake as it is used by EAThread.
* Fix EABase
* Fix EABASE include for EASTL
* Improve EASTL
Still need to fix
The /debug/lib/cmake folder should be merged with /lib/cmake into /share/eastl
Found 3 error(s). Please correct the portfile:
E:\vcpkg\ports\eastl\portfile.cmake
-- Performing post-build validation done
Error: Building package eastl:x64-windows-static failed with: POST_BUILD_CHECKS_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
Package: eastl:x64-windows-static
Vcpkg version: 2019.09.12-nohash
* Base pass one Thread
* Fix config errors and add `vcpkg_fixup_cmake_targets`
* Add required changes for fails
* x86-windows should also fail
* Revert adding `vcpkg_fail_port_install(ON_TARGET "Windows" ...)`
* Remove `eastl:arm64-windows=fail` from ci.baseline.txt
* Merge CONTROL descriptions into one line
Diffstat (limited to 'ports/eastl')
| -rw-r--r-- | ports/eastl/CONTROL | 6 | ||||
| -rw-r--r-- | ports/eastl/EASTLConfig.cmake.in | 6 | ||||
| -rw-r--r-- | ports/eastl/fix_cmake_install.patch | 70 | ||||
| -rw-r--r-- | ports/eastl/fix_uwp.patch | 13 | ||||
| -rw-r--r-- | ports/eastl/portfile.cmake | 29 |
5 files changed, 80 insertions, 44 deletions
diff --git a/ports/eastl/CONTROL b/ports/eastl/CONTROL index 9a0c698db..2cb7f0009 100644 --- a/ports/eastl/CONTROL +++ b/ports/eastl/CONTROL @@ -1,5 +1,5 @@ Source: eastl
-Version: 3.14.01
+Version: 3.16.01
Homepage: https://github.com/electronicarts/EASTL
-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.
+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.
+Build-Depends: eabase
diff --git a/ports/eastl/EASTLConfig.cmake.in b/ports/eastl/EASTLConfig.cmake.in new file mode 100644 index 000000000..6e1a8ea90 --- /dev/null +++ b/ports/eastl/EASTLConfig.cmake.in @@ -0,0 +1,6 @@ +@PACKAGE_INIT@ + +# Provide path for scripts +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") + +include(${CMAKE_CURRENT_LIST_DIR}/EASTLTargets.cmake)
\ No newline at end of file diff --git a/ports/eastl/fix_cmake_install.patch b/ports/eastl/fix_cmake_install.patch index b67e26f12..3340adb1c 100644 --- a/ports/eastl/fix_cmake_install.patch +++ b/ports/eastl/fix_cmake_install.patch @@ -1,19 +1,71 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
-index b8171cd..c771e77 100644
+index b8171cd..44120cc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -41,6 +41,7 @@ add_definitions(-DEASTL_OPENSOURCE=1)
+@@ -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,10 +46,46 @@ add_definitions(-DEASTL_OPENSOURCE=1)
#-------------------------------------------------------------------------------------------
# Include dirs
#-------------------------------------------------------------------------------------------
-+include_directories(APPEND test/packages)
- target_include_directories(EASTL PUBLIC include)
+-target_include_directories(EASTL PUBLIC include)
++target_include_directories(EASTL PUBLIC
++ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>
++ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
++ )
#-------------------------------------------------------------------------------------------
-@@ -48,3 +49,6 @@ target_include_directories(EASTL PUBLIC include)
+ # Dependencies
#-------------------------------------------------------------------------------------------
- target_link_libraries(EASTL EABase)
+-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.01
++ COMPATIBILITY SameMajorVersion
++)
++
++install(TARGETS EASTL LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
++install(DIRECTORY "include/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
-+install(TARGETS EASTL DESTINATION lib)
-+install(DIRECTORY include/EASTL DESTINATION include)
-+install(DIRECTORY test/packages/EABase DESTINATION include)
++install(
++ FILES
++ "${CMAKE_CURRENT_BINARY_DIR}/EASTLConfig.cmake"
++ "${CMAKE_CURRENT_BINARY_DIR}/EASTLConfigVersion.cmake"
++ DESTINATION ${EASTL_CMAKE_CONFIG_DESTINATION}
++)
diff --git a/ports/eastl/fix_uwp.patch b/ports/eastl/fix_uwp.patch deleted file mode 100644 index 4fd144a13..000000000 --- a/ports/eastl/fix_uwp.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/include/Common/EABase/config/eaplatform.h b/include/Common/EABase/config/eaplatform.h
-index 8b16146..54079ab 100644
---- a/include/Common/EABase/config/eaplatform.h
-+++ b/include/Common/EABase/config/eaplatform.h
-@@ -125,7 +125,7 @@
- #endif
-
-
--#elif defined(EA_PLATFORM_XBOXONE) || defined(_DURANGO) || defined(EA_PLATFORM_CAPILANO) || (defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES || WINAPI_FAMILY == WINAPI_FAMILY_TV_TITLE))
-+#elif defined(EA_PLATFORM_XBOXONE) || defined(_DURANGO) || defined(EA_PLATFORM_CAPILANO) || (defined(WINAPI_FAMILY) && WINAPI_FAMILY && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES || WINAPI_FAMILY == WINAPI_FAMILY_TV_TITLE))
- // XBox One
- // Durango was Microsoft's code-name for the platform, which is now obsolete.
- // Microsoft uses _DURANGO instead of some variation of _XBOX, though it's not natively defined by the compiler.
diff --git a/ports/eastl/portfile.cmake b/ports/eastl/portfile.cmake index fcbe02f7e..922fa2118 100644 --- a/ports/eastl/portfile.cmake +++ b/ports/eastl/portfile.cmake @@ -1,30 +1,16 @@ -include(vcpkg_common_functions)
-
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
- REPO electronicarts/EABase
- REF 6f27a2f7aa21f2d71ae8c6bc1d889d0119677a56
- SHA512 9176fb2d508cf023c3c16c61a511196a2f6af36172145544bba44062a00ca7591e54e4fc16ac13562ef0e2d629b626f398bff3669b4cdb7ba0068548d6a53883
- HEAD_REF master
- PATCHES
- fix_uwp.patch
-)
-
-set(EABASE_PATH ${SOURCE_PATH})
-
-vcpkg_from_github(
- OUT_SOURCE_PATH SOURCE_PATH
REPO electronicarts/EASTL
- REF 3.14.01
- SHA512 efc03bdd4b6371b3fb4b75cac31ce3081290e9177453914a4fbb601d1ba44d65a86f2e98b7b27efbd985f37bd59a80169cf58beb3a32e5b3672ea2a2d6dd78d1
+ REF 3.16.01
+ SHA512 c5c4b6637da5257e6dbbccd293a07691d509bf1310a67aa8b85777a1163f0034874e0638728a54deaa0839320fd919b67a8c9e22461fee6612a76637bb3086bc
HEAD_REF master
PATCHES
fix_cmake_install.patch
)
-file(COPY ${EABASE_PATH}/include/Common/EABase/ DESTINATION ${SOURCE_PATH}/test/packages/EABase)
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/EASTLConfig.cmake.in DESTINATION ${SOURCE_PATH})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
@@ -36,10 +22,15 @@ vcpkg_configure_cmake( vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/EASTL)
+
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
vcpkg_copy_pdbs()
# Handle copyright
-file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/eastl RENAME copyright)
-file(INSTALL ${SOURCE_PATH}/3RDPARTYLICENSES.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/eastl)
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/3RDPARTYLICENSES.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+
+# CommonCppFlags used by EAThread
+file(INSTALL ${SOURCE_PATH}/scripts/CMake/CommonCppFlags.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
|
