You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1.2 KiB
32 lines
1.2 KiB
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("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
|
|
#add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/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)
|