| | cmake_minimum_required (VERSION 3.6) project(Diligent-ShaderTools CXX) set(INCLUDE include/ShaderToolsCommon.hpp) set(SOURCE src/ShaderToolsCommon.cpp) if(VULKAN_SUPPORTED OR GL_SUPPORTED OR GLES_SUPPORTED OR METAL_SUPPORTED) set(ENABLE_GLSL TRUE) endif() if(ENABLE_GLSL) list(APPEND SOURCE src/GLSLUtils.cpp) list(APPEND INCLUDE include/GLSLUtils.hpp) endif() if(D3D11_SUPPORTED OR D3D12_SUPPORTED OR VULKAN_SUPPORTED OR METAL_SUPPORTED) set(ENABLE_HLSL TRUE) endif() if(ENABLE_HLSL) list(APPEND SOURCE src/HLSLUtils.cpp) list(APPEND INCLUDE include/HLSLUtils.hpp) endif() if(D3D11_SUPPORTED OR D3D12_SUPPORTED) set(DXBC_CHECKSUM_SOURCE ../../ThirdParty/GPUOpenShaderUtils/DXBCChecksum.cpp ../../ThirdParty/GPUOpenShaderUtils/DXBCChecksum.h) list(APPEND SOURCE src/DXBCUtils.cpp) list(APPEND INCLUDE include/DXBCUtils.hpp) list(APPEND INCLUDE include/ResourceBindingMap.hpp) endif() if((PLATFORM_WIN32 AND NOT MINGW_BUILD) OR PLATFORM_UNIVERSAL_WINDOWS OR PLATFORM_LINUX) set(DXC_SUPPORTED TRUE) endif() if(DXC_SUPPORTED) list(APPEND INCLUDE include/DXCompiler.hpp) list(APPEND SOURCE src/DXCompiler.cpp) if(PLATFORM_WIN32) list(APPEND INCLUDE include/DXCompilerBaseWin32.hpp) elseif(PLATFORM_UNIVERSAL_WINDOWS) list(APPEND INCLUDE include/DXCompilerBaseUWP.hpp) elseif(PLATFORM_LINUX) list(APPEND INCLUDE include/DXCompilerBaseLiunx.hpp) else() message(FATAL_ERROR "Unexpected platform") endif() if(PLATFORM_LINUX) list(APPEND INCLUDE ../../ThirdParty/DirectXShaderCompiler/dxc/dxcapi.h ../../ThirdParty/DirectXShaderCompiler/dxc/Support/WinAdapter.h ../../ThirdParty/DirectXShaderCompiler/dxc/Support/WinFunctions.h) list(APPEND SOURCE ../../ThirdParty/DirectXShaderCompiler/dxc/Support/dxcapi.cpp ../../ThirdParty/DirectXShaderCompiler/dxc/Support/WinAdapter.cpp) endif() else() list(APPEND SOURCE src/DXILUtilsStub.cpp) endif() if(VULKAN_SUPPORTED OR METAL_SUPPORTED) set(ENABLE_SPIRV TRUE) endif() if(ENABLE_SPIRV) list(APPEND SOURCE src/SPIRVShaderResources.cpp) list(APPEND INCLUDE include/SPIRVShaderResources.hpp) if(NOT $ |