cmake_minimum_required(VERSION 3.15) project(XCVolumeRendererUI2 VERSION 1.0 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) add_definitions(-DUNICODE -D_UNICODE) add_definitions(-DIMGUI_ENABLE_DOCKING) include(FetchContent) FetchContent_Declare( imgui GIT_REPOSITORY https://gitee.com/mirrors/imgui.git GIT_TAG docking GIT_SHALLOW TRUE ) FetchContent_MakeAvailable(imgui) set(IMGUI_SOURCES ${imgui_SOURCE_DIR}/imgui.cpp ${imgui_SOURCE_DIR}/imgui_demo.cpp ${imgui_SOURCE_DIR}/imgui_draw.cpp ${imgui_SOURCE_DIR}/imgui_tables.cpp ${imgui_SOURCE_DIR}/imgui_widgets.cpp ${imgui_SOURCE_DIR}/backends/imgui_impl_win32.cpp ${imgui_SOURCE_DIR}/backends/imgui_impl_dx12.cpp ) add_executable(${PROJECT_NAME} WIN32 src/main.cpp src/Application.cpp src/Theme.cpp src/Core/UndoManager.cpp src/Managers/SceneManager.cpp src/Managers/ProjectManager.cpp src/Core/EditorConsoleSink.cpp src/panels/Panel.cpp src/panels/MenuBar.cpp src/panels/HierarchyPanel.cpp src/panels/SceneViewPanel.cpp src/panels/GameViewPanel.cpp src/panels/InspectorPanel.cpp src/panels/ConsolePanel.cpp src/panels/ProjectPanel.cpp src/Layers/EditorLayer.cpp ${IMGUI_SOURCES} ) target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ${imgui_SOURCE_DIR} ${imgui_SOURCE_DIR}/backends ${CMAKE_CURRENT_SOURCE_DIR}/../engine/include ${CMAKE_CURRENT_SOURCE_DIR}/../tests/OpenGL/package/glm ) target_compile_definitions(${PROJECT_NAME} PRIVATE UNICODE _UNICODE) target_compile_options(${PROJECT_NAME} PRIVATE /utf-8 /MD) target_link_libraries(${PROJECT_NAME} PRIVATE d3d12.lib dxgi.lib d3dcompiler.lib ${CMAKE_CURRENT_SOURCE_DIR}/../build/engine/Release/XCEngine.lib ) set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME "XCEngine" RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/bin" )