refactor: close runtime rhi module boundary

This commit is contained in:
2026-05-02 04:23:50 +08:00
parent dea87b95af
commit c866a7a39b
2 changed files with 134 additions and 154 deletions

View File

@@ -712,6 +712,10 @@ target_include_directories(XCPipelineAssets
- 完成 `engine/runtime/RHI` 的 CMake、依赖面与构建闭环
-`RHI` 从目录迁移完成,进入真实 module 边界
状态:
- 已完成:`XCRuntimeRHI` 已建立,`RHI` backend / factory / screenshot / backend 第三方依赖已从 `XCEngine` 主 target 中拆出并完成独立构建闭环
验收:
1. `XCEditor` 编译通过
@@ -817,9 +821,9 @@ target_include_directories(XCPipelineAssets
- `engine/runtime/UI` 已完成物理落地并通过编译 / 冒烟
- `engine/runtime/Scripting` 已完成物理落地并通过编译 / 冒烟
- `engine/runtime/Rendering` 已完成主要物理落地并通过编译 / 冒烟
- `engine/runtime/RHI` 已完成物理目录迁移,并且当前编译 / 冒烟已经恢复通过,但仍需继续完成 module / lib 收口
- `engine/runtime/RHI` 已完成真实 module / lib 收口,`XCRuntimeRHI` 已建立并通过编译 / 冒烟
- `engine/Shared` 已完成删除,资产基础类型已并入 `engine/runtime/Asset`
- 根级 `engine/include``engine/src`不再作为物理代码目录存在, CMake 侧仍有历史引用残留需要清理
- 根级 `engine/include``engine/src` 已不再作为物理代码目录存在,相关 CMake 历史引用也已清理
- `XCPipelineAssets -> XCRuntimeAsset` 的单向依赖已经建立
- `ObjectId` 相关底层能力仍暂时散落在 `runtime/Rendering``XCEngineRenderingEditorSupport`
- editor 中仍有一批 viewport 交互与辅助渲染能力需要继续收口
@@ -828,12 +832,10 @@ target_include_directories(XCPipelineAssets
按优先级排序,当前剩余工作为:
1. 清理根残留 include / src 历史引用并稳定构建边界
2. 继续完成 `RHI` 的真实 module / lib 收口
3. 继续执行 `Shaders / UI / Model-Mesh-GaussianSplat` 的 runtime -> pipeline 回收
4. `ObjectId` / gizmo / viewport helper passes 从 runtime 中抽出并收口到 editor-support
5. 推进 native lib 总收口
6. 全计划闭环后再删除根目录 `.dog`
1. 继续执行 `Shaders / UI / Model-Mesh-GaussianSplat` 的 runtime -> pipeline 回收
2. `ObjectId` / gizmo / viewport helper passes 从 runtime 中抽出并收口到 editor-support
3. 推进 native lib 总收口
4. 全计划闭环后再删除根目录 `.dog`
## 14. 验收节奏

View File

@@ -420,6 +420,128 @@ target_include_directories(XCPipelineAssets PRIVATE
target_link_libraries(XCPipelineAssets PUBLIC
XCRuntimeAsset
)
if(MSVC)
target_link_libraries(XCPipelineAssets PUBLIC
bcrypt
d3dcompiler
)
endif()
add_library(XCRuntimeRHI STATIC
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12Device.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12CommandQueue.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12CommandAllocator.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12CommandList.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12DescriptorHeap.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12DescriptorSet.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12Buffer.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12PipelineState.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12Sampler.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12Shader.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12Texture.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12RootSignature.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12PipelineLayout.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12SwapChain.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12Fence.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12Screenshot.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12ResourceView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12QueryHeap.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12RenderPass.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12Framebuffer.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/ShaderCompiler/SpirvShaderCompiler.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanBuffer.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanTexture.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanSampler.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanShader.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanShaderCompiler.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanDescriptorPool.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanDescriptorSet.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanPipelineLayout.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanPipelineState.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanResourceView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanCommandQueue.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanCommandList.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanRenderPass.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanFramebuffer.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanSwapChain.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanDevice.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanScreenshot.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLBuffer.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLTexture.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLSampler.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLShader.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLVertexArray.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLDevice.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLCommandList.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLCommandQueue.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLFence.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLPipelineState.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLSwapChain.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLRenderTargetView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLDepthStencilView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLScreenshot.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLTextureUnitAllocator.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLUniformBufferManager.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLFramebuffer.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLRenderPass.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLResourceView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLDescriptorPool.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLDescriptorSet.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLPipelineLayout.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/RHIFactory.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/RHIScreenshot.cpp
${CMAKE_CURRENT_SOURCE_DIR}/third_party/GLAD/src/glad.c
${CMAKE_CURRENT_SOURCE_DIR}/third_party/stb/stb_image.cpp
)
target_include_directories(XCRuntimeRHI
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include
${CMAKE_CURRENT_SOURCE_DIR}/third_party/GLAD/include
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/..
${CMAKE_CURRENT_SOURCE_DIR}/runtime/Core/include
${CMAKE_CURRENT_SOURCE_DIR}/runtime/Core/include/XCEngine
${CMAKE_CURRENT_SOURCE_DIR}/runtime/Debug/include
${CMAKE_CURRENT_SOURCE_DIR}/runtime/Debug/include/XCEngine
${CMAKE_CURRENT_SOURCE_DIR}/runtime/Threading/include
${CMAKE_CURRENT_SOURCE_DIR}/runtime/Threading/include/XCEngine
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src
${CMAKE_CURRENT_SOURCE_DIR}/third_party
${CMAKE_CURRENT_SOURCE_DIR}/third_party/stb
)
target_link_libraries(XCRuntimeRHI PUBLIC
Vulkan::Vulkan
)
if(WIN32)
target_link_libraries(XCRuntimeRHI PUBLIC
opengl32
)
endif()
if(MSVC)
target_link_libraries(XCRuntimeRHI PUBLIC
d3dcompiler
)
target_compile_options(XCRuntimeRHI PRIVATE
/FS
/W3
$<$<CONFIG:Debug,RelWithDebInfo>:/Z7>)
set_target_properties(XCRuntimeRHI PROPERTIES
MSVC_DEBUG_INFORMATION_FORMAT "$<$<CONFIG:Debug,RelWithDebInfo>:Embedded>"
COMPILE_PDB_NAME "XCRuntimeRHI-compile"
COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/compile-pdb"
COMPILE_PDB_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_BINARY_DIR}/compile-pdb/Debug"
COMPILE_PDB_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_BINARY_DIR}/compile-pdb/Release"
COMPILE_PDB_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_BINARY_DIR}/compile-pdb/MinSizeRel"
COMPILE_PDB_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_BINARY_DIR}/compile-pdb/RelWithDebInfo"
)
else()
target_compile_options(XCRuntimeRHI PRIVATE -Wall)
endif()
target_compile_definitions(XCRuntimeRHI PRIVATE
XCENGINE_SUPPORT_OPENGL
XCENGINE_SUPPORT_VULKAN
)
add_library(XCEngine STATIC
# Core (Types, RefCounted, SmartPtr, Event)
@@ -514,145 +636,6 @@ add_library(XCEngine STATIC
${CMAKE_CURRENT_SOURCE_DIR}/runtime/Debug/src/Profiler.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/Debug/src/RenderDocCapture.cpp
# RHI
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/RHIEnums.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/RHIFactory.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/RHIScreenshot.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/RHIDescriptorPool.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/RHIDescriptorSet.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/ShaderCompiler/SpirvShaderCompiler.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/D3D12/D3D12Enums.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/D3D12/D3D12Device.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/D3D12/D3D12CommandQueue.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/D3D12/D3D12CommandAllocator.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/D3D12/D3D12CommandList.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/D3D12/D3D12DescriptorHeap.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/D3D12/D3D12DescriptorSet.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/D3D12/D3D12Buffer.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/D3D12/D3D12PipelineState.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/D3D12/D3D12Sampler.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/D3D12/D3D12Shader.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/D3D12/D3D12Texture.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/D3D12/D3D12RootSignature.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/D3D12/D3D12PipelineLayout.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/D3D12/D3D12SwapChain.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/D3D12/D3D12Fence.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/D3D12/D3D12Screenshot.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/D3D12/D3D12ResourceView.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/D3D12/D3D12QueryHeap.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/D3D12/D3D12RenderPass.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/D3D12/D3D12Framebuffer.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12Device.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12CommandQueue.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12CommandAllocator.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12CommandList.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12DescriptorHeap.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12DescriptorSet.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12Buffer.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12PipelineState.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12Sampler.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12Shader.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12Texture.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12RootSignature.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12PipelineLayout.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12SwapChain.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12Fence.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12Screenshot.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12ResourceView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12QueryHeap.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12RenderPass.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/D3D12/D3D12Framebuffer.cpp
# Vulkan RHI
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/Vulkan/VulkanCommon.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/Vulkan/VulkanBuffer.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/Vulkan/VulkanTexture.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/Vulkan/VulkanSampler.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/Vulkan/VulkanShader.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/Vulkan/VulkanShaderCompiler.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/Vulkan/VulkanDescriptorPool.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/Vulkan/VulkanDescriptorSet.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/Vulkan/VulkanPipelineLayout.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/Vulkan/VulkanPipelineState.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/Vulkan/VulkanResourceView.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/Vulkan/VulkanFence.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/Vulkan/VulkanCommandQueue.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/Vulkan/VulkanCommandList.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/Vulkan/VulkanRenderPass.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/Vulkan/VulkanFramebuffer.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/Vulkan/VulkanSwapChain.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/Vulkan/VulkanDevice.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/Vulkan/VulkanScreenshot.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/ShaderCompiler/SpirvShaderCompiler.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanBuffer.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanTexture.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanSampler.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanShader.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanShaderCompiler.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanDescriptorPool.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanDescriptorSet.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanPipelineLayout.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanPipelineState.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanResourceView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanCommandQueue.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanCommandList.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanRenderPass.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanFramebuffer.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanSwapChain.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanDevice.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/Vulkan/VulkanScreenshot.cpp
# OpenGL RHI
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/OpenGL/OpenGLBuffer.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/OpenGL/OpenGLTexture.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/OpenGL/OpenGLSampler.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/OpenGL/OpenGLShader.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/OpenGL/OpenGLVertexArray.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/OpenGL/OpenGLDevice.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/OpenGL/OpenGLCommandList.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/OpenGL/OpenGLCommandQueue.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/OpenGL/OpenGLFence.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/OpenGL/OpenGLPipelineState.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/OpenGL/OpenGLSwapChain.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/OpenGL/OpenGLRenderTargetView.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/OpenGL/OpenGLDepthStencilView.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/OpenGL/OpenGLTextureUnitAllocator.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/OpenGL/OpenGLUniformBufferManager.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/OpenGL/OpenGLFramebuffer.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/OpenGL/OpenGLRenderPass.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/OpenGL/OpenGLResourceView.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/OpenGL/OpenGLDescriptorPool.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/OpenGL/OpenGLDescriptorSet.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/include/XCEngine/RHI/OpenGL/OpenGLPipelineLayout.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLBuffer.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLTexture.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLSampler.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLShader.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLVertexArray.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLDevice.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLCommandList.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLCommandQueue.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLFence.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLPipelineState.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLSwapChain.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLRenderTargetView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLDepthStencilView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLScreenshot.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLTextureUnitAllocator.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLUniformBufferManager.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLFramebuffer.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLRenderPass.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLResourceView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLDescriptorPool.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLDescriptorSet.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/OpenGL/OpenGLPipelineLayout.cpp
${CMAKE_CURRENT_SOURCE_DIR}/third_party/GLAD/src/glad.c
${CMAKE_CURRENT_SOURCE_DIR}/third_party/stb/stb_image.cpp
# RHI Factory
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/RHIFactory.cpp
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src/RHIScreenshot.cpp
# Resources (Concrete Resource Types)
${CMAKE_CURRENT_SOURCE_DIR}/runtime/Resources/include/XCEngine/Resources/Resources.h
${CMAKE_CURRENT_SOURCE_DIR}/runtime/Resources/include/XCEngine/Resources/Texture/Texture.h
@@ -1090,7 +1073,6 @@ target_include_directories(XCEngine PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/runtime/Physics/src
${CMAKE_CURRENT_SOURCE_DIR}/runtime/Platform/src
${CMAKE_CURRENT_SOURCE_DIR}/runtime/UI/src
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src
${CMAKE_CURRENT_SOURCE_DIR}/runtime/Rendering/src
${CMAKE_CURRENT_SOURCE_DIR}/runtime/Scripting/src
${CMAKE_CURRENT_SOURCE_DIR}/..
@@ -1114,11 +1096,10 @@ endif()
target_link_libraries(XCEngine PUBLIC
XCEngineUI
XCRuntimeRHI
XCPipelineAssets
XCRuntimeAsset
${CMAKE_CURRENT_SOURCE_DIR}/third_party/assimp/lib/assimp-vc143-mt.lib
opengl32
Vulkan::Vulkan
)
if(MSVC)
@@ -1126,9 +1107,7 @@ if(MSVC)
/FS
$<$<CONFIG:Debug,RelWithDebInfo>:/Z7>)
target_link_libraries(XCEngine PUBLIC
delayimp
d3dcompiler
bcrypt)
delayimp)
target_link_options(XCEngine INTERFACE "/DELAYLOAD:assimp-vc143-mt.dll")
set_target_properties(XCEngine PROPERTIES
MSVC_DEBUG_INFORMATION_FORMAT "$<$<CONFIG:Debug,RelWithDebInfo>:Embedded>"
@@ -1257,7 +1236,6 @@ if(XCENGINE_ENABLE_RENDERING_EDITOR_SUPPORT)
${CMAKE_CURRENT_SOURCE_DIR}/runtime/Audio/src
${CMAKE_CURRENT_SOURCE_DIR}/runtime/Platform/src
${CMAKE_CURRENT_SOURCE_DIR}/runtime/UI/src
${CMAKE_CURRENT_SOURCE_DIR}/runtime/RHI/src
${CMAKE_CURRENT_SOURCE_DIR}/runtime/Rendering/src
${CMAKE_CURRENT_SOURCE_DIR}/runtime/Scripting/src
${CMAKE_CURRENT_SOURCE_DIR}/third_party