forked from DiligentGraphics/DiligentSamples
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
107 lines (87 loc) · 3.94 KB
/
CMakeLists.txt
File metadata and controls
107 lines (87 loc) · 3.94 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
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
97
98
99
100
101
102
103
104
105
106
107
cmake_minimum_required (VERSION 3.6)
project(GLTFViewer CXX)
set(SOURCE
src/GLTFViewer.cpp
)
set(INCLUDE
src/GLTFViewer.hpp
)
set(SHADERS
assets/shaders/BoundBox.vsh
assets/shaders/BoundBox.psh
assets/shaders/env_map.vsh
assets/shaders/env_map.psh
)
set(EXTERNAL_SHADERS
../../../DiligentFX/Shaders/PostProcess/ToneMapping/public/ToneMappingStructures.fxh
../../../DiligentFX/Shaders/PostProcess/ToneMapping/public/ToneMapping.fxh
../../../DiligentFX/Shaders/Common/public/BasicStructures.fxh
../../../DiligentFX/Shaders/Common/public/ShaderUtilities.fxh
)
set(ALL_SHADERS ${SHADERS} ${EXTERNAL_SHADERS})
file(GLOB BOOM_BOX_MODEL LIST_DIRECTORIES false assets/models/BoomBoxWithAxes/*.*)
file(GLOB CESIUM_MAN_MODEL LIST_DIRECTORIES false assets/models/CesiumMan/*.*)
file(GLOB DAMAGED_HELMENT_MODEL LIST_DIRECTORIES false assets/models/DamagedHelmet/*.*)
file(GLOB FLIGHT_HELMENT_MODEL LIST_DIRECTORIES false assets/models/FlightHelmet/*.*)
file(GLOB METAL_ROUGH_SPHERES_MODEL LIST_DIRECTORIES false assets/models/MetalRoughSpheres/*.*)
file(GLOB NORMAL_TANGENT_TEST_MODEL LIST_DIRECTORIES false assets/models/NormalTangentTest/*.*)
set(MODELS ${BOOM_BOX_MODEL} ${CESIUM_MAN_MODEL} ${DAMAGED_HELMENT_MODEL}
${FLIGHT_HELMENT_MODEL} ${METAL_ROUGH_SPHERES_MODEL} ${NORMAL_TANGENT_TEST_MODEL})
set(TEXTURES assets/textures/papermill.ktx)
set(ASSETS
${MODELS}
${TEXTURES}
)
add_sample_app("GLTFViewer" "DiligentSamples/Samples" "${SOURCE}" "${INCLUDE}" "${ALL_SHADERS}" "${ASSETS}")
target_link_libraries(GLTFViewer PRIVATE Diligent-AssetLoader DiligentFX)
target_include_directories(GLTFViewer PRIVATE
../../../DiligentFX/Shaders/PostProcess/ToneMapping/public/
)
foreach(FILE ${EXTERNAL_SHADERS})
# Copy external shaders
add_custom_command(TARGET GLTFViewer PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/${FILE}" "${CMAKE_CURRENT_SOURCE_DIR}/assets/shaders"
)
endforeach(FILE)
set_source_files_properties(${ALL_SHADERS} PROPERTIES
VS_DEPLOYMENT_LOCATION "shaders"
MACOSX_PACKAGE_LOCATION Resources/shaders
)
set_source_files_properties(${TEXTURES} PROPERTIES
VS_DEPLOYMENT_LOCATION "textures"
MACOSX_PACKAGE_LOCATION "Resources/textures"
)
set_source_files_properties(${BOOM_BOX_MODEL} PROPERTIES
VS_DEPLOYMENT_LOCATION "models/BoomBoxWithAxes"
MACOSX_PACKAGE_LOCATION "Resources/models/BoomBoxWithAxes"
)
set_source_files_properties(${CESIUM_MAN_MODEL} PROPERTIES
VS_DEPLOYMENT_LOCATION "models/CesiumMan"
MACOSX_PACKAGE_LOCATION "Resources/models/CesiumMan"
)
set_source_files_properties(${DAMAGED_HELMENT_MODEL} PROPERTIES
VS_DEPLOYMENT_LOCATION "models/DamagedHelmet"
MACOSX_PACKAGE_LOCATION "Resources/models/DamagedHelmet"
)
set_source_files_properties(${FLIGHT_HELMENT_MODEL} PROPERTIES
VS_DEPLOYMENT_LOCATION "models/FlightHelmet"
MACOSX_PACKAGE_LOCATION "Resources/models/FlightHelmet"
)
set_source_files_properties(${METAL_ROUGH_SPHERES_MODEL} PROPERTIES
VS_DEPLOYMENT_LOCATION "models/MetalRoughSpheres"
MACOSX_PACKAGE_LOCATION "Resources/models/MetalRoughSpheres"
)
set_source_files_properties(${NORMAL_TANGENT_TEST_MODEL} PROPERTIES
VS_DEPLOYMENT_LOCATION "models/NormalTangentTest"
MACOSX_PACKAGE_LOCATION "Resources/models/NormalTangentTest"
)
source_group("assets" FILES ${ASSETS})
source_group("assets\\shaders" FILES ${SHADERS})
source_group("assets\\shaders\\external" FILES ${EXTERNAL_SHADERS})
source_group("assets\\textures" FILES ${TEXTURES})
source_group("assets\\models\\BoomBoxWithAxes" FILES ${BOOM_BOX_MODEL})
source_group("assets\\models\\CesiumMan" FILES ${CESIUM_MAN_MODEL})
source_group("assets\\models\\DamagedHelmet" FILES ${DAMAGED_HELMENT_MODEL})
source_group("assets\\models\\FlightHelmet" FILES ${FLIGHT_HELMENT_MODEL})
source_group("assets\\models\\MetalRoughSpheres" FILES ${METAL_ROUGH_SPHERES_MODEL})
source_group("assets\\models\\NormalTangentTest" FILES ${NORMAL_TANGENT_TEST_MODEL})