Files
XCEngine/MVS/VolumeRenderer/CMakeLists.txt
ssdfasd 7c54a62f9e feat: 添加Math库和Google Test测试框架
- 新增Math库: Vector2/3/4, Matrix3/4, Quaternion, Transform, Color等
- 新增测试框架: Google Test (gtest)
- 新增140个单元测试,覆盖Vector, Matrix, Quaternion, Geometry
- VolumeRenderer支持vcpkg的NanoVDB
- 添加TESTING.md测试文档
2026-03-13 18:43:14 +08:00

64 lines
1.6 KiB
CMake

cmake_minimum_required(VERSION 3.15)
project(XCVolumeRenderer VERSION 1.0 LANGUAGES CXX)
# ============================================================
# Vcpkg Integration
# ============================================================
set(VCPKG_ROOT "D:/vcpkg")
set(CMAKE_TOOLCHAIN_FILE "${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" CACHE STRING "")
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
set(SOURCES
main.cpp
BattleFireDirect.cpp
StaticMeshComponent.cpp
Utils.cpp
stbi/stb_image.cpp
NanoVDBLoader.cpp
)
set(HEADERS
BattleFireDirect.h
StaticMeshComponent.h
Utils.h
stbi/stb_image.h
)
add_executable(${PROJECT_NAME} WIN32 ${SOURCES} ${HEADERS})
target_compile_definitions(${PROJECT_NAME} PRIVATE UNICODE _UNICODE)
target_compile_options(${PROJECT_NAME} PRIVATE /utf-8 /MT)
target_include_directories(${PROJECT_NAME} PRIVATE
${CMAKE_SOURCE_DIR}
${VCPKG_ROOT}/installed/x64-windows/include
)
target_link_libraries(${PROJECT_NAME} PRIVATE
d3d12.lib
dxgi.lib
d3dcompiler.lib
winmm.lib
kernel32.lib
user32.lib
)
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
target_compile_definitions(${PROJECT_NAME} PRIVATE _DEBUG)
else()
target_compile_definitions(${PROJECT_NAME} PRIVATE NDEBUG)
endif()
set_target_properties(${PROJECT_NAME} PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}"
)
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory
${CMAKE_SOURCE_DIR}/Res
$<TARGET_FILE_DIR:${PROJECT_NAME}>/Res
)