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/eathread | |
| 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/eathread')
| -rw-r--r-- | ports/eathread/CONTROL | 5 | ||||
| -rw-r--r-- | ports/eathread/EAThreadConfig.cmake.in | 6 | ||||
| -rw-r--r-- | ports/eathread/fix_cmake_install.patch | 75 | ||||
| -rw-r--r-- | ports/eathread/portfile.cmake | 33 |
4 files changed, 119 insertions, 0 deletions
diff --git a/ports/eathread/CONTROL b/ports/eathread/CONTROL new file mode 100644 index 000000000..a0eb50176 --- /dev/null +++ b/ports/eathread/CONTROL @@ -0,0 +1,5 @@ +Source: eathread
+Version: 1.32.09
+Homepage: https://github.com/electronicarts/EAThread
+Description: Electronic Arts Thread Library. EAThread implements a unified cross-platform interface for multithreaded programming on various platforms.
+Build-Depends: eabase, eastl
diff --git a/ports/eathread/EAThreadConfig.cmake.in b/ports/eathread/EAThreadConfig.cmake.in new file mode 100644 index 000000000..9ab444e5b --- /dev/null +++ b/ports/eathread/EAThreadConfig.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}/EAThreadTargets.cmake)
\ No newline at end of file diff --git a/ports/eathread/fix_cmake_install.patch b/ports/eathread/fix_cmake_install.patch new file mode 100644 index 000000000..bc3327951 --- /dev/null +++ b/ports/eathread/fix_cmake_install.patch @@ -0,0 +1,75 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 34fc37a..60d201a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -4,15 +4,21 @@ + cmake_minimum_required(VERSION 3.1) + project(EAThread CXX) + ++include(GNUInstallDirs) ++include(CMakePackageConfigHelpers) ++ + #------------------------------------------------------------------------------------------- + # Options + #------------------------------------------------------------------------------------------- + option(EATHREAD_BUILD_TESTS "Enable generation of build files for tests" OFF) + ++find_package(EABase CONFIG REQUIRED) ++find_package(EASTL CONFIG REQUIRED) ++ + #------------------------------------------------------------------------------------------- + # Compiler Flags + #------------------------------------------------------------------------------------------- +-set (CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_SOURCE_DIR}/test/packages/EASTL/scripts/CMake") ++set (CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${_VCPKG_ROOT_DIR}/installed/${VCPKG_TARGET_TRIPLET}/share/eastl") + include(CommonCppFlags) + + #------------------------------------------------------------------------------------------- +@@ -34,10 +40,45 @@ add_definitions(-D_CRT_SECURE_NO_WARNINGS) + #------------------------------------------------------------------------------------------- + # Export Include Directories + #------------------------------------------------------------------------------------------- +-target_include_directories(EAThread PUBLIC include) ++target_include_directories(EAThread PUBLIC ++ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include> ++ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> ++ ) + + #------------------------------------------------------------------------------------------- + # Package Dependencies + #------------------------------------------------------------------------------------------- +-target_link_libraries(EAThread EABase) ++target_link_libraries(EAThread PUBLIC EABase) ++ ++# create and install an export set for eabase target as EABase::EABase ++set(EAThread_CMAKE_CONFIG_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/EAThread") ++ ++configure_package_config_file( ++ EAThreadConfig.cmake.in ++ ${CMAKE_CURRENT_BINARY_DIR}/EAThreadConfig.cmake ++ INSTALL_DESTINATION ${EAThread_CMAKE_CONFIG_DESTINATION} ++) ++ ++# create and install an export set for Terra target as Terra ++install( ++ TARGETS EAThread EXPORT EAThreadTargets ++ DESTINATION ${CMAKE_INSTALL_LIBDIR} ++) ++ ++install(EXPORT EAThreadTargets DESTINATION ${EAThread_CMAKE_CONFIG_DESTINATION}) ++ ++write_basic_package_version_file( ++ "${CMAKE_CURRENT_BINARY_DIR}/EAThreadConfigVersion.cmake" ++ VERSION 3.16.01 ++ COMPATIBILITY SameMajorVersion ++) ++ ++install(TARGETS EAThread LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") ++install(DIRECTORY "include/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") + ++install( ++ FILES ++ "${CMAKE_CURRENT_BINARY_DIR}/EAThreadConfig.cmake" ++ "${CMAKE_CURRENT_BINARY_DIR}/EAThreadConfigVersion.cmake" ++ DESTINATION ${EAThread_CMAKE_CONFIG_DESTINATION} ++) diff --git a/ports/eathread/portfile.cmake b/ports/eathread/portfile.cmake new file mode 100644 index 000000000..5c567140d --- /dev/null +++ b/ports/eathread/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+vcpkg_fail_port_install(ON_TARGET "UWP" ON_ARCH "arm" "arm64")
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO electronicarts/EAThread
+ REF e4367a36f2e55d10b2b994bfbae8edf21f15bafd
+ SHA512 cd5a2aa6cdfe6fa538067919aa49e5ecd901898e12929dc852068ce66efe386032eb1fe667ea7d9b7a3d73a7bef1d90a683c0b90b6fb0d6d9a27950b05c4ab6a
+ HEAD_REF master
+ PATCHES
+ fix_cmake_install.patch
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/EAThreadConfig.cmake.in DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DEATHREAD_BUILD_TESTS=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/EAThread)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+vcpkg_copy_pdbs()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/eathread RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/3RDPARTYLICENSES.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/eathread)
|
