Skip to content

Commit eb2f285

Browse files
committed
Add MONI v0.1.0
1 parent b314e83 commit eb2f285

25 files changed

+273021
-3
lines changed

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,9 @@
3030
*.exe
3131
*.out
3232
*.app
33+
34+
# Folders
35+
build/*
36+
debug/*
37+
data/*
38+
!data/yeast.fasta

CMakeLists.txt

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
CMAKE_MINIMUM_REQUIRED(VERSION 3.15)
2+
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules")
3+
4+
# Set a default build type if none was specified
5+
# ------------------------------------------------------------------------------
6+
if(NOT CMAKE_BUILD_TYPE)
7+
message(STATUS "Setting build type to 'Release' as none was specified.")
8+
set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE)
9+
endif()
10+
11+
# About this project
12+
# ------------------------------------------------------------------------------
13+
project(moni)
14+
SET(VERSION_MAJOR "0")
15+
SET(VERSION_MINOR "1")
16+
SET(VERSION_PATCH "0")
17+
SET(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
18+
19+
# Set environment
20+
# ------------------------------------------------------------------------------
21+
set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install)
22+
23+
24+
find_package(Git)
25+
if(GIT_FOUND)
26+
message("git found: ${GIT_EXECUTABLE}")
27+
else()
28+
message(WARNING "git not found. Cloning of submodules will not work.")
29+
endif()
30+
31+
32+
33+
# Configure thirdparty
34+
# ------------------------------------------------------------------------------
35+
set(CMAKE_INSTALL_INCLUDEDIR "include") # This is an hack because include(GUIInstallDirs) doesn't work
36+
37+
add_subdirectory(thirdparty)
38+
39+
40+
# Configure the compiler with the appropriate flags
41+
# ------------------------------------------------------------------------------
42+
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
43+
# using Clang
44+
include(ConfigureCompilerClang)
45+
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
46+
# using GCC
47+
include(ConfigureCompilerGcc)
48+
else ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
49+
message(FATAL_ERROR "Only the compiler gcc and clang are supported")
50+
endif()
51+
52+
53+
add_subdirectory(src)
54+
add_subdirectory(utils)
55+
56+
configure_file(${PROJECT_SOURCE_DIR}/pipeline/moni ${PROJECT_BINARY_DIR}/moni)
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
# ##############################################################################
2+
# Compiler configuration
3+
# @author Massimiliano Rossi
4+
# ##############################################################################
5+
6+
# Add the basic compiler options
7+
add_compile_options("-std=c++11")
8+
# add_compile_options("-Werror")
9+
add_compile_options("-Wall")
10+
add_compile_options("-Wextra")
11+
add_compile_options("-Wcomment")
12+
add_compile_options("-Wformat=2")
13+
add_compile_options("-Wnonnull")
14+
add_compile_options("-Winit-self")
15+
add_compile_options("-Wmain")
16+
add_compile_options("-Wmissing-braces")
17+
add_compile_options("-Wmissing-include-dirs")
18+
add_compile_options("-Wparentheses")
19+
add_compile_options("-Wsequence-point")
20+
add_compile_options("-Wreturn-type")
21+
add_compile_options("-Wdate-time")
22+
add_compile_options("-Wswitch")
23+
add_compile_options("-Wswitch-default")
24+
add_compile_options("-Wswitch-enum")
25+
add_compile_options("-Wunused-function")
26+
add_compile_options("-Wunused-label")
27+
add_compile_options("-Wunused-local-typedefs")
28+
add_compile_options("-Wunused-parameter")
29+
add_compile_options("-Wunused-variable")
30+
add_compile_options("-Wunused-value")
31+
add_compile_options("-Wunused")
32+
add_compile_options("-Wuninitialized")
33+
add_compile_options("-Wunknown-pragmas")
34+
add_compile_options("-Wstrict-aliasing")
35+
add_compile_options("-Wstrict-overflow=5")
36+
add_compile_options("-Warray-bounds")
37+
add_compile_options("-Wundef")
38+
add_compile_options("-Wendif-labels")
39+
add_compile_options("-Wshadow")
40+
add_compile_options("-Wpointer-arith")
41+
add_compile_options("-Wtype-limits")
42+
add_compile_options("-Wcast-qual")
43+
add_compile_options("-Wwrite-strings")
44+
add_compile_options("-Wconversion")
45+
add_compile_options("-Wenum-compare")
46+
add_compile_options("-Wsign-compare")
47+
add_compile_options("-Waddress")
48+
add_compile_options("-Wattributes")
49+
add_compile_options("-Wbuiltin-macro-redefined")
50+
add_compile_options("-Wmissing-declarations")
51+
add_compile_options("-Wmissing-field-initializers")
52+
add_compile_options("-Wdeprecated")
53+
add_compile_options("-Wdeprecated-declarations")
54+
add_compile_options("-Woverflow")
55+
add_compile_options("-Wpacked")
56+
add_compile_options("-Winline")
57+
add_compile_options("-Wint-to-pointer-cast")
58+
add_compile_options("-Winvalid-pch")
59+
add_compile_options("-Wno-long-long")
60+
add_compile_options("-Wno-variadic-macros")
61+
add_compile_options("-Wvarargs")
62+
add_compile_options("-Wvla")
63+
add_compile_options("-Wvolatile-register-var")
64+
add_compile_options("-Wdisabled-optimization")
65+
add_compile_options("-Wstack-protector")
66+
add_compile_options("-Woverlength-strings")
67+
add_compile_options("-fvisibility=hidden")
68+
add_compile_options("-Wc++11-compat")
69+
add_compile_options("-Wconversion-null")
70+
add_compile_options("-Winherited-variadic-ctor")
71+
add_compile_options("-Winvalid-offsetof")
72+
add_compile_options("-pedantic")
73+
add_compile_options("-fno-gnu-keywords")
74+
add_compile_options("-Wctor-dtor-privacy")
75+
add_compile_options("-Wdelete-non-virtual-dtor")
76+
add_compile_options("-Wnarrowing")
77+
add_compile_options("-Wnon-virtual-dtor")
78+
add_compile_options("-Wreorder")
79+
add_compile_options("-Weffc++")
80+
add_compile_options("-Wold-style-cast")
81+
add_compile_options("-Wsign-promo")
82+
add_compile_options("-Wchar-subscripts")
83+
add_compile_options("-Wno-ignored-qualifiers")
84+
add_compile_options("-Wuninitialized")
85+
add_compile_options("-Wdiv-by-zero")
86+
add_compile_options("-Wfloat-equal")
87+
add_compile_options("-Wcast-align")
88+
add_compile_options("-Wempty-body")
89+
add_compile_options("-Wsizeof-pointer-memaccess")
90+
add_compile_options("-Wmultichar")
91+
add_compile_options("-fPIC")
92+
93+
94+
# Add the basic compiler options for debug version
95+
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -ggdb3")
96+
# Add the basic compiler options for release version
97+
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -ansi -march=native -funroll-loops -O3 -DNDEBUG")
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
# ##############################################################################
2+
# Compiler configuration
3+
# @author Massimiliano Rossi
4+
# ##############################################################################
5+
6+
# Add the basic compiler options
7+
add_compile_options("-std=c++11")
8+
# add_compile_options("-Werror")
9+
add_compile_options("-Wall")
10+
add_compile_options("-Wextra")
11+
add_compile_options("-Wcomment")
12+
add_compile_options("-Wdouble-promotion")
13+
add_compile_options("-Wformat=2")
14+
add_compile_options("-Wnonnull")
15+
add_compile_options("-Winit-self")
16+
add_compile_options("-Wmain")
17+
add_compile_options("-Wmissing-braces")
18+
add_compile_options("-Wmissing-include-dirs")
19+
add_compile_options("-Wparentheses")
20+
add_compile_options("-Wsequence-point")
21+
add_compile_options("-Wreturn-local-addr")
22+
add_compile_options("-Wreturn-type")
23+
add_compile_options("-Wswitch")
24+
add_compile_options("-Wswitch-default")
25+
add_compile_options("-Wswitch-enum")
26+
add_compile_options("-Wunused-but-set-parameter")
27+
add_compile_options("-Wunused-but-set-variable")
28+
add_compile_options("-Wunused-function")
29+
add_compile_options("-Wunused-label")
30+
add_compile_options("-Wunused-local-typedefs")
31+
add_compile_options("-Wunused-parameter")
32+
add_compile_options("-Wunused-variable")
33+
add_compile_options("-Wunused-value")
34+
add_compile_options("-Wunused")
35+
add_compile_options("-Wuninitialized")
36+
add_compile_options("-Wunknown-pragmas")
37+
add_compile_options("-Wstrict-aliasing")
38+
add_compile_options("-Wstrict-overflow=5")
39+
add_compile_options("-Warray-bounds")
40+
add_compile_options("-Wundef")
41+
add_compile_options("-Wendif-labels")
42+
add_compile_options("-Wshadow")
43+
add_compile_options("-Wfree-nonheap-object")
44+
add_compile_options("-Wunsafe-loop-optimizations")
45+
add_compile_options("-Wpointer-arith")
46+
add_compile_options("-Wtype-limits")
47+
add_compile_options("-Wcast-qual")
48+
add_compile_options("-Wwrite-strings")
49+
add_compile_options("-Wclobbered")
50+
add_compile_options("-Wconversion")
51+
add_compile_options("-Wenum-compare")
52+
add_compile_options("-Wsign-compare")
53+
add_compile_options("-Wsign-conversion")
54+
add_compile_options("-Waddress")
55+
add_compile_options("-Wlogical-op")
56+
add_compile_options("-Wno-aggressive-loop-optimizations")
57+
add_compile_options("-Wattributes")
58+
add_compile_options("-Wbuiltin-macro-redefined")
59+
add_compile_options("-Wmissing-declarations")
60+
add_compile_options("-Wmissing-field-initializers")
61+
add_compile_options("-Wdeprecated")
62+
add_compile_options("-Wdeprecated-declarations")
63+
add_compile_options("-Woverflow")
64+
add_compile_options("-Wpacked")
65+
add_compile_options("-Wno-packed-bitfield-compat")
66+
add_compile_options("-Winline")
67+
add_compile_options("-Wint-to-pointer-cast")
68+
add_compile_options("-Winvalid-pch")
69+
add_compile_options("-Wno-long-long")
70+
add_compile_options("-Wno-variadic-macros")
71+
add_compile_options("-Wvarargs")
72+
add_compile_options("-Wvector-operation-performance")
73+
add_compile_options("-Wvla")
74+
add_compile_options("-Wvolatile-register-var")
75+
add_compile_options("-Wdisabled-optimization")
76+
add_compile_options("-Wstack-protector")
77+
add_compile_options("-Woverlength-strings")
78+
add_compile_options("-fvisibility=hidden")
79+
add_compile_options("-Wc++11-compat")
80+
add_compile_options("-Wconversion-null")
81+
add_compile_options("-Wuseless-cast")
82+
add_compile_options("-Winherited-variadic-ctor")
83+
add_compile_options("-Winvalid-offsetof")
84+
add_compile_options("-Wvirtual-move-assign")
85+
add_compile_options("-pedantic")
86+
add_compile_options("-fno-gnu-keywords")
87+
add_compile_options("-foptional-diags")
88+
add_compile_options("-Wctor-dtor-privacy")
89+
add_compile_options("-Wdelete-non-virtual-dtor")
90+
add_compile_options("-Wliteral-suffix")
91+
add_compile_options("-Wnarrowing")
92+
add_compile_options("-Wnon-virtual-dtor")
93+
add_compile_options("-Wreorder")
94+
add_compile_options("-Weffc++")
95+
add_compile_options("-fno-ext-numeric-literals")
96+
add_compile_options("-Wnon-template-friend")
97+
add_compile_options("-Wold-style-cast")
98+
add_compile_options("-Wpmf-conversions")
99+
add_compile_options("-Wsign-promo")
100+
add_compile_options("-Wchar-subscripts")
101+
add_compile_options("-Wno-ignored-qualifiers")
102+
add_compile_options("-Wmaybe-uninitialized")
103+
add_compile_options("-Wdiv-by-zero")
104+
add_compile_options("-Wtrampolines")
105+
add_compile_options("-Wfloat-equal")
106+
add_compile_options("-Wcast-align")
107+
add_compile_options("-Wempty-body")
108+
add_compile_options("-Wsizeof-pointer-memaccess")
109+
add_compile_options("-Wmultichar")
110+
add_compile_options("-Wnormalized=nfc")
111+
add_compile_options("-Wnoexcept")
112+
add_compile_options("-Wstrict-null-sentinel")
113+
114+
# Add the basic compiler options for debug version
115+
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -ggdb3")
116+
# Add the basic compiler options for release version
117+
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -ansi -march=native -funroll-loops -O3 -DNDEBUG")

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2021 Massimiliano Rossi
3+
Copyright (c) 2020 Massimiliano Rossi
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

0 commit comments

Comments
 (0)