aboutsummaryrefslogtreecommitdiff
path: root/ports/eathread
diff options
context:
space:
mode:
authorOliver John Hitchcock <ojhitchcock@gmail.com>2020-02-04 22:10:03 +0000
committerGitHub <noreply@github.com>2020-02-04 14:10:03 -0800
commited863b163c1909bdc33587174f6bb8e9cb170310 (patch)
tree8ad801e7d5d7d4509a6803c0a8f813e069c6b5a5 /ports/eathread
parent0591528cbfde14ccfd3900c3fb19aba382c05349 (diff)
downloadvcpkg-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/CONTROL5
-rw-r--r--ports/eathread/EAThreadConfig.cmake.in6
-rw-r--r--ports/eathread/fix_cmake_install.patch75
-rw-r--r--ports/eathread/portfile.cmake33
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)