123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- project(nvBio)
- cmake_minimum_required(VERSION 2.8)
- # available options
- option(CUDA_VERBOSE_PTXAS
- "Enable verbose output from PTXAS"
- ON)
- option(PROFILING
- "Enable profiling"
- OFF)
- option(WERROR
- "Treat compiler warnings as errors"
- OFF)
- set(GPU_ARCHITECTURE "sm_35" CACHE STRING "Target GPU architecture")
- set(NVBIO_SOURCE_ROOT ${CMAKE_CURRENT_SOURCE_DIR})
- # import our own nvbio_* macros
- include("${NVBIO_SOURCE_ROOT}/cmake-local/nvbio.cmake")
- # grab gcc flags
- include("${NVBIO_SOURCE_ROOT}/cmake-local/gcc.cmake")
- # default to release builds
- if (NOT CMAKE_BUILD_TYPE)
- set(CMAKE_BUILD_TYPE "Release")
- endif()
- message(STATUS "Building ${CMAKE_BUILD_TYPE}")
- if (CMAKE_BUILD_TYPE MATCHES "Debug")
- add_definitions(-DTHRUST_DEBUG)
- add_definitions(-DCUDA_DEBUG)
- set(CUDA_NVCC_DEBUG_FLAGS "-g -lineinfo")
- else()
- set(CUDA_NVCC_DEBUG_FLAGS "")
- endif()
- if (CMAKE_SYSTEM_PROCESSOR MATCHES "Intel" OR CMAKE_SYSTEM_PROCESSOR MATCHES "x86")
- add_definitions(-DPLATFORM_X86)
- endif()
- find_package(CUDA)
- find_package(Doxygen)
- find_package(OpenMP)
- if (OPENMP_FOUND)
- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
- endif()
- # set up required system libs
- set(SYSTEM_LINK_LIBRARIES "")
- if (CMAKE_SYSTEM_NAME MATCHES "Linux")
- # shm_* live in librt on Linux
- list(APPEND SYSTEM_LINK_LIBRARIES rt)
- endif()
- if (MSVC_IDE)
- # suppress automatic regeneration of VS project files
- #set(CMAKE_SUPPRESS_REGENERATION ON)
- endif()
- if (APPLE AND "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
- find_program(CLANG_BIN clang)
- set(CUDA_NVCC_FLAGS " -ccbin ${CLANG_BIN} -Xcompiler -stdlib=libstdc++")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -stdlib=libstdc++")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libstdc++")
- endif()
- set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} ${CUDA_NVCC_DEBUG_FLAGS} --gpu-architecture=${GPU_ARCHITECTURE} -use_fast_math)
- set(cudpp_INCLUDE_DIRS ${NVBIO_SOURCE_ROOT})
- set(INCLUDE_DIRS ${NVBIO_SOURCE_ROOT} ${NVBIO_SOURCE_ROOT}/contrib ${CMAKE_BINARY_DIR}/contrib/zlib-1.2.7 ${NVBIO_SOURCE_ROOT}/contrib/crc ${NVBIO_SOURCE_ROOT}/contrib/bamtools ${NVBIO_SOURCE_ROOT}/contrib/moderngpu/include)
- include_directories(${INCLUDE_DIRS})
- # export our include directories in the cache for external projects to pick up
- set(nvbio_INCLUDE_DIRECTORIES ${INCLUDE_DIRS} CACHE STRING "nvbio include paths")
- add_subdirectory(contrib/zlib-1.2.7)
- add_subdirectory(contrib/lz4)
- add_subdirectory(contrib/crc)
- add_subdirectory(contrib/bamtools)
- add_subdirectory(contrib/moderngpu)
- add_subdirectory(contrib/htslib)
- add_subdirectory(nvbio)
- add_subdirectory(nvBowtie)
- add_subdirectory(nvFM-server)
- add_subdirectory(nvBWT)
- add_subdirectory(nvSetBWT)
- add_subdirectory(nvSSA)
- add_subdirectory(nvExtractReads)
- add_subdirectory(nvLighter)
- add_subdirectory(nvmem)
- add_subdirectory(nvbio-test)
- add_subdirectory(nvbio-aln-diff)
- add_subdirectory(nvMicroAssembly)
- add_subdirectory(sufsort-test)
- add_subdirectory(sw-benchmark)
- add_subdirectory(examples/waveletfm)
- add_subdirectory(examples/proteinsw)
- add_subdirectory(examples/seeding)
- add_subdirectory(examples/fmmap)
- add_subdirectory(examples/qmap)
- add_subdirectory(examples/mem)
- nvbio_module(nvbio-project)
- nvbio_doxygen()
|