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/eabase | |
| 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/eabase')
| -rw-r--r-- | ports/eabase/CONTROL | 4 | ||||
| -rw-r--r-- | ports/eabase/EABaseConfig.cmake.in | 6 | ||||
| -rw-r--r-- | ports/eabase/fix_cmake_install.patch | 75 | ||||
| -rw-r--r-- | ports/eabase/portfile.cmake | 30 |
4 files changed, 115 insertions, 0 deletions
diff --git a/ports/eabase/CONTROL b/ports/eabase/CONTROL new file mode 100644 index 000000000..95c76477e --- /dev/null +++ b/ports/eabase/CONTROL @@ -0,0 +1,4 @@ +Source: eabase
+Version: 2.09.10
+Homepage: https://github.com/electronicarts/EABase
+Description: Electronic Arts Base. EABase is a small set of header files that define platform-independent data types and macros.
diff --git a/ports/eabase/EABaseConfig.cmake.in b/ports/eabase/EABaseConfig.cmake.in new file mode 100644 index 000000000..afc9b104a --- /dev/null +++ b/ports/eabase/EABaseConfig.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}/EABaseTargets.cmake)
\ No newline at end of file diff --git a/ports/eabase/fix_cmake_install.patch b/ports/eabase/fix_cmake_install.patch new file mode 100644 index 000000000..2cd22690b --- /dev/null +++ b/ports/eabase/fix_cmake_install.patch @@ -0,0 +1,75 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 89c6703..ab8e553 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -4,6 +4,9 @@ + cmake_minimum_required(VERSION 3.1) + project(EABase CXX) + ++include(GNUInstallDirs) ++include(CMakePackageConfigHelpers) ++ + #------------------------------------------------------------------------------------------- + # Options + #------------------------------------------------------------------------------------------- +@@ -22,13 +25,51 @@ endif() + add_definitions(-D_CHAR16T) + + if (NOT EABASE_BUILD_TESTS) +- #------------------------------------------------------------------------------------------- +- # Header only library +- #------------------------------------------------------------------------------------------- +- add_library(EABase INTERFACE) +- +- #------------------------------------------------------------------------------------------- +- # Include dirs +- #------------------------------------------------------------------------------------------- +- target_include_directories(EABase INTERFACE include/Common) ++ #------------------------------------------------------------------------------------------- ++ # Header only library ++ #------------------------------------------------------------------------------------------- ++ add_library(EABase INTERFACE) ++ add_library(EABase::EABase ALIAS EABase) ++ ++ #------------------------------------------------------------------------------------------- ++ # Include dirs ++ #------------------------------------------------------------------------------------------- ++ target_include_directories(EABase INTERFACE ++ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/Common> ++ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/Common> ++ ) ++ ++ # create and install an export set for eabase target as EABase::EABase ++ set(EABase_CMAKE_CONFIG_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/EABase") ++ ++ configure_package_config_file( ++ EABaseConfig.cmake.in ++ ${CMAKE_CURRENT_BINARY_DIR}/EABaseConfig.cmake ++ INSTALL_DESTINATION ${EABase_CMAKE_CONFIG_DESTINATION} ++ ) ++ ++ # create and install an export set for Terra target as Terra ++ install( ++ TARGETS EABase EXPORT EABaseTargets ++ DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ) ++ ++ ++ install(EXPORT EABaseTargets DESTINATION ${EABase_CMAKE_CONFIG_DESTINATION}) ++ ++ write_basic_package_version_file( ++ "${CMAKE_CURRENT_BINARY_DIR}/EABaseConfigVersion.cmake" ++ VERSION 2.09.10 ++ COMPATIBILITY SameMajorVersion ++ ) ++ ++ install(TARGETS EABase LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") ++ install(DIRECTORY "include/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") ++ ++ install( ++ FILES ++ "${CMAKE_CURRENT_BINARY_DIR}/EABaseConfig.cmake" ++ "${CMAKE_CURRENT_BINARY_DIR}/EABaseConfigVersion.cmake" ++ DESTINATION ${EABase_CMAKE_CONFIG_DESTINATION} ++ ) + endif() diff --git a/ports/eabase/portfile.cmake b/ports/eabase/portfile.cmake new file mode 100644 index 000000000..1a70ad267 --- /dev/null +++ b/ports/eabase/portfile.cmake @@ -0,0 +1,30 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO electronicarts/EABase
+ REF edbafca82e4c4e73302e0b5144c5d1f4710db9fa
+ SHA512 fb9bd07602fb308864506737813212e47385a164708cd9064fdd4d1893294b228718a2964a0b16d04483f4f4c8a156f7199b60f227e4fc9ac88352f7dcd59672
+ HEAD_REF master
+ PATCHES
+ fix_cmake_install.patch
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/EABaseConfig.cmake.in DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DEABASE_BUILD_TESTS:BOOL=OFF
+)
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/EABase)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib)
+
+vcpkg_copy_pdbs()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
|
