2026-03-16 13:18:53 +08:00
|
|
|
cmake_minimum_required(VERSION 3.15)
|
|
|
|
|
|
|
|
|
|
project(XCRender)
|
|
|
|
|
|
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
|
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
|
|
|
|
|
|
if(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY)
|
|
|
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/package/include/)
|
|
|
|
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/package/glm/)
|
2026-03-16 15:55:49 +08:00
|
|
|
include_directories(${CMAKE_SOURCE_DIR}/engine/include)
|
2026-03-16 13:18:53 +08:00
|
|
|
|
|
|
|
|
link_directories(${CMAKE_CURRENT_SOURCE_DIR}/package/lib/)
|
|
|
|
|
|
|
|
|
|
file(GLOB copyResources "${CMAKE_CURRENT_SOURCE_DIR}/Shaders" "${CMAKE_CURRENT_SOURCE_DIR}/res")
|
|
|
|
|
file(COPY ${copyResources} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Debug)
|
|
|
|
|
|
|
|
|
|
file(GLOB assimpDll "${CMAKE_CURRENT_SOURCE_DIR}/package/dll/assimp-vc143-mt.dll")
|
|
|
|
|
file(COPY ${assimpDll} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Debug)
|
|
|
|
|
|
|
|
|
|
add_executable(
|
|
|
|
|
XCRender
|
|
|
|
|
main.cpp
|
|
|
|
|
./package/src/glad.c
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
target_link_libraries(XCRender
|
|
|
|
|
PRIVATE
|
|
|
|
|
glfw3.lib
|
|
|
|
|
assimp-vc143-mt.lib
|
2026-03-16 15:55:49 +08:00
|
|
|
XCEngine
|
2026-03-16 16:07:12 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_custom_command(TARGET XCRender POST_BUILD
|
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/compare_ppm.py
|
|
|
|
|
$<TARGET_FILE_DIR:XCRender>/compare_ppm.py
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_custom_command(TARGET XCRender POST_BUILD
|
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/GT.ppm
|
|
|
|
|
$<TARGET_FILE_DIR:XCRender>/GT.ppm
|
2026-03-16 13:18:53 +08:00
|
|
|
)
|