]> git.donarmstrong.com Git - bamtools.git/blobdiff - src/api/CMakeLists.txt
Updated to 0.9.1
[bamtools.git] / src / api / CMakeLists.txt
index fb2d48506fde36a6fb53a10e0091722383f4ae4d..951ba87e91699737bc542fcf69ef069254641225 100644 (file)
@@ -6,31 +6,63 @@
 # ==========================
 
 # list include paths
-include_directories ( ${BamTools_SOURCE_DIR}/src )
+include_directories( ${BamTools_SOURCE_DIR}/src )
 
 # add compiler definitions 
-add_definitions(-DBAMTOOLS_API_LIBRARY) # (for proper exporting of library symbols)
+add_definitions( -DBAMTOOLS_API_LIBRARY ) # (for proper exporting of library symbols)
 
-# create main BamTools API library
-add_library ( BamTools SHARED 
-              BamAlignment.cpp 
-              BamIndex.cpp 
-              BamMultiReader.cpp
-              BamReader.cpp
-              BamWriter.cpp
-              BGZF.cpp
-             internal/BamReader_p.cpp
-             internal/BamStandardIndex_p.cpp
-             internal/BamToolsIndex_p.cpp
-             internal/BamWriter_p.cpp
-            )
+# create main BamTools API shared library
+add_library( BamTools SHARED
+             BamAlignment.cpp
+             BamIndex.cpp
+             BamMultiReader.cpp
+             BamReader.cpp
+             BamWriter.cpp
+             BGZF.cpp
+             internal/BamMultiReader_p.cpp
+             internal/BamReader_p.cpp
+             internal/BamStandardIndex_p.cpp
+             internal/BamToolsIndex_p.cpp
+             internal/BamWriter_p.cpp
+           )
+# set shared lib properties
+set_target_properties( BamTools PROPERTIES SOVERSION "0.9.1" )
+set_target_properties( BamTools PROPERTIES OUTPUT_NAME "bamtools" )
 
-# link BamTools library with zlib automatically
-target_link_libraries ( BamTools z )
+# create main BamTools API static library
+add_library( BamTools-static STATIC
+             BamAlignment.cpp
+             BamIndex.cpp
+             BamMultiReader.cpp
+             BamReader.cpp
+             BamWriter.cpp
+             BGZF.cpp
+             internal/BamMultiReader_p.cpp
+             internal/BamReader_p.cpp
+             internal/BamStandardIndex_p.cpp
+             internal/BamToolsIndex_p.cpp
+             internal/BamWriter_p.cpp
+           )
+# set static lib properties
+set_target_properties( BamTools-static PROPERTIES OUTPUT_NAME "bamtools" )
+set_target_properties( BamTools-static PROPERTIES PREFIX "lib" )
 
-# set BamTools library properties
-set_target_properties( BamTools PROPERTIES
-                       SOVERSION   0.9.0
-                       OUTPUT_NAME bamtools
-                     )
+# link libraries with zlib automatically
+target_link_libraries( BamTools z )
+target_link_libraries( BamTools-static z )
 
+# set library install destinations
+install( TARGETS BamTools LIBRARY DESTINATION "lib/bamtools")
+install( TARGETS BamTools-static ARCHIVE DESTINATION "lib/bamtools")
+
+# export API headers
+include(../ExportHeader.cmake)
+set(ApiIncludeDir "api")
+ExportHeader(APIHeaders api_global.h     ${ApiIncludeDir})
+ExportHeader(APIHeaders BamAlignment.h   ${ApiIncludeDir})
+ExportHeader(APIHeaders BamAux.h         ${ApiIncludeDir})
+ExportHeader(APIHeaders BamIndex.h       ${ApiIncludeDir})
+ExportHeader(APIHeaders BamMultiReader.h ${ApiIncludeDir})
+ExportHeader(APIHeaders BamReader.h      ${ApiIncludeDir})
+ExportHeader(APIHeaders BamWriter.h      ${ApiIncludeDir})
+ExportHeader(APIHeaders BGZF.h           ${ApiIncludeDir})