forked from ingowald/optix7course
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
98 lines (80 loc) · 3.79 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# ======================================================================== #
# Copyright 2018-2019 Ingo Wald #
# #
# Licensed under the Apache License, Version 2.0 (the "License"); #
# you may not use this file except in compliance with the License. #
# You may obtain a copy of the License at #
# #
# http://www.apache.org/licenses/LICENSE-2.0 #
# #
# Unless required by applicable law or agreed to in writing, software #
# distributed under the License is distributed on an "AS IS" BASIS, #
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
# See the License for the specific language governing permissions and #
# limitations under the License. #
# ======================================================================== #
if (POLICY CMP0048)
cmake_policy(SET CMP0048 NEW)
endif (POLICY CMP0048)
if (POLICY CMP0077)
cmake_policy(SET CMP0077 NEW)
endif()
project(optix7course VERSION 1.0.1)
cmake_minimum_required(VERSION 2.8)
if (NOT WIN32)
# visual studio doesn't like these (not need them):
set (CMAKE_CXX_FLAGS "--std=c++11")
set (CUDA_PROPAGATE_HOST_FLAGS ON)
endif()
# ------------------------------------------------------------------
# first, include gdt project to do some general configuration stuff
# (build modes, glut, optix, etc)
# ------------------------------------------------------------------
set(gdt_dir ${PROJECT_SOURCE_DIR}/common/gdt/)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${gdt_dir}/cmake/")
include(${gdt_dir}/cmake/configure_build_type.cmake)
include(${gdt_dir}/cmake/configure_optix.cmake)
#set(glfw_dir ${PROJECT_SOURCE_DIR}/submodules/glfw/)
#include(${gdt_dir}/cmake/configure_glfw.cmake)
mark_as_advanced(CUDA_SDK_ROOT_DIR)
# ------------------------------------------------------------------
# import gdt submodule
# ------------------------------------------------------------------
include_directories(${gdt_dir})
add_subdirectory(${gdt_dir} EXCLUDE_FROM_ALL)
# ------------------------------------------------------------------
# build glfw
# ------------------------------------------------------------------
set(OpenGL_GL_PREFERENCE LEGACY)
if (WIN32)
# set(glfw_dir ${PROJECT_SOURCE_DIR}/submodules/glfw/)
set(glfw_dir ${PROJECT_SOURCE_DIR}/common/3rdParty/glfw/)
include_directories(${glfw_dir}/include)
add_subdirectory(${glfw_dir} EXCLUDE_FROM_ALL)
else()
find_package(glfw3 REQUIRED)
endif()
include_directories(common)
add_subdirectory(common/glfWindow EXCLUDE_FROM_ALL)
# ------------------------------------------------------------------
# and final build rules for the project
# ------------------------------------------------------------------
set(optix_LIBRARY "")
# a first, simple, hello-world applicaion that creates a context, and
# says hello...
add_subdirectory(example01_helloOptix)
# the first example that sets up an entire optix 7 pipeline, renders a
# test image, and saves that in a png file.
add_subdirectory(example02_pipelineAndRayGen)
# the same rendering example, but in a glfwindow with continuous
# rendering
add_subdirectory(example03_inGLFWindow)
add_subdirectory(example04_firstTriangleMesh)
add_subdirectory(example05_firstSBTData)
add_subdirectory(example06_multipleObjects)
add_subdirectory(example07_firstRealModel)
add_subdirectory(example08_addingTextures)
add_subdirectory(example09_shadowRays)
add_subdirectory(example10_softShadows)
add_subdirectory(example11_denoiseColorOnly)
add_subdirectory(example12_denoiseSeparateChannels)