File: CMakeLists.txt

package info (click to toggle)
metabat 2.18-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 972 kB
  • sloc: cpp: 10,869; sh: 422; python: 297; perl: 163; makefile: 19; ansic: 11
file content (99 lines) | stat: -rw-r--r-- 2,814 bytes parent folder | download
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   \
    )"
)