cmake_minimum_required(VERSION 3.28) project(yeti3dpro-editor LANGUAGES C CXX) find_package(SDL3 REQUIRED CONFIG REQUIRED COMPONENTS SDL3-shared) # import y3d add_subdirectory(${PROJECT_SOURCE_DIR}/y3d) # import imgui add_library(imgui STATIC) target_sources(imgui PRIVATE ${PROJECT_SOURCE_DIR}/imgui/imgui_demo.cpp ${PROJECT_SOURCE_DIR}/imgui/imgui_draw.cpp ${PROJECT_SOURCE_DIR}/imgui/imgui_tables.cpp ${PROJECT_SOURCE_DIR}/imgui/imgui_widgets.cpp ${PROJECT_SOURCE_DIR}/imgui/imgui.cpp ${PROJECT_SOURCE_DIR}/imgui/backends/imgui_impl_sdl3.cpp ${PROJECT_SOURCE_DIR}/imgui/backends/imgui_impl_sdlrenderer3.cpp ) target_include_directories(imgui PUBLIC ${PROJECT_SOURCE_DIR}/imgui ${PROJECT_SOURCE_DIR}/imgui/backends ) target_link_libraries(imgui PUBLIC SDL3::SDL3) # import imguifiledialog add_library(imguifiledialog STATIC) target_sources(imguifiledialog PRIVATE ${PROJECT_SOURCE_DIR}/imguifiledialog/ImGuiFileDialog.cpp ) target_include_directories(imguifiledialog PUBLIC ${PROJECT_SOURCE_DIR}/imguifiledialog ) target_link_libraries(imguifiledialog PUBLIC imgui) # editor add_executable(yeti3dpro-editor) target_sources(yeti3dpro-editor PRIVATE ${PROJECT_SOURCE_DIR}/source/main.cpp ${PROJECT_SOURCE_DIR}/source/editor.cpp ) target_link_libraries(yeti3dpro-editor PRIVATE imguifiledialog imgui y3d game)