123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351 |
- diff --git a/Graphics/Archiver/CMakeLists.txt b/Graphics/Archiver/CMakeLists.txt
- index 6af0f44..2077ff7 100644
- --- a/Graphics/Archiver/CMakeLists.txt
- +++ b/Graphics/Archiver/CMakeLists.txt
- @@ -88,9 +88,16 @@ PRIVATE
- ../GraphicsEngineNextGenBase/include
- )
-
- +if (NOT DILIGENT_NO_GLSLANG)
- + target_include_directories(Diligent-Archiver-static
- + PRIVATE
- + ${spirv-cross-c_INCLUDEDIR}
- + )
- +endif()
- +
- target_compile_definitions(Diligent-Archiver-static
- PRIVATE
- - DILIGENT_NO_GLSLANG=$<BOOL:$<NOT:$<TARGET_EXISTS:glslang>>>
- + DILIGENT_NO_GLSLANG=$<BOOL:${DILIGENT_NO_GLSLANG}>
- )
- if(DEFINED DILIGENT_CORE_COMMIT_HASH)
- target_compile_definitions(Diligent-Archiver-static PRIVATE DILIGENT_CORE_COMMIT_HASH="${DILIGENT_CORE_COMMIT_HASH}")
- @@ -121,10 +128,11 @@ if(D3D12_SUPPORTED)
- endif()
-
- if(VULKAN_SUPPORTED)
- - target_link_libraries(Diligent-Archiver-static PRIVATE Diligent-GraphicsEngineVk-static Vulkan::Headers)
- + target_link_libraries(Diligent-Archiver-static PRIVATE Diligent-GraphicsEngineVk-static)
- target_include_directories(Diligent-Archiver-static
- PRIVATE
- ../GraphicsEngineVulkan/include
- + ${vulkan-headers_INCLUDEDIR}
- )
- endif()
-
- @@ -135,17 +143,18 @@ if(GL_SUPPORTED OR GLES_SUPPORTED)
- spirv-cross-core
- spirv-cross-glsl
- )
- - target_include_directories(Diligent-Archiver-static PRIVATE ../GraphicsEngineOpenGL/include)
- + target_include_directories(Diligent-Archiver-static PRIVATE ../GraphicsEngineOpenGL/include ${glew_INCLUDE_DIRS})
-
- if(PLATFORM_WIN32)
- - target_link_libraries(Diligent-Archiver-static PRIVATE GLEW::glew opengl32.lib)
- + target_link_directories(Diligent-Archiver-static PRIVATE ${glew_LIBRARY_DIRS})
- + target_link_libraries(Diligent-Archiver-static PRIVATE ${glew_LIBRARIES})
- elseif(PLATFORM_LINUX)
- find_package(X11 REQUIRED)
- - find_package(OpenGL REQUIRED)
- - target_link_libraries(Diligent-Archiver-static PRIVATE GLEW::glew OpenGL::GL X11::X11)
- + target_link_directories(Diligent-Archiver-static PRIVATE ${glew_LIBRARY_DIRS})
- + target_link_libraries(Diligent-Archiver-static PRIVATE ${glew_LIBRARIES} X11::X11)
- elseif(PLATFORM_MACOS)
- - find_package(OpenGL REQUIRED)
- - target_link_libraries(Diligent-Archiver-static PRIVATE GLEW::glew OpenGL::GL)
- + target_link_directories(Diligent-Archiver-static PRIVATE ${glew_LIBRARY_DIRS})
- + target_link_libraries(Diligent-Archiver-static PRIVATE ${glew_LIBRARIES} "-framework OpenGL")
- elseif(PLATFORM_ANDROID)
- target_link_libraries(Diligent-Archiver-static PRIVATE GLESv3 EGL)
- elseif(PLATFORM_EMSCRIPTEN)
- @@ -176,12 +185,28 @@ if(WEBGPU_SUPPORTED)
- )
- endif()
-
- +if (glew_FOUND)
- + target_link_directories(Diligent-Archiver-shared PRIVATE ${glew_LIBRARY_DIRS})
- +endif()
- +
- +if(spirv-cross-c_FOUND)
- + target_link_directories(Diligent-Archiver-shared PRIVATE ${spirv-cross-c_LIBDIR})
- +endif()
- +
- +if(glslang_FOUND)
- + target_link_directories(Diligent-Archiver-shared PRIVATE ${glslang_LIBDIR})
- +endif()
- +
- +if (NOT DILIGENT_NO_GLSLANG)
- + target_link_directories(Diligent-Archiver-shared PRIVATE ${SPIRV-Tools_LIBDIR})
- +endif()
- +
- target_link_libraries(Diligent-Archiver-shared
- PUBLIC
- Diligent-ArchiverInterface
- PRIVATE
- Diligent-BuildSettings
- - ${WHOLE_ARCHIVE_FLAG} Diligent-Archiver-static ${NO_WHOLE_ARCHIVE_FLAG}
- + ${WHOLE_ARCHIVE_FLAG} Diligent-Archiver-static ${NO_WHOLE_ARCHIVE_FLAG} $<$<NOT:$<BOOL:${DILIGENT_NO_GLSLANG}>>:${SPIRV-Tools_LIBRARIES}>
- )
-
- if(PLATFORM_WIN32)
- diff --git a/Graphics/GraphicsEngineD3D11/CMakeLists.txt b/Graphics/GraphicsEngineD3D11/CMakeLists.txt
- index adef784..75944e8 100644
- --- a/Graphics/GraphicsEngineD3D11/CMakeLists.txt
- +++ b/Graphics/GraphicsEngineD3D11/CMakeLists.txt
- @@ -136,6 +136,18 @@ PUBLIC
- Diligent-GraphicsEngineD3D11Interface
- )
-
- +if(SPIRV-Tools_FOUND)
- + target_link_directories(Diligent-GraphicsEngineD3D11-shared PRIVATE ${SPIRV-Tools_LIBDIR})
- +endif()
- +
- +if(spirv-cross-c_FOUND)
- + target_link_directories(Diligent-GraphicsEngineD3D11-shared PRIVATE ${spirv-cross-c_LIBRARY_DIRS})
- +endif()
- +
- +if(glslang_FOUND)
- + target_link_directories(Diligent-GraphicsEngineD3D11-shared PRIVATE ${glslang_LIBDIR})
- +endif()
- +
- target_link_libraries(Diligent-GraphicsEngineD3D11-shared
- PRIVATE
- Diligent-BuildSettings
- diff --git a/Graphics/GraphicsEngineD3D12/CMakeLists.txt b/Graphics/GraphicsEngineD3D12/CMakeLists.txt
- index 4b01eff..868e627 100644
- --- a/Graphics/GraphicsEngineD3D12/CMakeLists.txt
- +++ b/Graphics/GraphicsEngineD3D12/CMakeLists.txt
- @@ -206,6 +206,18 @@ if(NOT ${USE_D3D12_LOADER})
- target_link_libraries(Diligent-GraphicsEngineD3D12-static PRIVATE d3d12.lib)
- endif()
-
- +if(SPIRV-Tools_FOUND)
- + target_link_directories(Diligent-GraphicsEngineD3D12-shared PRIVATE ${SPIRV-Tools_LIBDIR})
- +endif()
- +
- +if(spirv-cross-c_FOUND)
- + target_link_directories(Diligent-GraphicsEngineD3D12-shared PRIVATE ${spirv-cross-c_LIBRARY_DIRS})
- +endif()
- +
- +if(glslang_FOUND)
- + target_link_directories(Diligent-GraphicsEngineD3D12-shared PRIVATE ${glslang_LIBDIR})
- +endif()
- +
- target_link_libraries(Diligent-GraphicsEngineD3D12-shared
- PRIVATE
- Diligent-BuildSettings
- diff --git a/Graphics/GraphicsEngineOpenGL/CMakeLists.txt b/Graphics/GraphicsEngineOpenGL/CMakeLists.txt
- index 839dad7..c544296 100644
- --- a/Graphics/GraphicsEngineOpenGL/CMakeLists.txt
- +++ b/Graphics/GraphicsEngineOpenGL/CMakeLists.txt
- @@ -175,6 +175,7 @@ endif()
- target_include_directories(Diligent-GraphicsEngineOpenGL-static
- PRIVATE
- include
- + ${glew_INCLUDE_DIRS}
- )
-
- set(PRIVATE_DEPENDENCIES
- @@ -198,16 +199,17 @@ set(PUBLIC_DEPENDENCIES
- )
-
- if(PLATFORM_WIN32)
- - set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPENDENCIES} GLEW::glew opengl32.lib)
- + target_link_directories(Diligent-GraphicsEngineOpenGL-static PRIVATE ${glew_LIBRARY_DIRS})
- + set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPENDENCIES} ${glew_LIBRARIES})
- elseif(PLATFORM_ANDROID)
- set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPENDENCIES} GLESv3 EGL)
- elseif(PLATFORM_LINUX)
- find_package(X11 REQUIRED)
- - find_package(OpenGL REQUIRED)
- - set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPENDENCIES} GLEW::glew OpenGL::GL X11::X11)
- + target_link_directories(Diligent-GraphicsEngineOpenGL-static PRIVATE ${glew_LIBRARY_DIRS})
- + set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPENDENCIES} ${glew_LIBRARIES} X11::X11)
- elseif(PLATFORM_MACOS)
- - find_package(OpenGL REQUIRED)
- - set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPENDENCIES} GLEW::glew OpenGL::GL)
- + target_link_directories(Diligent-GraphicsEngineOpenGL-static PRIVATE ${glew_LIBRARY_DIRS})
- + set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPENDENCIES} ${glew_LIBRARIES} "-framework OpenGL")
- elseif(PLATFORM_IOS)
- set(PRIVATE_DEPENDENCIES ${PRIVATE_DEPENDENCIES} ${OPENGLES})
- elseif(PLATFORM_EMSCRIPTEN)
- @@ -264,6 +266,19 @@ PUBLIC
- ${PUBLIC_DEPENDENCIES}
- )
-
- +if(SPIRV-Tools_FOUND)
- + target_link_directories(Diligent-GraphicsEngineOpenGL-shared PRIVATE ${SPIRV-Tools_LIBDIR})
- +endif()
- +
- +if(spirv-cross-c_FOUND)
- + target_link_directories(Diligent-GraphicsEngineOpenGL-shared PRIVATE ${spirv-cross-c_LIBRARY_DIRS})
- +endif()
- +
- +if(glslang_FOUND)
- + target_link_directories(Diligent-GraphicsEngineOpenGL-shared PRIVATE ${glslang_LIBDIR})
- +endif()
- +
- +target_link_directories(Diligent-GraphicsEngineOpenGL-shared PRIVATE ${glew_LIBRARY_DIRS})
- target_compile_definitions(Diligent-GraphicsEngineOpenGL-shared PUBLIC ENGINE_DLL=1)
- if(PLATFORM_MACOS)
- # Silence OpenGL deprecation warnings
- diff --git a/Graphics/GraphicsEngineVulkan/CMakeLists.txt b/Graphics/GraphicsEngineVulkan/CMakeLists.txt
- index 9d45358..fb650ee 100644
- --- a/Graphics/GraphicsEngineVulkan/CMakeLists.txt
- +++ b/Graphics/GraphicsEngineVulkan/CMakeLists.txt
- @@ -164,15 +164,19 @@ endif()
- target_include_directories(Diligent-GraphicsEngineVk-static
- PRIVATE
- include
- + ${vulkan-headers_INCLUDEDIR}
- )
-
- +if (SPIRV-Tools_FOUND)
- + target_include_directories(Diligent-GraphicsEngineVk-static PRIVATE ${SPIRV-Tools_INCLUDEDIR})
- +endif()
- +
- set(PRIVATE_DEPENDENCIES
- Diligent-BuildSettings
- Diligent-Common
- Diligent-TargetPlatform
- Diligent-GraphicsEngineNextGenBase
- Diligent-ShaderTools
- - Vulkan::Headers
- )
-
- if (${DILIGENT_NO_HLSL})
- @@ -246,9 +250,9 @@ else()
- endif()
-
- if(PLATFORM_WIN32)
- - list(APPEND PRIVATE_DEPENDENCIES volk::volk_headers)
- + target_include_directories(Diligent-GraphicsEngineVk-static PRIVATE ${volk_INCLUDEDIR})
- elseif(PLATFORM_MACOS)
- - list(APPEND PRIVATE_DEPENDENCIES volk::volk_headers)
- + target_include_directories(Diligent-GraphicsEngineVk-static PRIVATE ${volk_INCLUDEDIR})
- elseif(PLATFORM_IOS OR PLATFORM_TVOS)
- find_library(CORE_GRAPHICS CoreGraphics)
- find_library(METAL_LIBRARY Metal)
- @@ -258,9 +262,9 @@ elseif(PLATFORM_IOS OR PLATFORM_TVOS)
- # Note that volk may be defined by external CMake, but we don't use it on iOS/tvOS
- list(APPEND PRIVATE_DEPENDENCIES ${MOLTENVK_LIBRARY} ${CORE_GRAPHICS} ${METAL_LIBRARY} ${QUARTZ_CORE} ${UI_KIT} ${IO_SURFACE})
- elseif(PLATFORM_LINUX)
- - list(APPEND PRIVATE_DEPENDENCIES volk::volk_headers)
- + target_include_directories(Diligent-GraphicsEngineVk-static PRIVATE ${volk_INCLUDEDIR})
- elseif(PLATFORM_ANDROID)
- - list(APPEND PRIVATE_DEPENDENCIES volk::volk_headers)
- + target_include_directories(Diligent-GraphicsEngineVk-static PRIVATE ${volk_INCLUDEDIR})
- else()
- find_library(Vulkan_LIBRARY NAMES vulkan)
- list(APPEND PRIVATE_DEPENDENCIES ${Vulkan_LIBRARY})
- @@ -311,6 +315,19 @@ if (${DILIGENT_NO_GLSLANG})
- message("GLSLang is not being built. Vulkan backend will only be able to consume SPIRV byte code.")
- endif()
-
- +if(SPIRV-Tools_FOUND)
- + target_link_directories(Diligent-GraphicsEngineVk-shared PRIVATE ${SPIRV-Tools_LIBDIR})
- + target_link_libraries(Diligent-GraphicsEngineVk-shared PRIVATE SPIRV-Tools-opt SPIRV-Tools)
- +endif()
- +
- +if(spirv-cross-c_FOUND)
- + target_link_directories(Diligent-GraphicsEngineVk-shared PRIVATE ${spirv-cross-c_LIBRARY_DIRS})
- +endif()
- +
- +if(glslang_FOUND)
- + target_link_directories(Diligent-GraphicsEngineVk-shared PRIVATE ${glslang_LIBDIR})
- +endif()
- +
- target_compile_definitions(Diligent-GraphicsEngineVk-static
- PRIVATE
- ${PRIVATE_COMPILE_DEFINITIONS}
- diff --git a/Graphics/GraphicsTools/CMakeLists.txt b/Graphics/GraphicsTools/CMakeLists.txt
- index c7f8706..bb9e94a 100644
- --- a/Graphics/GraphicsTools/CMakeLists.txt
- +++ b/Graphics/GraphicsTools/CMakeLists.txt
- @@ -88,7 +88,7 @@ if(D3D12_SUPPORTED)
- endif()
-
- if(VULKAN_SUPPORTED)
- - list(APPEND DEPENDENCIES Diligent-GraphicsEngineVkInterface Vulkan::Headers)
- + list(APPEND DEPENDENCIES Diligent-GraphicsEngineVkInterface)
- endif()
-
- if(D3D12_SUPPORTED OR VULKAN_SUPPORTED)
- @@ -122,10 +122,15 @@ target_include_directories(Diligent-GraphicsTools
- PUBLIC
- interface
- PRIVATE
- + ${XXHASH_INCLUDE_DIRS}
- ../GraphicsEngineD3DBase/include
- include
- )
-
- +if(VULKAN_SUPPORTED)
- + target_include_directories(Diligent-GraphicsTools PRIVATE ${vulkan-headers_INCLUDEDIR})
- +endif()
- +
- target_link_libraries(Diligent-GraphicsTools
- PRIVATE
- Diligent-Common
- @@ -134,7 +139,7 @@ PRIVATE
- Diligent-GraphicsAccessories
- Diligent-ShaderTools
- Diligent-GraphicsEngine
- - xxHash::xxhash
- + ${XXHASH_LIBRARIES}
- ${DEPENDENCIES}
- PUBLIC
- Diligent-GraphicsEngineInterface
- diff --git a/Graphics/ShaderTools/CMakeLists.txt b/Graphics/ShaderTools/CMakeLists.txt
- index bf956ea..42bf3be 100644
- --- a/Graphics/ShaderTools/CMakeLists.txt
- +++ b/Graphics/ShaderTools/CMakeLists.txt
- @@ -102,11 +102,11 @@ if(DILIGENT_USE_SPIRV_TOOLCHAIN)
- # (e.g. added by external project), but DILIGENT_NO_GLSLANG may still be set
- if (NOT ${DILIGENT_NO_GLSLANG})
- set(USE_GLSLANG TRUE)
- - if (TARGET SPIRV-Tools-opt)
- + if (SPIRV-Tools_FOUND)
- set(USE_SPIRV_TOOLS TRUE)
- endif()
- endif()
- - if (NOT ${DILIGENT_NO_HLSL} AND TARGET SPIRV-Tools-opt)
- + if (NOT ${DILIGENT_NO_HLSL})
- set(USE_SPIRV_TOOLS TRUE)
- endif()
- endif()
- @@ -133,6 +133,10 @@ PUBLIC
- include
- PRIVATE
- ../GraphicsEngine/include
- + $<$<BOOL:${ENABLE_SPIRV}>:${spirv-cross-c_INCLUDEDIR}>
- + $<$<BOOL:${USE_GLSLANG}>:${glslang_INCLUDEDIR}>
- + $<$<BOOL:${USE_GLSLANG}>:${glslang_INCLUDEDIR}/glslang>
- + $<$<BOOL:${USE_SPIRV_TOOLS}>:${SPIRV-Tools_INCLUDEDIR}>
- )
-
- if (DXC_SUPPORTED)
- @@ -150,6 +154,12 @@ if (DXC_SUPPORTED)
- endif()
- endif()
-
- +target_link_directories(Diligent-ShaderTools
- +PRIVATE
- + $<$<BOOL:${ENABLE_SPIRV}>:${spirv-cross-c_LIBDIR}>
- + $<$<BOOL:${USE_GLSLANG}>:${glslang_LIBDIR}>
- +)
- +
- target_link_libraries(Diligent-ShaderTools
- PRIVATE
- Diligent-BuildSettings
- @@ -171,9 +181,7 @@ if(ENABLE_SPIRV)
- PRIVATE
- spirv-cross-core
- )
- - if(SPIRV_CROSS_NAMESPACE_OVERRIDE)
- - target_compile_definitions(Diligent-ShaderTools PUBLIC DILIGENT_SPIRV_CROSS_NAMESPACE=${SPIRV_CROSS_NAMESPACE_OVERRIDE})
- - endif()
- + target_compile_definitions(Diligent-ShaderTools PUBLIC DILIGENT_SPIRV_CROSS_NAMESPACE=spirv_cross)
-
- if (${USE_SPIRV_TOOLS})
- target_link_libraries(Diligent-ShaderTools
|