project(MemoryProcessing) cmake_minimum_required(VERSION 3.19) option(INCLUDE_CUDA "GPU build in mode" OFF) enable_language(CXX) set(CMAKE_CXX_STANDARD 11) message(STATUS "memory processing: GPU build in mode is ${INCLUDE_CUDA}") if(INCLUDE_CUDA) enable_language(CUDA) include_directories(${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}) # -DCMAKE_CUDA_ARCHITECTURES=native -- Compile for the architecture(s) of the host's GPU(s) endif(INCLUDE_CUDA) set(SOURCES_CXX src/MemoryProcessing.cpp ) set(HEADERS_CXX include/MemoryProcessing.h include/TemplateParameters.h ) if(INCLUDE_CUDA) set(SOURCES_CU src/MemoryProcessing.cu ) set(HEADERS_CU include/MemoryProcessing.cuh ) endif(INCLUDE_CUDA) set(SOURCES ${SOURCES_CU} ${SOURCES_CXX}) set(HEADERS ${HEADERS_CU} ${HEADERS_CXX}) add_library(memproc STATIC ${HEADERS} ${SOURCES})