summarylogtreecommitdiffstats
path: root/010-astc-encoder-use-shared-library.patch
blob: 93a664a53ba241004711bc767f88325895b77e9b (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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
--- a/Source/cmake_core.cmake
+++ b/Source/cmake_core.cmake
@@ -26,8 +26,8 @@ project(${ASTC_TARGET})
 set(GNU_LIKE "GNU,Clang,AppleClang")
 set(CLANG_LIKE "Clang,AppleClang")
 
-add_library(${ASTC_TARGET}-static
-    STATIC
+add_library(${ASTC_TARGET}
+    SHARED
         astcenc_averages_and_directions.cpp
         astcenc_block_sizes.cpp
         astcenc_color_quantize.cpp
@@ -52,13 +52,13 @@ add_library(${ASTC_TARGET}-static
         astcenc_weight_align.cpp
         astcenc_weight_quant_xfer_tables.cpp)
 
-target_include_directories(${ASTC_TARGET}-static
+target_include_directories(${ASTC_TARGET}
     PUBLIC
         $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
         $<INSTALL_INTERFACE:.>)
 
 if(${CLI})
-    add_executable(${ASTC_TARGET}
+    add_executable(${ASTC_TARGET}-bin
         astcenccli_error_metrics.cpp
         astcenccli_image.cpp
         astcenccli_image_external.cpp
@@ -67,9 +67,13 @@ if(${CLI})
         astcenccli_toplevel.cpp
         astcenccli_toplevel_help.cpp)
 
-    target_link_libraries(${ASTC_TARGET}
+    target_link_libraries(${ASTC_TARGET}-bin
         PRIVATE
-            ${ASTC_TARGET}-static)
+            ${ASTC_TARGET})
+
+    set_target_properties(${ASTC_TARGET}-bin
+        PROPERTIES
+            OUTPUT_NAME ${ASTC_TARGET})
 endif()
 
 macro(astcenc_set_properties NAME)
@@ -309,16 +313,16 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
             COMPILE_FLAGS ${EXTERNAL_CXX_FLAGS})
 endif()
 
-astcenc_set_properties(${ASTC_TARGET}-static)
+astcenc_set_properties(${ASTC_TARGET})
 
-    target_compile_options(${ASTC_TARGET}-static
+    target_compile_options(${ASTC_TARGET}
         PRIVATE
             $<$<CXX_COMPILER_ID:MSVC>:/W4>)
 
 if(${CLI})
-    astcenc_set_properties(${ASTC_TARGET})
+    astcenc_set_properties(${ASTC_TARGET}-bin)
 
-    target_compile_options(${ASTC_TARGET}
+    target_compile_options(${ASTC_TARGET}-bin
         PRIVATE
             $<$<CXX_COMPILER_ID:MSVC>:/W3>)
 
@@ -329,9 +333,10 @@ if(${CLI})
         astcenccli_version.h
         ESCAPE_QUOTES @ONLY)
 
-    target_include_directories(${ASTC_TARGET}
+    target_include_directories(${ASTC_TARGET}-bin
         PRIVATE
             ${CMAKE_CURRENT_BINARY_DIR})
 
-    install(TARGETS ${ASTC_TARGET} DESTINATION ${PACKAGE_ROOT})
+    install(TARGETS ${ASTC_TARGET}-bin DESTINATION ${PACKAGE_ROOT})
+    install(TARGETS ${ASTC_TARGET} DESTINATION ${CMAKE_INSTALL_LIBDIR})
 endif()