-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
65 lines (51 loc) · 2.04 KB
/
CMakeLists.txt
File metadata and controls
65 lines (51 loc) · 2.04 KB
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
cmake_minimum_required(VERSION 3.22 FATAL_ERROR)
get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME)
project(${PROJECT_NAME} LANGUAGES C CXX)
option(NVPRO2_ENABLE_nvgl OFF)
option(NVPRO2_ENABLE_nvgpu_monitor OFF)
option(NVPRO2_ENABLE_nvslang OFF)
option(NVPRO2_ENABLE_nvvkgltf OFF)
# Add the cmake folder to the module path
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
find_package(NvproCore2 REQUIRED)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set(CMAKE_CXX_STANDARD 20)
#####################################################################################
# Download the default scene
download_files(FILENAMES bunny_v2.zip EXTRACT)
#####################################################################################
# Source files for this project
#
file(GLOB SOURCE_FILES src/*.*)
file(GLOB SHADER_FILES shaders/*.glsl shaders/*.h)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/shaders)
#####################################################################################
# Executable
#
add_executable(${PROJECT_NAME} ${SOURCE_FILES} ${SHADER_FILES})
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT ${PROJECT_NAME})
target_link_libraries(${PROJECT_NAME} PRIVATE
nvpro2::nvapp
nvpro2::nvgui
nvpro2::nvutils
nvpro2::nvvk
nvpro2::nvvkglsl
meshoptimizer
cgltf
)
#####################################################################################
# source groups
source_group("Shader Files" FILES ${SHADER_FILES})
source_group("Source Files" FILES ${SOURCE_FILES})
#####################################################################################
# finalize project
#
add_project_definitions(${PROJECT_NAME})
copy_to_runtime_and_install( ${PROJECT_NAME}
NVSHADERS_FILES "${NVSHADERS_DIR}/nvshaders/slang_types.h"
"${NVSHADERS_DIR}/nvshaders/sky_io.h.slang"
"${NVSHADERS_DIR}/nvshaders/sky_functions.h.slang"
"${NVSHADERS_DIR}/nvshaders/constants.h.slang"
LOCAL_DIRS "${CMAKE_CURRENT_LIST_DIR}/shaders"
AUTO
)