From 9c5bfdd978e753c3b0250991030d32feaa3a8b1b Mon Sep 17 00:00:00 2001 From: erwincoumans Date: Mon, 20 Nov 2017 17:27:05 -0800 Subject: [PATCH] update CMake 3.8 support for CUDA 9, makes CUDA C++ an intrinsically supported language (add_executable instead of cuda_add_executable and add_library instead of cuda_add_library) see https://devblogs.nvidia.com/parallelforall/building-cuda-applications-cmake/ --- CMakeLists.txt | 17 ++++++++++------- src/CMakeLists.txt | 3 +-- util/CMakeLists.txt | 3 +-- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ed74e88..9f595da 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,7 @@ cmake_minimum_required(VERSION 3.0) -project(cis565_rasterizer) +project(cis565_rasterizer LANGUAGES CXX CUDA) + set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) @@ -48,9 +49,9 @@ set(CUDA_PROPAGATE_HOST_FLAGS OFF) set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g") set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g") set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG") -list(APPEND CUDA_NVCC_FLAGS_DEBUG -O0 -g -G) -list(APPEND CUDA_NVCC_FLAGS_RELWITHDEBINFO -O2 -g -lineinfo) -list(APPEND CUDA_NVCC_FLAGS_RELEASE -O3 -DNDEBUG) +#list(APPEND CUDA_NVCC_FLAGS_DEBUG -O0 -g -G) +#list(APPEND CUDA_NVCC_FLAGS_RELWITHDEBINFO -O2 -g -lineinfo) +#list(APPEND CUDA_NVCC_FLAGS_RELEASE -O3 -DNDEBUG) if (WIN32) set(CUDA_PROPAGATE_HOST_FLAGS ON) set(CMAKE_CXX_FLAGS "/MD /EHsc /D _CRT_SECURE_NO_WARNINGS") @@ -76,8 +77,8 @@ if (WIN32) endif() # CUDA linker options -find_package(Threads REQUIRED) -find_package(CUDA 8.0 REQUIRED) +#find_package(Threads REQUIRED) +#find_package(CUDA 8.0 REQUIRED) set(CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE ON) set(CUDA_SEPARABLE_COMPILATION ON) @@ -85,11 +86,13 @@ set(CUDA_SEPARABLE_COMPILATION ON) add_subdirectory(src) add_subdirectory(util) -cuda_add_executable(${CMAKE_PROJECT_NAME} +add_executable(${CMAKE_PROJECT_NAME} "src/main.hpp" "src/main.cpp" ) +target_compile_features(${CMAKE_PROJECT_NAME} PUBLIC cxx_std_11) + target_link_libraries(${CMAKE_PROJECT_NAME} src util diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a57f69f..69a6ea2 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -4,7 +4,6 @@ set(SOURCE_FILES "rasterizeTools.h" ) -cuda_add_library(src +add_library(src ${SOURCE_FILES} - OPTIONS -arch=sm_20 ) diff --git a/util/CMakeLists.txt b/util/CMakeLists.txt index c995fae..771f919 100644 --- a/util/CMakeLists.txt +++ b/util/CMakeLists.txt @@ -6,7 +6,6 @@ set(SOURCE_FILES "tiny_gltf_loader.h" ) -cuda_add_library(util +add_library(util ${SOURCE_FILES} - OPTIONS -arch=sm_52 )