set(EDITOR_SRC
        src/Editor.cpp
        src/EditorMenus.cpp
        src/EditorViewport.cpp
        src/EditorCamera.cpp
        src/PlayMode.cpp
        src/UndoStack.cpp
        src/ShaderHotReload.cpp
        src/SceneTree.cpp
        src/SceneInspector.cpp
        src/AssetBrowser.cpp
        src/TransformGizmo.cpp
        src/RectGizmo.cpp
        src/CanvasView.cpp
        src/ResourcesInspector.cpp
)

add_library(destrum_editor ${EDITOR_SRC})
add_library(destrum::editor ALIAS destrum_editor)

set_target_properties(destrum_editor PROPERTIES
        CXX_STANDARD 20
        CXX_EXTENSIONS OFF
)

target_include_directories(destrum_editor PUBLIC "${CMAKE_CURRENT_LIST_DIR}/include")
target_link_libraries(destrum_editor PUBLIC destrum::destrum)

target_compile_definitions(destrum_editor PRIVATE
        DESTRUM_ENGINE_ASSETS_SRC_DIR="${CMAKE_SOURCE_DIR}/destrum/assets_src"
        DESTRUM_THECHEF_PATH="$<TARGET_FILE:TheChef>"
)
add_dependencies(destrum_editor TheChef)
