cmake_minimum_required(VERSION 3.21) project(NurbsEvaluator LANGUAGES CXX CUDA) set(CMAKE_CUDA_STANDARD 14) add_executable(NurbsEvaluator src/main.cpp src/utils.cpp include/utils.h src/device/NurbsCommon.cu include/device/NurbsCommon.cuh src/device/DeviceUtils.cu include/device/DeviceUtils.cuh src/device/NurbsSurface.cu include/device/NurbsSurface.cuh src/device/NurbsCurve.cu include/device/NurbsCurve.cuh) #add_compile_options("$<$:/utf-8>") #add_compile_options("$<$:/utf-8>") # 指定静态库位置 #set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) #生成静态库 #add_library(NurbsEvaluator NurbsEvaluator.cu NurbsEvaluator.cuh utils.cpp utils.h) # 引用系统环境变量CUDA_PATH # linux #include_directories("/usr/local/device-11.8/targets/x86_64-linux/include") # windows include_directories("$ENV{CUDA_PATH}/include") #MESSAGE("CUDA PATH::: $ENV{CUDA_PATH}") #MESSAGE("CUDA PATH::: $ENV{LD_LIBRARY_PATH}") #MESSAGE("CUDA PATH::: $ENV{CPATH}") set_target_properties(NurbsEvaluator PROPERTIES CUDA_SEPARABLE_COMPILATION ON) if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES) set(CMAKE_CUDA_ARCHITECTURES 70 75 80) endif(NOT DEFINED CMAKE_CUDA_ARCHITECTURES)