diff options
Diffstat (limited to 'vcpkg/ports/eathread')
| -rw-r--r-- | vcpkg/ports/eathread/EAThreadConfig.cmake.in | 6 | ||||
| -rw-r--r-- | vcpkg/ports/eathread/fix_cmake_install.patch | 75 | ||||
| -rw-r--r-- | vcpkg/ports/eathread/portfile.cmake | 31 | ||||
| -rw-r--r-- | vcpkg/ports/eathread/vcpkg.json | 20 |
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 + } + ] +} |