diff options
author | Andreas Tille <tille@debian.org> | 2023-12-15 19:09:45 +0100 |
---|---|---|
committer | Étienne Mollier <emollier@debian.org> | 2023-12-15 19:09:45 +0100 |
commit | 23eb98d83b404907bd34ae68bad2d4594143e1cb (patch) | |
tree | 99bfb9317cb0c155d546c53569639c41de2d79ef | |
parent | b3d379ceb698a160673bacb2e448e13b038adb05 (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.txt | 69 |
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} |