Skip to content

Commit 423d811

Browse files
Updated Graphics API CMakeLists.txt for shader includes.
1 parent 9c80377 commit 423d811

5 files changed

Lines changed: 40 additions & 44 deletions

File tree

DirectX11/CMakeLists.txt

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,16 @@ file(GLOB SHADERS
1111
)
1212

1313
file(GLOB SHADER_INCLUDES
14-
"${SIMUL_PLATFORM_DIR}/Shaders/SL/*.sl"
1514
"${SIMUL_PLATFORM_DIR}/DirectX11/Sfx/*.sl"
1615
)
1716
file(GLOB SHADER_DEFS
1817
"${SIMUL_PLATFORM_DIR}/DirectX11/Sfx/*.json"
19-
)
20-
21-
file(GLOB SHADER_DEFS
22-
"${CMAKE_CURRENT_SOURCE_DIR}/Sfx/*.json"
2318
)
2419

2520
source_group("Shaders" FILES ${SHADERS} )
2621
source_group("Shader Includes" FILES ${SHADER_INCLUDES} )
2722

28-
add_static_library( SimulDirectX11 SOURCES ${SOURCES} ${HEADERS} ${SHADER_DEFS} DEFINITIONS SIMUL_DIRECTX11_DLL=1 SIMUL_WIN8_SDK=1 PLATFORM_D3D11_SFX=1 PLATFORM_TYPED_UAV_FORMATS=1 PROPERTIES FOLDER ${SIMUL_PLATFORM_FOLDER_PREFIX}
23+
add_static_library( SimulDirectX11 SOURCES ${SOURCES} ${HEADERS} ${SHADERS} ${SHADER_INCLUDES} ${SHADER_DEFS} DEFINITIONS SIMUL_DIRECTX11_DLL=1 SIMUL_WIN8_SDK=1 PLATFORM_D3D11_SFX=1 PLATFORM_TYPED_UAV_FORMATS=1 PROPERTIES FOLDER ${SIMUL_PLATFORM_FOLDER_PREFIX}
2924
INCLUDES "${SIMUL_PLATFORM_DIR}/External/DirectX/DirectXTex/DirectXTex" PUBLICINCLUDES "${SIMUL_PLATFORM_DIR}/DirectX11" )
3025

3126
if (SIMUL_DLL_SDK_LIBRARY)

DirectX12/CMakeLists.txt

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,25 +20,27 @@ file(GLOB HEADERS
2020
"*.h" "**/*.h"
2121
)
2222

23-
file(GLOB SHADER_DEFS
24-
"${CMAKE_CURRENT_SOURCE_DIR}/Sfx/*.json"
25-
)
26-
27-
28-
file(GLOB JSON
29-
"${CMAKE_CURRENT_SOURCE_DIR}/HLSL/*.json"
30-
"${SIMUL_PLATFORM_DIR}/XboxOne/HLSL/*.json"
31-
)
23+
if(PLATFORM_SPECTRUM)
24+
set( FOLDER "Spectrum" )
25+
elseif(PLATFORM_XBOXONE)
26+
set( FOLDER "XboxOne" )
27+
else()
28+
set( FOLDER "DirectX12" )
29+
endif()
3230

3331
file(GLOB SHADERS
34-
"${SIMUL_PLATFORM_DIR}/Shaders/Sfx/*.sfx"
32+
"${SIMUL_PLATFORM_DIR}/${FOLDER}/Sfx/*.sfx"
3533
)
36-
3734
file(GLOB SHADER_INCLUDES
38-
"${SIMUL_PLATFORM_DIR}/Shaders/SL/*.sl"
39-
"${SIMUL_PLATFORM_DIR}/DirectX12/HLSL/*.sl"
35+
"${SIMUL_PLATFORM_DIR}/${FOLDER}/Sfx/*.sl"
36+
)
37+
file(GLOB SHADER_DEFS
38+
"${SIMUL_PLATFORM_DIR}/${FOLDER}/Sfx/*.json"
4039
)
40+
4141
source_group("NV" src FILES "**/*.cpp" "**/*.h" )
42+
source_group("Shaders" FILES ${SHADERS} )
43+
source_group("Shader Includes" FILES ${SHADER_INCLUDES} )
4244

4345
set(DX12_DEFS SIMUL_DIRECTX12_DLL=1
4446
PLATFORM_SUPPORT_D3D12_RAYTRACING=$<BOOL:${PLATFORM_SUPPORT_D3D12_RAYTRACING}>
@@ -63,7 +65,7 @@ endif()
6365
set(HEADERS ${HEADERS} "${SIMUL_PLATFORM_DIR}/External/D3D12MemoryAllocator/include/D3D12MemAlloc.h")
6466
set(SOURCES ${SOURCES} "${SIMUL_PLATFORM_DIR}/External/D3D12MemoryAllocator/src/D3D12MemAlloc.cpp")
6567

66-
add_static_library( SimulDirectX12 SOURCES ${SOURCES} ${HEADERS} ${SHADER_DEFS} DEFINITIONS ${DX12_DEFS} PROPERTIES FOLDER ${SIMUL_PLATFORM_FOLDER_PREFIX}
68+
add_static_library( SimulDirectX12 SOURCES ${SOURCES} ${HEADERS} ${SHADERS} ${SHADER_INCLUDES} ${SHADER_DEFS} DEFINITIONS ${DX12_DEFS} PROPERTIES FOLDER ${SIMUL_PLATFORM_FOLDER_PREFIX}
6769
INCLUDES "${SIMUL_PLATFORM_DIR}/External/DirectX/DirectXTex/DirectXTex" PUBLICINCLUDES "${SIMUL_PLATFORM_DIR}/DirectX12")
6870
add_dependencies(SimulDirectX12${STATIC_LINK_SUFFIX} SimulCrossPlatform${STATIC_LINK_SUFFIX})
6971

@@ -81,16 +83,15 @@ endif()
8183
option( PLATFORM_SUPPORT_D3D12_RAYTRACING "" OFF)
8284
if(SIMUL_SOURCE_BUILD)
8385
if(PLATFORM_SPECTRUM)
84-
set( JSON_FILE "${SIMUL_PLATFORM_DIR}/Spectrum/Sfx/Spectrum.json" )
8586
set( PLATFORM_SUPPORT_D3D12_RAYTRACING True)
8687
elseif(PLATFORM_XBOXONE)
87-
set( JSON_FILE "${SIMUL_PLATFORM_DIR}/XboxOne/Sfx/XboxOne.json" )
8888
set( PLATFORM_SUPPORT_D3D12_RAYTRACING False)
8989
else()
90-
set( JSON_FILE "${CMAKE_CURRENT_SOURCE_DIR}/Sfx/DirectX12.json" )
9190
set( PLATFORM_SUPPORT_D3D12_RAYTRACING True)
9291
endif()
9392

93+
set( JSON_FILE "${SIMUL_PLATFORM_DIR}/${FOLDER}/Sfx/${FOLDER}.json" )
94+
9495
#Note: Due to a CMake bug, we can't include the in_RootSignature file in SOURCES, or it will be default-compiled as an hlsl shader instead of the custom command below.
9596

9697
option(PLATFORM_DX12_LOAD_GFX "" OFF)

GLES/CMakeLists.txt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,20 @@ file(GLOB HEADERS
1919
)
2020

2121
file(GLOB SHADERS
22-
"${SIMUL_PLATFORM_DIR}/Shaders/Sfx/*.sfx"
22+
"${SIMUL_PLATFORM_DIR}/GLES/Sfx/*.sfx"
2323
)
24-
2524
file(GLOB SHADER_INCLUDES
26-
"${SIMUL_PLATFORM_DIR}/Shaders/SL/*.sl"
27-
"${SIMUL_PLATFORM_DIR}/GLES/GLSL/*.sl"
25+
"${SIMUL_PLATFORM_DIR}/GLES/Sfx/*.sl"
2826
)
2927
file(GLOB SHADER_DEFS
30-
"${SIMUL_PLATFORM_DIR}/GLES/Sfx/*.*"
31-
)
28+
"${SIMUL_PLATFORM_DIR}/GLES/Sfx/*.json"
29+
)
3230

33-
if(SIMUL_SOURCE_BUILD)
34-
add_static_library(SimulGLES SOURCES ${SOURCES} ${HEADERS} FOLDER ${SIMUL_PLATFORM_FOLDER_PREFIX} DEFINITIONS GL_GLEXT_PROTOTYPES INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}/../External/stb" "${PLATFORM_ANGLE_DIR}" "${PLATFORM_ANGLE_DIR}/include" "${CMAKE_CURRENT_SOURCE_DIR}/../External/glfw/include" LINK_DIRS ${PLATFORM_ANGLE_LIB_DIR}${PLATFORM_ANGLE_LIB_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../External/glfw/build_mt/lib/${CMAKE_BUILD_TYPE})
31+
source_group("Shaders" FILES ${SHADERS} )
32+
source_group("Shader Includes" FILES ${SHADER_INCLUDES} )
3533

34+
add_static_library(SimulGLES SOURCES ${SOURCES} ${HEADERS} ${SHADERS} ${SHADER_INCLUDES} ${SHADER_DEFS} FOLDER ${SIMUL_PLATFORM_FOLDER_PREFIX} DEFINITIONS GL_GLEXT_PROTOTYPES INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}/../External/stb" "${PLATFORM_ANGLE_DIR}" "${PLATFORM_ANGLE_DIR}/include" "${CMAKE_CURRENT_SOURCE_DIR}/../External/glfw/include" LINK_DIRS ${PLATFORM_ANGLE_LIB_DIR}${PLATFORM_ANGLE_LIB_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../External/glfw/build_mt/lib/${CMAKE_BUILD_TYPE})
35+
if(SIMUL_SOURCE_BUILD)
3636
set( JSON_FILE "${CMAKE_CURRENT_SOURCE_DIR}/Sfx/GLES.json" )
3737
add_dynamic_library(SimulGLES SOURCES ${SOURCES} ${HEADERS} FOLDER ${SIMUL_PLATFORM_FOLDER_PREFIX} LINK_DIRS ${PLATFORM_ANGLE_LIB_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../External/glfw/build_md/lib/${CMAKE_BUILD_TYPE} INCLUDES "${PLATFORM_ANGLE_DIR}" "${PLATFORM_ANGLE_DIR}/include" "${CMAKE_CURRENT_SOURCE_DIR}/../External/glfw/include" LINK SimulGLES_MD SimulCrossPlatform_MD SimulMath_MD Core_MD libGLESv2.dll.lib libEGL.dll.lib DEFINITIONS SIMUL_DYNAMIC_LINK=1 SIMUL_GLES_DLL=1 GL_GLEXT_PROTOTYPES)
3838
add_sfx_shader_project( GLESCoreShaders ${JSON_FILE} INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}/Sfx" "${CMAKE_CURRENT_SOURCE_DIR}/../Shaders/SL" SOURCES ${SHADERS} ${SHADER_INCLUDES} ${SHADER_DEFS} ${in_rs} OPTIONS -w -l OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/../GLES/shaderbin" INTERMEDIATE "${CMAKE_CURRENT_BINARY_DIR}/../GLES/sfx_intermediate" FOLDER ${SIMUL_PLATFORM_FOLDER_PREFIX}/Shaders)

OpenGL/CMakeLists.txt

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,19 @@ file(GLOB HEADERS
1313
)
1414

1515
file(GLOB SHADERS
16-
"${SIMUL_PLATFORM_DIR}/Shaders/Sfx/*.sfx"
16+
"${SIMUL_PLATFORM_DIR}/OpenGL/Sfx/*.sfx"
1717
)
18-
1918
file(GLOB SHADER_INCLUDES
20-
"${SIMUL_PLATFORM_DIR}/Shaders/SL/*.sl"
2119
"${SIMUL_PLATFORM_DIR}/OpenGL/Sfx/*.sl"
2220
)
2321
file(GLOB SHADER_DEFS
24-
"${SIMUL_PLATFORM_DIR}/OpenGL/Sfx/*.json"
25-
)
22+
"${SIMUL_PLATFORM_DIR}/OpenGL/Sfx/*.json"
23+
)
24+
25+
source_group("Shaders" FILES ${SHADERS} )
26+
source_group("Shader Includes" FILES ${SHADER_INCLUDES} )
2627

27-
add_static_library(SimulOpenGL SOURCES ${SOURCES} ${HEADERS} ${SHADER_DEFS} FOLDER ${SIMUL_PLATFORM_FOLDER_PREFIX})
28+
add_static_library(SimulOpenGL SOURCES ${SOURCES} ${HEADERS} ${SHADERS} ${SHADER_INCLUDES} ${SHADER_DEFS} FOLDER ${SIMUL_PLATFORM_FOLDER_PREFIX})
2829
if(SIMUL_SOURCE_BUILD)
2930
target_include_directories(SimulOpenGL${STATIC_LINK_SUFFIX} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../External/stb")
3031
target_include_directories(SimulOpenGL${STATIC_LINK_SUFFIX} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../OpenGL")

Vulkan/CMakeLists.txt

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,18 @@ file(GLOB SOURCES "*.cpp" )
88
file(GLOB HEADERS "*.h" )
99

1010
file(GLOB SHADERS
11-
"${SIMUL_PLATFORM_DIR}/Shaders/SFX/*.sfx"
11+
"${SIMUL_PLATFORM_DIR}/Vulkan/Sfx/*.sfx"
1212
)
13-
1413
file(GLOB SHADER_INCLUDES
15-
"${SIMUL_PLATFORM_DIR}/Shaders/SL/*.sl"
1614
"${SIMUL_PLATFORM_DIR}/Vulkan/Sfx/*.sl"
1715
)
18-
1916
file(GLOB SHADER_DEFS
20-
"${CMAKE_CURRENT_SOURCE_DIR}/Sfx/*.json"
17+
"${SIMUL_PLATFORM_DIR}/Vulkan/Sfx/*.json"
2118
)
2219

20+
source_group("Shaders" FILES ${SHADERS} )
21+
source_group("Shader Includes" FILES ${SHADER_INCLUDES} )
22+
2323
set(VK_DEFS SIMUL_VULKAN_DLL=1 VK_PROTOTYPES)
2424
set(VK_DEFS ${VK_DEFS} PLATFORM_SUPPORT_VULKAN_MULTIVIEW=$<BOOL:${PLATFORM_SUPPORT_VULKAN_MULTIVIEW}>)
2525
set(VK_DEFS ${VK_DEFS} PLATFORM_SUPPORT_VULKAN_SAMPLER_YCBCR=$<BOOL:${PLATFORM_SUPPORT_VULKAN_SAMPLER_YCBCR}>)
@@ -36,8 +36,7 @@ endif()
3636
# Add in vk_mem_alloc.h
3737
set(HEADERS ${HEADERS} "${SIMUL_PLATFORM_DIR}/External/VulkanMemoryAllocator/include/vk_mem_alloc.h")
3838

39-
40-
add_static_library( SimulVulkan SOURCES ${SOURCES} ${HEADERS} ${SHADER_DEFS} ${SHADER_INCLUDES} DEFINITIONS ${VK_DEFS} FOLDER ${SIMUL_PLATFORM_FOLDER_PREFIX})
39+
add_static_library( SimulVulkan SOURCES ${SOURCES} ${HEADERS} ${SHADERS} ${SHADER_INCLUDES} ${SHADER_DEFS} DEFINITIONS ${VK_DEFS} FOLDER ${SIMUL_PLATFORM_FOLDER_PREFIX})
4140
if(SIMUL_SOURCE_BUILD)
4241
add_dependencies(SimulVulkan${STATIC_LINK_SUFFIX} SimulCrossPlatform${STATIC_LINK_SUFFIX})
4342
if(PLATFORM_WINDOWS)

0 commit comments

Comments
 (0)