aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/basisu/export-cmake-config.diff
blob: c7d524662ea3a8e34f78bb19263916d6481633c1 (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
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d143ecf..31c8c09 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -169,6 +169,10 @@ endif()
 
 # Create the static library
 add_library(basisu_encoder STATIC ${ENCODER_LIB_SRC_LIST})
+target_include_directories(basisu_encoder PUBLIC
+    $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/transcoder>
+    $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/encoder>
+    $<INSTALL_INTERFACE:include>)
 
 # Create the basisu executable and link against the static library
 add_executable(basisu basisu_tool.cpp)
@@ -256,3 +260,31 @@ if (MSVC)
         RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
     )	
 endif()
+
+# Target Installation
+install(TARGETS basisu_encoder basisu EXPORT basisu-targets)
+install(DIRECTORY "./transcoder" DESTINATION "include/basisu/"
+    FILES_MATCHING PATTERN "*.h" PATTERN "*.inc"
+)
+install(DIRECTORY "./encoder" DESTINATION "include/basisu/"
+    FILES_MATCHING PATTERN "*.h"
+)
+
+# CMake Export
+include(CMakePackageConfigHelpers)
+include(GNUInstallDirs)
+configure_package_config_file(
+    ${PROJECT_SOURCE_DIR}/basisu-config.cmake.in
+    ${PROJECT_BINARY_DIR}/basisu-config.cmake
+    INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/basisu)
+export(
+    TARGETS basisu_encoder basisu
+    NAMESPACE basisu::
+    FILE ${PROJECT_BINARY_DIR}/basisu-targets.cmake)
+install(
+    FILES ${PROJECT_BINARY_DIR}/basisu-config.cmake
+    DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/basisu)
+install(
+    EXPORT basisu-targets
+    DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/basisu
+    NAMESPACE basisu::)
diff --git a/basisu-config.cmake.in b/basisu-config.cmake.in
new file mode 100644
index 0000000..15c0d7e
--- /dev/null
+++ b/basisu-config.cmake.in
@@ -0,0 +1,5 @@
+@PACKAGE_INIT@
+
+include("${CMAKE_CURRENT_LIST_DIR}/basisu-targets.cmake")
+
+check_required_components(basisu)