CMake构建CUDA项目
在大量的C/C++的项目中都使用CMake来进行项目的管理,而CUDA又是很流行的并行计算库,利用CMake来构建CUDA项目就显得很有必要了,而且项目中使用的CMakeLists.txt基本框架一致的,下面简单地记载一下这种CMakeLists.txt文件的内容:
# CMakeLists.txt for G4CU project
project(test_cuda_project)
# required cmake version
cmake_minimum_required(VERSION 2.8)
# packages
find_package(CUDA)
# nvcc flags
set(CUDA_NVCC_FLAGS -gencode arch=compute_20,code=sm_20;-G;-g)
#set(CUDA_NVCC_FLAGS -gencode arch=compute_52,code=sm_52;-G;-g)
file(GLOB_RECURSE CURRENT_HEADERS *.h *.hpp *.cuh)
file(GLOB CURRENT_SOURCES *.cpp *.cu)
source_group("Include" FILES ${CURRENT_HEADERS})
source_group("Source" FILES ${CURRENT_SOURCES})
CUDA_ADD_EXECUTABLE(test_cuda_project ${CURRENT_HEADERS} ${CURRENT_SOURCES})
更多的信息可以查看FindCUDA.cmake这个文件。