]> git.donarmstrong.com Git - bamtools.git/commitdiff
Updated CMakeLists.txt files
authorderek <derekwbarnett@gmail.com>
Mon, 28 Nov 2011 23:48:59 +0000 (18:48 -0500)
committerderek <derekwbarnett@gmail.com>
Mon, 28 Nov 2011 23:48:59 +0000 (18:48 -0500)
CMakeLists.txt
src/CMakeLists.txt
src/api/BamIndex.h
src/api/CMakeLists.txt
src/api/internal/BamStandardIndex_p.h
src/api/internal/BamToolsIndex_p.h
src/third_party/CMakeLists.txt
src/third_party/jsoncpp/CMakeLists.txt
src/toolkit/CMakeLists.txt
src/utils/CMakeLists.txt

index 70f606ff237fb4c1428fe93c03fe4811b200575a..f4f23bdce12166fd37c77ff14c9181e95f98b5f2 100644 (file)
@@ -6,44 +6,47 @@
 # ==========================
 
 # set project name
-project (BamTools)
+project( BamTools )
 
 # Cmake requirements
-cmake_minimum_required (VERSION 2.6.4)
+cmake_minimum_required( VERSION 2.6.4 )
+
+# init CTest
+enable_testing()
 
 # Force the build directory to be different from source directory
-macro (ENSURE_OUT_OF_SOURCE_BUILD MSG)
-    string (COMPARE EQUAL "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" insource)
-    get_filename_component (PARENTDIR ${CMAKE_SOURCE_DIR} PATH)
-    string (COMPARE EQUAL "${CMAKE_SOURCE_DIR}" "${PARENTDIR}" insourcesubdir)
-    IF (insource OR insourcesubdir)
-        message (FATAL_ERROR "${MSG}")
-    ENDIF (insource OR insourcesubdir)
-endmacro (ENSURE_OUT_OF_SOURCE_BUILD)
-
-ensure_out_of_source_build ("
+macro( ENSURE_OUT_OF_SOURCE_BUILD MSG )
+    string( COMPARE EQUAL "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" insource )
+    get_filename_component( PARENTDIR ${CMAKE_SOURCE_DIR} PATH )
+    string( COMPARE EQUAL "${CMAKE_SOURCE_DIR}" "${PARENTDIR}" insourcesubdir )
+    IF( insource OR insourcesubdir )
+        message( FATAL_ERROR "${MSG}" )
+    ENDIF( insource OR insourcesubdir )
+endmacro( ENSURE_OUT_OF_SOURCE_BUILD )
+
+ensure_out_of_source_build"
   ${PROJECT_NAME} requires an out of source build.
   $ mkdir build 
   $ cd build
   $ cmake ..
   $ make 
-(or the Windows equivalent)\n")
+(or the Windows equivalent)\n" )
 
 # set BamTools version information
-set (BamTools_VERSION_MAJOR 2)
-set (BamTools_VERSION_MINOR 0)
-set (BamTools_VERSION_BUILD 5)
+set( BamTools_VERSION_MAJOR 2 )
+set( BamTools_VERSION_MINOR 0 )
+set( BamTools_VERSION_BUILD 5 )
 
 # set our library and executable destination dirs
-set (EXECUTABLE_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/bin")
-set (LIBRARY_OUTPUT_PATH    "${CMAKE_SOURCE_DIR}/lib")
+set( EXECUTABLE_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/bin" )
+set( LIBRARY_OUTPUT_PATH    "${CMAKE_SOURCE_DIR}/lib" )
 
 # define compiler flags for all code
-set (CMAKE_BUILD_TYPE Release)
-add_definitions (-Wall -D_FILE_OFFSET_BITS=64)
+set( CMAKE_BUILD_TYPE Release )
+add_definitions( -Wall -D_FILE_OFFSET_BITS=64 )
 
 # add our includes root path
-include_directories (src)
+include_directories( src )
 
 # list subdirectories to build in
-add_subdirectory (src)
+add_subdirectory( src )
index 3925d5826a1679f574ed2c23f805f5eddb7397c5..9513abb6adeae2572484e9fadf64e3933c872270 100644 (file)
@@ -5,14 +5,13 @@
 # src/
 # ==========================
 
-add_subdirectory (api)
-add_subdirectory (utils)
-add_subdirectory (third_party)
-add_subdirectory (toolkit)
+add_subdirectory( api )
+add_subdirectory( test )
+add_subdirectory( third_party )
+add_subdirectory( toolkit )
+add_subdirectory( utils )
 
 # export shared headers
-include(ExportHeader.cmake)
-set(SharedIncludeDir "shared")
-ExportHeader(SharedHeaders shared/bamtools_global.h ${SharedIncludeDir})
-
-
+include( ExportHeader.cmake )
+set( SharedIncludeDir "shared" )
+ExportHeader( SharedHeaders shared/bamtools_global.h ${SharedIncludeDir} )
index b0b1281b4c517c375113cbc6426cf5d7ddc9d480..fd41f6912b0fd6006be53ef5bce55d715ca05056 100644 (file)
@@ -66,6 +66,9 @@ class API_EXPORT BamIndex {
         // loads existing data from file into memory
         virtual bool Load(const std::string& filename) =0;
 
+        // returns the 'type' enum for derived index format
+        virtual BamIndex::IndexType Type(void) const =0;
+
     //! \cond
 
     // internal methods
index 55f256025c00834a4c0df3c98bcc88649324dc75..c8504edba46e3023c35a1f51ac9d66bf7e109e4d 100644 (file)
@@ -49,43 +49,41 @@ set( BamToolsAPISources
 
 # create main BamTools API shared library
 add_library( BamTools SHARED ${BamToolsAPISources} )
-set_target_properties( BamTools PROPERTIES SOVERSION "2.0.5" )
-set_target_properties( BamTools PROPERTIES OUTPUT_NAME "bamtools" )
+set_target_properties( BamTools PROPERTIES
+                       SOVERSION "2.0.5"
+                       OUTPUT_NAME "bamtools" )
+target_link_libraries( BamTools z )
+install( TARGETS BamTools LIBRARY DESTINATION "lib/bamtools" RUNTIME DESTINATION "bin" )
 
 # create main BamTools API static library
 add_library( BamTools-static STATIC ${BamToolsAPISources} )
-set_target_properties( BamTools-static PROPERTIES OUTPUT_NAME "bamtools" )
-set_target_properties( BamTools-static PROPERTIES PREFIX "lib" )
-
-# link libraries with zlib automatically
-target_link_libraries( BamTools z )
+set_target_properties( BamTools-static PROPERTIES
+                       OUTPUT_NAME "bamtools"
+                       PREFIX "lib" )
 target_link_libraries( BamTools-static z )
-
-# set library install destinations
-install( TARGETS BamTools LIBRARY DESTINATION "lib/bamtools" RUNTIME DESTINATION "bin")
-install( TARGETS BamTools-static ARCHIVE 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 BamAlgorithms.h           ${ApiIncludeDir})
-ExportHeader(APIHeaders BamAlignment.h           ${ApiIncludeDir})
-ExportHeader(APIHeaders BamAux.h                 ${ApiIncludeDir})
-ExportHeader(APIHeaders BamConstants.h           ${ApiIncludeDir})
-ExportHeader(APIHeaders BamIndex.h               ${ApiIncludeDir})
-ExportHeader(APIHeaders BamMultiReader.h         ${ApiIncludeDir})
-ExportHeader(APIHeaders BamReader.h              ${ApiIncludeDir})
-ExportHeader(APIHeaders BamWriter.h              ${ApiIncludeDir})
-ExportHeader(APIHeaders IBamIODevice.h           ${ApiIncludeDir})
-ExportHeader(APIHeaders SamConstants.h           ${ApiIncludeDir})
-ExportHeader(APIHeaders SamHeader.h              ${ApiIncludeDir})
-ExportHeader(APIHeaders SamProgram.h             ${ApiIncludeDir})
-ExportHeader(APIHeaders SamProgramChain.h        ${ApiIncludeDir})
-ExportHeader(APIHeaders SamReadGroup.h           ${ApiIncludeDir})
-ExportHeader(APIHeaders SamReadGroupDictionary.h ${ApiIncludeDir})
-ExportHeader(APIHeaders SamSequence.h            ${ApiIncludeDir})
-ExportHeader(APIHeaders SamSequenceDictionary.h  ${ApiIncludeDir})
+include( ../ExportHeader.cmake )
+set( ApiIncludeDir "api" )
+ExportHeader( APIHeaders api_global.h             ${ApiIncludeDir} )
+ExportHeader( APIHeaders BamAlgorithms.h          ${ApiIncludeDir} )
+ExportHeader( APIHeaders BamAlignment.h           ${ApiIncludeDir} )
+ExportHeader( APIHeaders BamAux.h                 ${ApiIncludeDir} )
+ExportHeader( APIHeaders BamConstants.h           ${ApiIncludeDir} )
+ExportHeader( APIHeaders BamIndex.h               ${ApiIncludeDir} )
+ExportHeader( APIHeaders BamMultiReader.h         ${ApiIncludeDir} )
+ExportHeader( APIHeaders BamReader.h              ${ApiIncludeDir} )
+ExportHeader( APIHeaders BamWriter.h              ${ApiIncludeDir} )
+ExportHeader( APIHeaders IBamIODevice.h           ${ApiIncludeDir} )
+ExportHeader( APIHeaders SamConstants.h           ${ApiIncludeDir} )
+ExportHeader( APIHeaders SamHeader.h              ${ApiIncludeDir} )
+ExportHeader( APIHeaders SamProgram.h             ${ApiIncludeDir} )
+ExportHeader( APIHeaders SamProgramChain.h        ${ApiIncludeDir} )
+ExportHeader( APIHeaders SamReadGroup.h           ${ApiIncludeDir} )
+ExportHeader( APIHeaders SamReadGroupDictionary.h ${ApiIncludeDir} )
+ExportHeader( APIHeaders SamSequence.h            ${ApiIncludeDir} )
+ExportHeader( APIHeaders SamSequenceDictionary.h  ${ApiIncludeDir} )
 
-set(AlgorithmsIncludeDir "api/algorithms")
-ExportHeader(AlgorithmsHeaders algorithms/Sort.h ${AlgorithmsIncludeDir})
+set( AlgorithmsIncludeDir "api/algorithms" )
+ExportHeader( AlgorithmsHeaders algorithms/Sort.h ${AlgorithmsIncludeDir} )
index 03e0042405176fc13a320ee0d06a5bba7f0ada9c..e49bc26bd2b3637899135f63a4b26180c67aef9c 100644 (file)
@@ -122,6 +122,7 @@ class BamStandardIndex : public BamIndex {
         bool Jump(const BamTools::BamRegion& region, bool* hasAlignmentsInRegion);
         // loads existing data from file into memory
         bool Load(const std::string& filename);
+        BamIndex::IndexType Type(void) const { return BamIndex::STANDARD; }
     public:
         // returns format's file extension
         static const std::string Extension(void);
index 7c1550b6ea287f4baf9c59aa637ac7dfc65b0ca3..1e9ec18c62e02021b01c6fec3a6c943e95dcb658 100644 (file)
@@ -117,6 +117,7 @@ class BamToolsIndex : public BamIndex {
         bool Jump(const BamTools::BamRegion& region, bool* hasAlignmentsInRegion);
         // loads existing data from file into memory
         bool Load(const std::string& filename);
+        BamIndex::IndexType Type(void) const { return BamIndex::BAMTOOLS; }
     public:
         // returns format's file extension
         static const std::string Extension(void);
index 15229c6a687c86730116e462d166ead96f56797a..653e39148bfe0b8bbd4cb65a953b712da40e88a6 100644 (file)
@@ -6,5 +6,5 @@
 # ==========================
 
 # list third-party subdirectories to build in
-add_subdirectory (jsoncpp)
-
+add_subdirectory( gtest-1.6.0 )
+add_subdirectory( jsoncpp )
index 9cc442ad9968f35359a8d884ec0408fba6f4e340..03c091b2197c2aab7bd70c9661cd6019ac376d29 100644 (file)
@@ -6,15 +6,15 @@
 # ==========================
 
 # add compiler definitions 
-add_definitions(-DBAMTOOLS_JSONCPP_LIBRARY) # (for proper exporting of library symbols)
+add_definitions( -DBAMTOOLS_JSONCPP_LIBRARY ) # (for proper exporting of library symbols)
 add_definitions( -fPIC ) # (attempt to force PIC compiling on CentOS, not being set on shared libs by CMake)
 
 # create jsoncpp library
-add_library ( jsoncpp SHARED 
-              json_reader.cpp
-              json_value.cpp
-              json_writer.cpp
-            )
+add_library( jsoncpp SHARED
+             json_reader.cpp
+             json_value.cpp
+             json_writer.cpp
+           )
 
 # set jsoncpp library properties
 set_target_properties( jsoncpp PROPERTIES
index 0620b41893a8b1997a2bdc178d9e52c341a34e9d..2f0bf87c560c718155d2a9d703a1230e0edba983 100644 (file)
@@ -6,28 +6,28 @@
 # ==========================
 
 # set include path
-include_directories ( ${BamTools_SOURCE_DIR}/src/api
-                      ${BamTools_SOURCE_DIR}/src/utils
-                      ${BamTools_SOURCE_DIR}/src/third_party
-                    )
+include_directories( ${BamTools_SOURCE_DIR}/src/api
+                     ${BamTools_SOURCE_DIR}/src/utils
+                     ${BamTools_SOURCE_DIR}/src/third_party
+                   )
 
 # compile main bamtools application
-add_executable ( bamtools_cmd
-                 bamtools_convert.cpp
-                 bamtools_count.cpp
-                 bamtools_coverage.cpp
-                 bamtools_filter.cpp
-                 bamtools_header.cpp
-                 bamtools_index.cpp
-                 bamtools_merge.cpp
-                 bamtools_random.cpp
-                 bamtools_resolve.cpp
-                 bamtools_revert.cpp
-                 bamtools_sort.cpp
-                 bamtools_split.cpp
-                 bamtools_stats.cpp
-                 bamtools.cpp
-               )
+add_executable( bamtools_cmd
+                bamtools_convert.cpp
+                bamtools_count.cpp
+                bamtools_coverage.cpp
+                bamtools_filter.cpp
+                bamtools_header.cpp
+                bamtools_index.cpp
+                bamtools_merge.cpp
+                bamtools_random.cpp
+                bamtools_resolve.cpp
+                bamtools_revert.cpp
+                bamtools_sort.cpp
+                bamtools_split.cpp
+                bamtools_stats.cpp
+                bamtools.cpp
+              )
 
 # set BamTools application properties
 set_target_properties( bamtools_cmd PROPERTIES
@@ -35,10 +35,10 @@ set_target_properties( bamtools_cmd PROPERTIES
                        OUTPUT_NAME "bamtools"
                      )
 # make version info available in application
-configure_file(bamtools_version.h.in ${BamTools_SOURCE_DIR}/src/toolkit/bamtools_version.h)
+configure_file( bamtools_version.h.in ${BamTools_SOURCE_DIR}/src/toolkit/bamtools_version.h )
 
 # define libraries to link
-target_link_libraries ( bamtools_cmd BamTools BamTools-utils jsoncpp )
+target_link_libraries( bamtools_cmd BamTools BamTools-utils jsoncpp )
 
 # set application install destinations
 install( TARGETS bamtools_cmd DESTINATION "bin")
index 46e72352ef1005f4c8b2a3f4a2bb00442e2d2f13..6e37cca13a5e406ec4c8b5502bcb4fea7c494d31 100644 (file)
@@ -6,22 +6,22 @@
 # ==========================
 
 # list include paths
-include_directories (${BamTools_SOURCE_DIR}/src/api) 
+include_directories( ${BamTools_SOURCE_DIR}/src/api )
 
 # add compiler definitions 
-add_definitions(-DBAMTOOLS_UTILS_LIBRARY) # (for proper exporting of library symbols)
+add_definitions( -DBAMTOOLS_UTILS_LIBRARY ) # (for proper exporting of library symbols)
 add_definitions( -fPIC ) # (attempt to force PIC compiling on CentOS, not being set on shared libs by CMake)
 
 # create BamTools utils library
-add_library ( BamTools-utils SHARED 
-              bamtools_fasta.cpp
-              bamtools_options.cpp
-              bamtools_pileup_engine.cpp
-              bamtools_utilities.cpp
-            )
+add_library( BamTools-utils SHARED
+             bamtools_fasta.cpp
+             bamtools_options.cpp
+             bamtools_pileup_engine.cpp
+             bamtools_utilities.cpp
+           )
 
 # link BamTools-utils library with BamTools automatically
-target_link_libraries ( BamTools-utils BamTools )
+target_link_libraries( BamTools-utils BamTools )
 
 # set BamTools library properties
 set_target_properties( BamTools-utils PROPERTIES