-
Notifications
You must be signed in to change notification settings - Fork 12
/
CMakeLists.txt
90 lines (75 loc) · 3.76 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
# Copyright (C) 2018-2020 - DevSH Graphics Programming Sp. z O.O.
# This file is part of the "Nabla Engine".
# For conditions of distribution and use, see copyright notice in nabla.h
function(NBL_HOOK_COMMON_API NBL_EXCLUDE_TARGETS_LIST)
if(NOT TARGET nblCommonAPI)
message(FATAL_ERROR "nblCommonAPI not defined!")
endif()
NBL_GET_ALL_TARGETS(NBL_TARGETS)
foreach(NBL_TARGET IN LISTS NBL_TARGETS)
# TODO: exclude builtin targets created by examples as well - doesn't impact anything at all now
if(NOT ${NBL_TARGET} IN_LIST NBL_EXCLUDE_TARGETS_LIST)
target_include_directories(${NBL_TARGET} PRIVATE $<TARGET_PROPERTY:nblCommonAPI,INTERFACE_INCLUDE_DIRECTORIES>)
target_link_libraries(${NBL_TARGET} PRIVATE nblCommonAPI)
endif()
endforeach()
endfunction()
# PCH & CommonAPI library for Nabla framework examples
add_subdirectory(common EXCLUDE_FROM_ALL)
if(NBL_BUILD_EXAMPLES)
if(NBL_BUILD_ANDROID)
nbl_android_create_media_storage_apk()
endif()
# showcase the use of `nbl::core`,`nbl::system` and `nbl::asset`
add_subdirectory(01_HelloCoreSystemAsset EXCLUDE_FROM_ALL)
# showcase the use of `system::IApplicationFramework` and `nbl::video`
add_subdirectory(02_HelloCompute EXCLUDE_FROM_ALL)
# showcase physical device selection, resource embedding and the use of identical headers in HLSL and C++
add_subdirectory(03_DeviceSelectionAndSharedSources EXCLUDE_FROM_ALL)
# showcase the creation of windows and polling for input
add_subdirectory(04_HelloUI EXCLUDE_FROM_ALL)
# showcase the semi-advanced use of Nabla's Streaming Buffers and BDA
add_subdirectory(05_StreamingAndBufferDeviceAddressApp EXCLUDE_FROM_ALL)
# showcase the use of a graphics queue
add_subdirectory(06_HelloGraphicsQueue EXCLUDE_FROM_ALL)
# showcase the set-up of multiple queues
add_subdirectory(07_StagingAndMultipleQueues EXCLUDE_FROM_ALL)
# showcase the set-up of a swapchain and picking of a matching device
add_subdirectory(08_HelloSwapchain EXCLUDE_FROM_ALL)
add_subdirectory(09_GeometryCreator EXCLUDE_FROM_ALL)
# demonstrate the counting sort utility
add_subdirectory(10_CountingSort EXCLUDE_FROM_ALL)
# Waiting for a refactor
#add_subdirectory(27_PLYSTLDemo EXCLUDE_FROM_ALL)
#add_subdirectory(29_SpecializationConstants EXCLUDE_FROM_ALL)
#add_subdirectory(33_Draw3DLine EXCLUDE_FROM_ALL)
# Unit Test Examples
add_subdirectory(20_AllocatorTest EXCLUDE_FROM_ALL)
add_subdirectory(21_LRUCacheUnitTest EXCLUDE_FROM_ALL)
add_subdirectory(22_CppCompat EXCLUDE_FROM_ALL)
add_subdirectory(23_ArithmeticUnitTest EXCLUDE_FROM_ALL)
add_subdirectory(24_ColorSpaceTest EXCLUDE_FROM_ALL)
add_subdirectory(25_FilterTest EXCLUDE_FROM_ALL)
add_subdirectory(27_MPMCScheduler EXCLUDE_FROM_ALL)
# add_subdirectory(36_CUDAInterop EXCLUDE_FROM_ALL)
add_subdirectory(38_EXRSplit EXCLUDE_FROM_ALL)
# if (NBL_BUILD_MITSUBA_LOADER AND NBL_BUILD_OPTIX)
# add_subdirectory(39_DenoiserTonemapper EXCLUDE_FROM_ALL)
# endif()
add_subdirectory(42_FragmentShaderPathTracer EXCLUDE_FROM_ALL)
#add_subdirectory(43_SumAndCDFFilters EXCLUDE_FROM_ALL)
#add_subdirectory(45_BRDFEvalTest EXCLUDE_FROM_ALL)
#add_subdirectory(46_SamplingValidation EXCLUDE_FROM_ALL)
add_subdirectory(47_DerivMapTest EXCLUDE_FROM_ALL)
add_subdirectory(53_ComputeShaders EXCLUDE_FROM_ALL)
add_subdirectory(54_Transformations EXCLUDE_FROM_ALL)
add_subdirectory(55_RGB18E7S3 EXCLUDE_FROM_ALL)
add_subdirectory(56_RayQuery EXCLUDE_FROM_ALL)
add_subdirectory(60_ClusteredRendering EXCLUDE_FROM_ALL)
add_subdirectory(61_UI EXCLUDE_FROM_ALL)
add_subdirectory(62_CAD EXCLUDE_FROM_ALL)
add_subdirectory(62_SchusslerTest EXCLUDE_FROM_ALL)
add_subdirectory(0_ImportanceSamplingEnvMaps EXCLUDE_FROM_ALL) #TODO: integrate back into 42
add_subdirectory(67_RayQueryGeometry EXCLUDE_FROM_ALL)
NBL_HOOK_COMMON_API("${NBL_COMMON_API_TARGETS}")
endif()