Files
XCEngine/engine/CMakeLists.txt
ssdfasd cba4f9c838 feat: 实现D3D12Device类,整合D3D12Enum.h转换函数
- 简化D3D12Device,仅封装ID3D12Device和IDXGIFactory
- 将D3D12Common.h中的转换函数合并到D3D12Enum.h
- 添加ResourceStates枚举到Enums.h
- 更新测试项目使用新的D3D12Device类
- 更新CMake配置
2026-03-15 03:02:15 +08:00

102 lines
2.9 KiB
CMake

cmake_minimum_required(VERSION 3.15)
project(XCEngineLib)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_library(XCEngine STATIC
# Math
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
# 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
# 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
# RHI
include/XCEngine/RHI/Enums.h
include/XCEngine/RHI/D3D12/D3D12Enum.h
include/XCEngine/RHI/D3D12/D3D12Device.h
src/RHI/D3D12Device.cpp
)
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()