summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Tille <tille@debian.org>2023-12-15 19:09:45 +0100
committerÉtienne Mollier <emollier@debian.org>2023-12-15 19:09:45 +0100
commit23eb98d83b404907bd34ae68bad2d4594143e1cb (patch)
tree99bfb9317cb0c155d546c53569639c41de2d79ef
parentb3d379ceb698a160673bacb2e448e13b038adb05 (diff)
Build additional static lib
Last-Update: Wed, 27 May 2020 09:59:29 +0200 Gbp-Pq: Name shared_and_static.patch
-rw-r--r--src/CMakeLists.txt69
1 files changed, 68 insertions, 1 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index f8bb1ac..8559b51 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -33,7 +33,7 @@ find_package(ZLIB REQUIRED)
# create main BamTools API library
add_library(
- BamTools
+ BamTools SHARED
api/BamAlignment.cpp
api/BamMultiReader.cpp
@@ -73,6 +73,48 @@ add_library(
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 @@ set_target_properties(
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_include_directories(
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 @@ else()
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 @@ install(
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}