cmake_minimum_required(VERSION 3.21) project(NurbsPerformer LANGUAGES CXX CUDA) set(CMAKE_CUDA_STANDARD 14) add_executable(NurbsPerformer src/main.cpp src/utils.cpp include/utils.h src/device/Nurbs/nurbs_common.cu include/device/Nurbs/nurbs_common.cuh src/device/device_utils.cu include/device/device_utils.cuh src/device/Nurbs/nurbs_surface.cu include/device/Nurbs/nurbs_surface.cuh src/device/Nurbs/nurbs_curve.cu include/device/Nurbs/nurbs_curve.cuh src/device/aabb.cu include/device/aabb.cuh src/device/vec.cu include/device/vec.cuh src/device/Nurbs/bvh.cu include/device/Nurbs/bvh.cuh ) #add_compile_options("$<$:/utf-8>") #add_compile_options("$<$:/utf-8>") # 指定静态库位置 #set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) #生成静态库 #add_library(NurbsPerformer NurbsPerformer.cu NurbsPerformer.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(NurbsPerformer PROPERTIES CUDA_SEPARABLE_COMPILATION ON) if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES) set(CMAKE_CUDA_ARCHITECTURES 70 75 80) endif(NOT DEFINED CMAKE_CUDA_ARCHITECTURES)