2026-03-13 18:43:14 +08:00
|
|
|
cmake_minimum_required(VERSION 3.15)
|
2026-03-15 03:02:15 +08:00
|
|
|
project(XCEngineLib)
|
2026-03-13 18:43:14 +08:00
|
|
|
|
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
|
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
|
|
|
|
|
|
add_library(XCEngine STATIC
|
feat: 实现Containers、Memory、Threading核心模块及单元测试
- Containers: String, Array, HashMap 容器实现及测试
- Memory: Allocator, LinearAllocator, PoolAllocator, ProxyAllocator, MemoryManager 实现及测试
- Threading: Mutex, SpinLock, ReadWriteLock, Thread, Task, TaskSystem 实现及测试
- 修复Windows平台兼容性: _aligned_malloc, std::hash特化
- 修复构建错误和测试用例问题
2026-03-13 20:37:08 +08:00
|
|
|
# Math
|
2026-03-13 18:43:14 +08:00
|
|
|
include/XCEngine/Math/Math.h
|
|
|
|
|
include/XCEngine/Math/Vector2.h
|
|
|
|
|
include/XCEngine/Math/Vector3.h
|
|
|
|
|
include/XCEngine/Math/Vector4.h
|
|
|
|
|
include/XCEngine/Math/Matrix3.h
|
|
|
|
|
include/XCEngine/Math/Matrix4.h
|
|
|
|
|
include/XCEngine/Math/Quaternion.h
|
|
|
|
|
include/XCEngine/Math/Transform.h
|
|
|
|
|
include/XCEngine/Math/Color.h
|
|
|
|
|
include/XCEngine/Math/Ray.h
|
|
|
|
|
include/XCEngine/Math/Plane.h
|
|
|
|
|
include/XCEngine/Math/Sphere.h
|
|
|
|
|
include/XCEngine/Math/Box.h
|
|
|
|
|
include/XCEngine/Math/Bounds.h
|
|
|
|
|
include/XCEngine/Math/Frustum.h
|
|
|
|
|
include/XCEngine/Math/Rect.h
|
|
|
|
|
include/XCEngine/Math/AABB.h
|
|
|
|
|
src/Math/Matrix.cpp
|
|
|
|
|
src/Math/Quaternion.cpp
|
|
|
|
|
src/Math/Transform.cpp
|
|
|
|
|
src/Math/Color.cpp
|
|
|
|
|
src/Math/Geometry.cpp
|
|
|
|
|
src/Math/FrustumBounds.cpp
|
feat: 实现Containers、Memory、Threading核心模块及单元测试
- Containers: String, Array, HashMap 容器实现及测试
- Memory: Allocator, LinearAllocator, PoolAllocator, ProxyAllocator, MemoryManager 实现及测试
- Threading: Mutex, SpinLock, ReadWriteLock, Thread, Task, TaskSystem 实现及测试
- 修复Windows平台兼容性: _aligned_malloc, std::hash特化
- 修复构建错误和测试用例问题
2026-03-13 20:37:08 +08:00
|
|
|
|
|
|
|
|
# Containers
|
|
|
|
|
include/XCEngine/Containers/Containers.h
|
|
|
|
|
include/XCEngine/Containers/Array.h
|
|
|
|
|
include/XCEngine/Containers/String.h
|
|
|
|
|
include/XCEngine/Containers/HashMap.h
|
|
|
|
|
src/Containers/String.cpp
|
|
|
|
|
|
|
|
|
|
# Memory
|
|
|
|
|
include/XCEngine/Memory/Allocator.h
|
|
|
|
|
include/XCEngine/Memory/LinearAllocator.h
|
|
|
|
|
include/XCEngine/Memory/PoolAllocator.h
|
|
|
|
|
include/XCEngine/Memory/ProxyAllocator.h
|
|
|
|
|
include/XCEngine/Memory/MemoryManager.h
|
|
|
|
|
src/Memory/Memory.cpp
|
|
|
|
|
|
|
|
|
|
# Threading
|
|
|
|
|
include/XCEngine/Threading/Threading.h
|
|
|
|
|
include/XCEngine/Threading/Mutex.h
|
|
|
|
|
include/XCEngine/Threading/SpinLock.h
|
|
|
|
|
include/XCEngine/Threading/ReadWriteLock.h
|
|
|
|
|
include/XCEngine/Threading/Thread.h
|
|
|
|
|
include/XCEngine/Threading/Task.h
|
|
|
|
|
include/XCEngine/Threading/LambdaTask.h
|
|
|
|
|
include/XCEngine/Threading/TaskGroup.h
|
|
|
|
|
include/XCEngine/Threading/TaskSystemConfig.h
|
|
|
|
|
include/XCEngine/Threading/TaskSystem.h
|
|
|
|
|
src/Threading/Thread.cpp
|
|
|
|
|
src/Threading/TaskGroup.cpp
|
|
|
|
|
src/Threading/TaskSystem.cpp
|
feat: 实现日志与调试系统(Debug模块)
- LogLevel: 日志级别枚举 (Verbose, Debug, Info, Warning, Error, Fatal)
- LogCategory: 日志分类 (General, Rendering, Physics, Memory, Threading等)
- ILogSink: 日志输出接口
- ConsoleLogSink: 控制台输出, 支持Windows颜色
- FileLogSink: 文件日志输出
- FileWriter: 文件写入器
- Logger: 日志管理器, 支持多sink, 分类控制
- Profiler: 性能分析器
- 单元测试覆盖
2026-03-13 20:53:57 +08:00
|
|
|
|
|
|
|
|
# Core
|
|
|
|
|
include/XCEngine/Core/FileWriter.h
|
|
|
|
|
src/Core/FileWriter.cpp
|
|
|
|
|
|
|
|
|
|
# Debug
|
|
|
|
|
include/XCEngine/Debug/Debug.h
|
|
|
|
|
include/XCEngine/Debug/LogLevel.h
|
|
|
|
|
include/XCEngine/Debug/LogCategory.h
|
|
|
|
|
include/XCEngine/Debug/LogEntry.h
|
|
|
|
|
include/XCEngine/Debug/ILogSink.h
|
|
|
|
|
include/XCEngine/Debug/ConsoleLogSink.h
|
|
|
|
|
include/XCEngine/Debug/FileLogSink.h
|
|
|
|
|
include/XCEngine/Debug/Logger.h
|
|
|
|
|
include/XCEngine/Debug/Profiler.h
|
|
|
|
|
src/Debug/LogLevel.cpp
|
|
|
|
|
src/Debug/LogCategory.cpp
|
|
|
|
|
src/Debug/ConsoleLogSink.cpp
|
|
|
|
|
src/Debug/FileLogSink.cpp
|
|
|
|
|
src/Debug/Logger.cpp
|
|
|
|
|
src/Debug/Profiler.cpp
|
2026-03-14 02:42:59 +08:00
|
|
|
|
|
|
|
|
# RHI
|
2026-03-15 02:05:28 +08:00
|
|
|
include/XCEngine/RHI/Enums.h
|
2026-03-15 03:02:15 +08:00
|
|
|
include/XCEngine/RHI/D3D12/D3D12Enum.h
|
|
|
|
|
include/XCEngine/RHI/D3D12/D3D12Device.h
|
2026-03-15 03:15:12 +08:00
|
|
|
include/XCEngine/RHI/D3D12/D3D12CommandQueue.h
|
|
|
|
|
include/XCEngine/RHI/D3D12/D3D12CommandAllocator.h
|
2026-03-15 18:05:06 +08:00
|
|
|
include/XCEngine/RHI/D3D12/D3D12CommandList.h
|
2026-03-15 18:17:59 +08:00
|
|
|
include/XCEngine/RHI/D3D12/D3D12DescriptorHeap.h
|
2026-03-15 18:45:11 +08:00
|
|
|
include/XCEngine/RHI/D3D12/D3D12Buffer.h
|
2026-03-15 18:41:27 +08:00
|
|
|
include/XCEngine/RHI/D3D12/D3D12PipelineState.h
|
2026-03-15 18:48:04 +08:00
|
|
|
include/XCEngine/RHI/D3D12/D3D12Sampler.h
|
2026-03-15 18:45:11 +08:00
|
|
|
include/XCEngine/RHI/D3D12/D3D12Texture.h
|
2026-03-15 18:36:11 +08:00
|
|
|
include/XCEngine/RHI/D3D12/D3D12RootSignature.h
|
2026-03-15 18:24:02 +08:00
|
|
|
include/XCEngine/RHI/D3D12/D3D12SwapChain.h
|
2026-03-15 03:23:39 +08:00
|
|
|
include/XCEngine/RHI/D3D12/D3D12Fence.h
|
2026-03-15 15:39:15 +08:00
|
|
|
include/XCEngine/RHI/D3D12/D3D12Screenshot.h
|
2026-03-15 03:02:15 +08:00
|
|
|
src/RHI/D3D12Device.cpp
|
2026-03-15 03:15:12 +08:00
|
|
|
src/RHI/D3D12CommandQueue.cpp
|
|
|
|
|
src/RHI/D3D12CommandAllocator.cpp
|
2026-03-15 18:05:06 +08:00
|
|
|
src/RHI/D3D12CommandList.cpp
|
2026-03-15 18:17:59 +08:00
|
|
|
src/RHI/D3D12DescriptorHeap.cpp
|
2026-03-15 18:45:11 +08:00
|
|
|
src/RHI/D3D12Buffer.cpp
|
2026-03-15 18:41:27 +08:00
|
|
|
src/RHI/D3D12PipelineState.cpp
|
2026-03-15 18:48:04 +08:00
|
|
|
src/RHI/D3D12Sampler.cpp
|
2026-03-15 18:45:11 +08:00
|
|
|
src/RHI/D3D12Texture.cpp
|
2026-03-15 18:36:11 +08:00
|
|
|
src/RHI/D3D12RootSignature.cpp
|
2026-03-15 18:24:02 +08:00
|
|
|
src/RHI/D3D12SwapChain.cpp
|
2026-03-15 03:23:39 +08:00
|
|
|
src/RHI/D3D12Fence.cpp
|
2026-03-15 15:39:15 +08:00
|
|
|
src/RHI/D3D12Screenshot.cpp
|
2026-03-13 18:43:14 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
target_include_directories(XCEngine PUBLIC
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if(MSVC)
|
|
|
|
|
target_compile_options(XCEngine PRIVATE /W3)
|
|
|
|
|
else()
|
|
|
|
|
target_compile_options(XCEngine PRIVATE -Wall)
|
|
|
|
|
endif()
|