cmake_minimum_required(VERSION 3.21) project(NurbsPerformer LANGUAGES CXX CUDA) set(CMAKE_CUDA_STANDARD 14) set(PROJECT_SOURCES tests/main.cpp src/utils.cpp include/utils.h src/device/aabb.cu include/device/aabb.cuh src/device/vec.cu include/device/vec.cuh src/device/device_utils.cu include/device/device_utils.cuh src/device/Nurbs/nurbs_common.cu include/device/Nurbs/nurbs_common.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/Nurbs/bvh.cu include/device/Nurbs/bvh.cuh src/device/Nurbs/loop_detection.cu include/device/Nurbs/loop_detection.cuh src/device/srf_mesh.cu include/device/srf_mesh.cuh) add_executable(NurbsPerformer ${PROJECT_SOURCES}) #add_compile_options("$<$:/utf-8>") #add_compile_options("$<$:/utf-8>") # 指定静态库位置 #set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) #生成静态库 #add_library(NurbsPerformer ${PROJECT_SOURCES}) # 引用系统环境变量CUDA_PATH # linux #include_directories("/usr/local/device-11.8/targets/x86_64-linux/include") # windows include_directories("$ENV{CUDA_PATH}/include") include_directories("E:/CLib/glm") include_directories(include) include_directories("E:/CLib/tinynurbs/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)