aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/eabase/fix_cmake_install.patch
blob: 67c1b61c5fc00eff237e3985acdd2585f29a5f6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 652f07f..264aaf5 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
 #-------------------------------------------------------------------------------------------
@@ -24,14 +27,38 @@ add_definitions(-D_CHAR16T)
 #-------------------------------------------------------------------------------------------
 # Header only library 
 #-------------------------------------------------------------------------------------------
-add_library(EABase INTERFACE) 
-
+add_library(EABase INTERFACE)
+add_library(EABase::EABase ALIAS EABase)
 #-------------------------------------------------------------------------------------------
 # Include dirs
 #-------------------------------------------------------------------------------------------
-target_include_directories(EABase INTERFACE include/Common)
-
-#-------------------------------------------------------------------------------------------
-# Installation
-#-------------------------------------------------------------------------------------------
-install(DIRECTORY include/Common/EABase DESTINATION include)
+target_include_directories(EABase INTERFACE
+    $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/Common>
+    $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+)
+# 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.12
+  COMPATIBILITY SameMajorVersion
+)
+install(TARGETS EABase LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
+install(DIRECTORY "include/Common/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
+install(
+    FILES
+        "${CMAKE_CURRENT_BINARY_DIR}/EABaseConfig.cmake"
+        "${CMAKE_CURRENT_BINARY_DIR}/EABaseConfigVersion.cmake"
+    DESTINATION ${EABase_CMAKE_CONFIG_DESTINATION}
+)