aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/eathread
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/eathread
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/eathread')
-rw-r--r--vcpkg/ports/eathread/EAThreadConfig.cmake.in6
-rw-r--r--vcpkg/ports/eathread/fix_cmake_install.patch75
-rw-r--r--vcpkg/ports/eathread/portfile.cmake31
-rw-r--r--vcpkg/ports/eathread/vcpkg.json20
4 files changed, 132 insertions, 0 deletions
diff --git a/vcpkg/ports/eathread/EAThreadConfig.cmake.in b/vcpkg/ports/eathread/EAThreadConfig.cmake.in
new file mode 100644
index 0000000..9ab444e
--- /dev/null
+++ b/vcpkg/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/vcpkg/ports/eathread/fix_cmake_install.patch b/vcpkg/ports/eathread/fix_cmake_install.patch
new file mode 100644
index 0000000..bc33279
--- /dev/null
+++ b/vcpkg/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/vcpkg/ports/eathread/portfile.cmake b/vcpkg/ports/eathread/portfile.cmake
new file mode 100644
index 0000000..04f7e99
--- /dev/null
+++ b/vcpkg/ports/eathread/portfile.cmake
@@ -0,0 +1,31 @@
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+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_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DEATHREAD_BUILD_TESTS=OFF
+)
+
+vcpkg_cmake_install()
+
+vcpkg_cmake_config_fixup(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/${PORT}" RENAME copyright)
+file(INSTALL "${SOURCE_PATH}/3RDPARTYLICENSES.TXT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/eathread")
diff --git a/vcpkg/ports/eathread/vcpkg.json b/vcpkg/ports/eathread/vcpkg.json
new file mode 100644
index 0000000..dd634f9
--- /dev/null
+++ b/vcpkg/ports/eathread/vcpkg.json
@@ -0,0 +1,20 @@
+{
+ "name": "eathread",
+ "version-string": "1.32.09",
+ "port-version": 5,
+ "description": "Electronic Arts Thread Library. EAThread implements a unified cross-platform interface for multithreaded programming on various platforms.",
+ "homepage": "https://github.com/electronicarts/EAThread",
+ "supports": "!uwp & x64",
+ "dependencies": [
+ "eabase",
+ "eastl",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}