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
|
cmake_minimum_required (VERSION 3.5.1)
project (MetaBAT)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()
message(STATUS "Installing ${CMAKE_BUILD_TYPE} MetaBAT into ${CMAKE_INSTALL_PREFIX}")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/cmake/Modules )
include(GetGitVersion)
set(EXTRA_DEPENDENCIES "")
option(METABAT_USE_SYSTEM_ZLIB "Try to find and use system ZLIB" ON)
if(METABAT_USE_SYSTEM_ZLIB)
find_package(ZLIB 1.2.11)
if(NOT ZLIB_FOUND)
message(STATUS "Could not find a system version of zlib")
endif()
else()
message(STATUS "Skipping system detection of system install of zlib")
endif()
if (NOT ZLIB_FOUND)
message(STATUS "Including zlib via add_external_project")
include(${PROJECT_SOURCE_DIR}/cmake/zlib.cmake)
set(EXTRA_DEPENDENCIES ${EXTRA_DEPENDENCIES} zlib)
else()
message(STATUS "Using system zlib")
endif()
option(METABAT_USE_SYSTEM_HTSLIB "Try to find and use system HTSLIB" ON)
if(METABAT_USE_SYSTEM_HTSLIB)
#include(FindHTSlib)
find_package(HTSlib 1.13)
if (NOT HTSlib_FOUND)
message(STATUS "Could not find a system installation of htslib")
endif()
else()
message(STATUS "Skipping detection of system install of htslib")
endif()
if (NOT HTSlib_FOUND)
message(STATUS "Including htslib via add_external_project")
include(${PROJECT_SOURCE_DIR}/cmake/htslib.cmake)
set(EXTRA_DEPENDENCIES ${EXTRA_DEPENDENCIES} htslib)
else()
message(STATUS "using system htslib")
endif()
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_C_STANDARD 17)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS OFF)
add_definitions(-D_XOPEN_SOURCE=700)
set(PRE_CONFIGURE_FILE "metabat_version.h.in")
set(POST_CONFIGURE_FILE "metabat_version.h")
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
# using Clang
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
# using AppleClang
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
# using GCC
if ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -mtune=native")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -mtune=native")
endif()
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
# using Intel C++
endif()
include_directories(${CMAKE_SOURCE_DIR})
get_git_version(MetaBAT)
add_subdirectory(src)
if (NOT NO_TESTING)
enable_testing()
add_subdirectory(test)
endif()
install(PROGRAMS runMetaBat.sh filter_sam_by_min_len.py aggregateBinDepths.pl aggregateContigOverlapsByBin.pl
merge_abundances.py merge_depths-DEPRECATED.pl
DESTINATION bin/
)
INSTALL(CODE "execute_process( \
COMMAND ${CMAKE_COMMAND} -E create_symlink \
metabat2 \
${CMAKE_INSTALL_PREFIX}/bin/metabat \
)"
)
|