File: shared_and_static.patch

package info (click to toggle)
bamtools 2.5.3%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,652 kB
  • sloc: cpp: 19,103; ansic: 39; makefile: 31; sh: 27
file content (118 lines) | stat: -rw-r--r-- 3,329 bytes parent folder | download
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
Description: Build additional static lib
Author: Andreas Tille <tille@debian.org>
Forwarded: not-needed
Last-Update: 2020-05-27

--- bamtools.orig/src/CMakeLists.txt
+++ bamtools/src/CMakeLists.txt
@@ -33,7 +33,7 @@
 
 # create main BamTools API library
 add_library(
-    BamTools
+    BamTools SHARED
 
     api/BamAlignment.cpp
     api/BamMultiReader.cpp
@@ -73,6 +73,48 @@
     api/internal/sam/SamHeaderValidator_p.cpp
     api/internal/utils/BamException_p.cpp
 )
+add_library(
+    BamTools_static STATIC
+
+    api/BamAlignment.cpp
+    api/BamMultiReader.cpp
+    api/BamReader.cpp
+    api/BamWriter.cpp
+    api/SamHeader.cpp
+    api/SamProgram.cpp
+    api/SamProgramChain.cpp
+    api/SamReadGroup.cpp
+    api/SamReadGroupDictionary.cpp
+    api/SamSequence.cpp
+    api/SamSequenceDictionary.cpp
+    api/internal/bam/BamHeader_p.cpp
+    api/internal/bam/BamMultiReader_p.cpp
+    api/internal/bam/BamRandomAccessController_p.cpp
+    api/internal/bam/BamReader_p.cpp
+    api/internal/bam/BamWriter_p.cpp
+    api/internal/index/BamIndexFactory_p.cpp
+    api/internal/index/BamStandardIndex_p.cpp
+    api/internal/index/BamToolsIndex_p.cpp
+    api/internal/io/BamDeviceFactory_p.cpp
+    api/internal/io/BamFile_p.cpp
+    api/internal/io/BamFtp_p.cpp
+    api/internal/io/BamHttp_p.cpp
+    api/internal/io/BamPipe_p.cpp
+    api/internal/io/BgzfStream_p.cpp
+    api/internal/io/ByteArray_p.cpp
+    api/internal/io/HostAddress_p.cpp
+    api/internal/io/HostInfo_p.cpp
+    api/internal/io/HttpHeader_p.cpp
+    api/internal/io/ILocalIODevice_p.cpp
+    api/internal/io/RollingBuffer_p.cpp
+    api/internal/io/TcpSocketEngine_p.cpp
+    api/internal/io/TcpSocket_p.cpp
+    api/internal/sam/SamFormatParser_p.cpp
+    api/internal/sam/SamFormatPrinter_p.cpp
+    api/internal/sam/SamHeaderValidator_p.cpp
+    api/internal/utils/BamException_p.cpp
+)
+
 
 # The SONAME is bumped on every version increment
 # as Bamtools does not yet guarantee a stable ABI
@@ -83,6 +125,12 @@
     CXX_STANDARD 11
     CXX_STANDARD_REQUIRED ON
     CXX_EXTENSIONS OFF)
+set_target_properties(
+    BamTools_static PROPERTIES
+    OUTPUT_NAME bamtools
+    CXX_STANDARD 11
+    CXX_STANDARD_REQUIRED ON
+    CXX_EXTENSIONS OFF)
 target_include_directories(
     BamTools PRIVATE
     ${ZLIB_INCLUDE_DIRS}
@@ -91,6 +139,15 @@
 target_link_libraries(
     BamTools PRIVATE
     ${ZLIB_LIBRARIES})
+target_include_directories(
+    BamTools_static PRIVATE
+    ${ZLIB_INCLUDE_DIRS}
+    ${CMAKE_CURRENT_SOURCE_DIR}
+    ${CMAKE_CURRENT_BINARY_DIR})
+target_link_libraries(
+    BamTools_static PRIVATE
+    ${ZLIB_LIBRARIES})
+
 
 if(WIN32)
     target_link_libraries(
@@ -103,6 +160,9 @@
     target_sources(
         BamTools PRIVATE
         api/internal/io/TcpSocketEngine_unix_p.cpp)
+    target_sources(
+        BamTools_static PRIVATE
+        api/internal/io/TcpSocketEngine_unix_p.cpp)
 endif()
 
 if(EnableNodeJS)
@@ -195,6 +255,13 @@
     RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
 
 install(
+    TARGETS BamTools_static
+    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+
+
+install(
     TARGETS bamtools_cmd
     ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
     LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}