在大量的C/C++的项目中都使用CMake来进行项目的管理,而CUDA又是很流行的并行计算库,利用CMake来构建CUDA项目就显得很有必要了,而且项目中使用的CMakeLists.txt基本框架一致的,下面简单地记载一下这种CMakeLists.txt文件的内容:
# CMakeLists.txt for G4CU projectproject(test_cuda_project)# required cmake versioncmake_minimum_required(VERSION 2.8)# packagesfind_package(CUDA)# nvcc flagsset(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这个文件。