cmake_minimum_required(VERSION 3.15) project(XCVolumeRenderer VERSION 1.0 LANGUAGES CXX) 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 ) 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} ) 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 $/Res )