- strip QAbstractItemModel/QAction/signals-slots from UndoStack (UI concerns belong to the app layer), index_changed becomes a std::function callback - decouple UndoCommand from Project via an optional modified-flag callback pair - add pure C ABI in include/undo + src/undo/c_api (oakundo_ prefix, vtable-based command wrapper, OAKUNDO_E_* error codes) - fix three engine-side defects: jump(0) infinite loop, MultiUndoCommand child leak, push_pre_executed not undoable - add gtest suites (22 cases) and a standalone build driver
29 lines
854 B
CMake
29 lines
854 B
CMake
# Oak Video Editor - Non-Linear Video Editor
|
|
# Copyright (C) 2026 Oak Team
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
|
|
find_package(GTest REQUIRED)
|
|
include(GoogleTest)
|
|
|
|
add_executable(oakundo-gtest
|
|
undocommand_test.cpp
|
|
undostack_test.cpp
|
|
)
|
|
|
|
target_link_libraries(oakundo-gtest PRIVATE
|
|
oakundo
|
|
GTest::gtest
|
|
GTest::gtest_main
|
|
)
|
|
|
|
gtest_discover_tests(oakundo-gtest)
|