Skip to content

Commit

Permalink
feat: using cpm.dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
SGSSGene committed Oct 23, 2024
1 parent 21020f9 commit f210228
Show file tree
Hide file tree
Showing 4 changed files with 75 additions and 34 deletions.
26 changes: 3 additions & 23 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,7 @@
# SPDX-License-Identifier: CC0-1.0
cmake_minimum_required (VERSION 3.25)


# check if this is the main project
if (NOT DEFINED PROJECT_NAME)
set(ROOT_PROJECT TRUE)
else ()
set(ROOT_PROJECT FALSE)
endif ()

project(fmindex-collection LANGUAGES CXX
project(fmindex-collection LANGUAGES CXX C
DESCRIPTION "fmindex-collection -- Datastructures and Algorithms for (Bi-)FMIndices and Approximate Pattern Matching")

option(FMC_USE_SDSL "Activate occ tables that use SDSL as a backend" ${PROJECT_IS_TOP_LEVEL})
Expand All @@ -24,26 +16,14 @@ endif()

find_package(OpenMP QUIET)
include(cmake/CPM.cmake)
CPMAddPackage("gh:SGSSGene/[email protected]")
CPMLoadDependenciesFile("${CMAKE_CURRENT_SOURCE_DIR}/cpm.dependencies")
include(fmindex_collection-config.cmake)
if (CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM")
target_compile_options(libsais PRIVATE -fp-model=strict -fno-strict-aliasing)
endif()

if (PROJECT_IS_TOP_LEVEL)
CPMAddPackage("gh:fmtlib/fmt#[email protected]")
CPMAddPackage("gh:catchorg/[email protected]")
CPMAddPackage("gh:SGSSGene/[email protected]")
set(BUILD_DOC OFF)
set(BUILD_SANDBOX OFF)
set(SKIP_PERFORMANCE_COMPARISON ON)
CPMAddPackage("gh:USCiLab/[email protected]")
CPMAddPackage("gh:boost-ext/[email protected]")
if (reflect_ADDED)
add_library(reflect INTERFACE)
target_include_directories(reflect SYSTEM INTERFACE ${reflect_SOURCE_DIR})
add_library(reflect::reflect ALIAS reflect)
endif()

enable_testing()
add_subdirectory(src/test_fmindex-collection)
add_subdirectory(src/test_search_schemes)
Expand Down
71 changes: 71 additions & 0 deletions cpm.dependencies
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
{
"format_version": "1",
"packages": [
{
"name": "libsais",
"version": "2.8.5",
"github_repository": "IlyaGrebnov/libsais",
"options": [
"LIBSAIS_USE_OPENMP ${OpenMP_C_FOUND}",
"LIBSAIS_BUILD_SHARED_LIB OFF"
]
},
{
"if": "FMC_USE_SDSL",
"name": "sdsl-lite",
"version": "3.0.3",
"github_repository": "xxsds/sdsl-lite",
"download_only": true,
"cmake_commands": [
"add_library(sdsl-lite INTERFACE)",
"target_include_directories(sdsl-lite INTERFACE SYSTEM ${CPM_CURRENT_SOURCE_DIR}/include)",
"add_library(sdsl-lite::sdsl-lite ALIAS sdsl-lite)"
],
"git_tag_ignore": [
"[Cc]++.*"
]
},
{
"if": "PROJECT_IS_TOP_LEVEL",
"name": "fmt",
"version": "11.0.2",
"github_repository": "fmtlib/fmt",
"git_tag": "{VERSION}"
},
{
"if": "PROJECT_IS_TOP_LEVEL",
"name": "Catch2",
"version": "3.7.1",
"github_repository": "catchorg/Catch2"
},
{
"if": "PROJECT_IS_TOP_LEVEL",
"name": "nanobench",
"version": "4.3.11",
"github_repository": "martinus/nanobench"
},
{
"if": "PROJECT_IS_TOP_LEVEL",
"name": "cereal",
"version": "1.3.2",
"github_repository": "USCiLab/cereal",
"options": [
"BUILD_DOC OFF",
"BUILD_SANDBOX OFF",
"SKIP_PERFORMANCE_COMPARISON ON"
]
},
{
"if": "PROJECT_IS_TOP_LEVEL",
"name": "reflect",
"version": "1.2.4",
"github_repository": "boost-ext/reflect",
"cmake_commands": [
"add_library(reflect INTERFACE)",
"target_include_directories(reflect SYSTEM INTERFACE ${CPM_CURRENT_SOURCE_DIR})",
"target_compile_options(reflect INTERFACE -std=c++20)",
"add_library(reflect::reflect ALIAS reflect)"
]
}
]
}
8 changes: 0 additions & 8 deletions fmindex_collection-config.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,5 @@ if (TARGET fmindex-collection::fmindex-collection)
return()
endif()

set(LIBSAIS_USE_OPENMP ${OpenMP_C_FOUND})
set(LIBSAIS_BUILD_SHARED_LIB OFF)
CPMAddPackage("gh:IlyaGrebnov/[email protected]")

if (FMC_USE_SDSL)
CPMAddPackage("gh:SGSSGene/[email protected]")
endif()

add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/src/search_schemes ${CMAKE_CURRENT_BINARY_DIR}/search_schemes)
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/src/fmindex-collection ${CMAKE_CURRENT_BINARY_DIR}/fmindex-collection)
4 changes: 1 addition & 3 deletions src/fmindex-collection/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# SPDX-FileCopyrightText: 2006-2023, Knut Reinert & Freie Universität Berlin
# SPDX-FileCopyrightText: 2016-2023, Knut Reinert & MPI für molekulare Genetik
# SPDX-License-Identifier: CC0-1.0
cmake_minimum_required (VERSION 3.20)
cmake_minimum_required (VERSION 3.25)

project(fmindex-collection)

Expand All @@ -10,8 +10,6 @@ add_library(${PROJECT_NAME} INTERFACE)
target_compile_features(${PROJECT_NAME} INTERFACE cxx_std_20)
add_library(fmindex-collection::fmindex-collection ALIAS ${PROJECT_NAME})

option(FMC_USE_SDSL "Activate occ tables that use SDSL as a backend" ${ROOT_PROJECT})

target_include_directories(${PROJECT_NAME}
INTERFACE
${CMAKE_CURRENT_SOURCE_DIR}
Expand Down

0 comments on commit f210228

Please sign in to comment.