vcpkg/ports/eabase/fix_cmake_install.patch
Oliver John Hitchcock ed863b163c
[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
2020-02-04 14:10:03 -08:00

76 lines
2.9 KiB
Diff

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