新增 Components 模块: - Component 基类 (生命周期、启用状态管理) - TransformComponent (本地/世界空间变换、矩阵缓存、父子层级) - GameObject (组件管理、父子层级、激活状态、静态查找) 新增 Scene 模块: - Scene (场景管理、对象创建销毁、查找、生命周期) - SceneManager (单例模式、多场景管理、场景切换) 新增测试: - test_component.cpp (12 个测试) - test_transform_component.cpp (35 个测试) - test_game_object.cpp (26 个测试) - test_scene.cpp (20 个测试) - test_scene_manager.cpp (17 个测试) 所有测试均已编译通过。
28 lines
612 B
CMake
28 lines
612 B
CMake
cmake_minimum_required(VERSION 3.15)
|
|
|
|
project(XCEngine_SceneTests)
|
|
|
|
set(SCENE_TEST_SOURCES
|
|
test_scene.cpp
|
|
test_scene_manager.cpp
|
|
)
|
|
|
|
add_executable(xcengine_scene_tests ${SCENE_TEST_SOURCES})
|
|
|
|
if(MSVC)
|
|
set_target_properties(xcengine_scene_tests PROPERTIES
|
|
LINK_FLAGS "/NODEFAULTLIB:libcpmt.lib /NODEFAULTLIB:libcmt.lib"
|
|
)
|
|
endif()
|
|
|
|
target_link_libraries(xcengine_scene_tests PRIVATE
|
|
XCEngine
|
|
GTest::gtest
|
|
GTest::gtest_main
|
|
)
|
|
|
|
target_include_directories(xcengine_scene_tests PRIVATE
|
|
${CMAKE_SOURCE_DIR}/engine/include
|
|
)
|
|
|
|
add_test(NAME SceneTests COMMAND xcengine_scene_tests) |