early-access version 2853

This commit is contained in:
pineappleEA
2022-07-23 03:01:36 +02:00
parent 1f2b5081b5
commit 1f111bb69c
8955 changed files with 418777 additions and 999 deletions

View File

@@ -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)

View File

@@ -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}
+)

32
externals/vcpkg/ports/eathread/portfile.cmake vendored Executable file
View File

@@ -0,0 +1,32 @@
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_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/${PORT} RENAME copyright)
file(INSTALL ${SOURCE_PATH}/3RDPARTYLICENSES.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/eathread)

12
externals/vcpkg/ports/eathread/vcpkg.json vendored Executable file
View File

@@ -0,0 +1,12 @@
{
"name": "eathread",
"version-string": "1.32.09",
"port-version": 3,
"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"
]
}