@@ -16,7 +16,7 @@ if(EDITOR_FIND_ROOT_PATH_APPEND)
1616 list (APPEND CMAKE_FIND_ROOT_PATH "${CMAKE_PREFIX_PATH} " )
1717endif ()
1818
19- # C++17 is required
19+ # C++23 is required
2020set (CMAKE_CXX_STANDARD 23)
2121set (CMAKE_CXX_STANDARD_REQUIRED ON )
2222set (CMAKE_CXX_EXTENSIONS OFF )
@@ -323,21 +323,48 @@ set(EDITOR_SOURCES
323323)
324324
325325set (EDITOR_QML_UI
326+ src/ui/common/CheckBox.qml
327+ src/ui/common/SpinBox.qml
328+ src/ui/common/TextField.qml
326329 src/ui/MainWindow.qml
330+ src/ui/database/DatabaseWindow.qml
331+ src/ui/database/ActorPage.qml
332+ src/ui/database/DatabaseEntryListPage.qml
333+ src/ui/database/DatabaseEntryPage.qml
334+ src/ui/database/DatabasePage.qml
335+ src/ui/database/ItemPage.qml
336+ src/ui/database/SkillPage.qml
337+ src/ui/database/VocabularyPage.qml
327338)
328339
329340set (EDITOR_QML_INTERFACE
330- src/qmlbinding/empty.h
341+ src/qmlbinding/json_internals/json_t_database.cpp
342+ src/qmlbinding/json_internals/json_t_impl.h
343+ src/qmlbinding/json_internals/json_t_map.cpp
344+ src/qmlbinding/json_internals/json_t_treemap.cpp
345+ src/qmlbinding/json.h
346+ src/qmlbinding/json_list_view.cpp
347+ src/qmlbinding/json_list_view.h
348+ src/qmlbinding/json_t.h
349+ src/qmlbinding/json_view.cpp
350+ src/qmlbinding/json_view.h
351+ src/qmlbinding/lcf_glaze.h
352+ src/qmlbinding/project_data_gadget.cpp
353+ src/qmlbinding/project_data_gadget.h
331354)
332355
333356# Dependencies
334357set (QT_NO_PRIVATE_MODULE_WARNING ON )
335- find_package (Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED COMPONENTS Widgets Core Multimedia Gui GuiPrivate Svg QuickControls2 )
358+ find_package (Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED COMPONENTS
359+ Widgets Core Multimedia Gui Svg
360+ GuiPrivate QuickPrivate QuickControls2 WidgetsPrivate )
336361find_package (Qt6LinguistTools CONFIG QUIET )
337362find_package (ZLIB REQUIRED )
338363find_package (glaze REQUIRED )
339364find_package (KF6 ${KF_DEP_VERSION} REQUIRED COMPONENTS Kirigami )
340365find_package (QQC2BreezeStyle REQUIRED )
366+ find_package (KDBindings QUIET ) # only required by the static build
367+ find_package (KDDockWidgets-qt6 REQUIRED )
341368
342369qt_standard_project_setup (
343370 REQUIRES "${REQUIRED_QT_VERSION} "
@@ -383,6 +410,11 @@ else()
383410 endif ()
384411endif ()
385412
413+ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang$" )
414+ # Fix template recursion limit hit by glaze
415+ target_compile_options (${EXE_NAME} PRIVATE "-fbracket-depth=1024" )
416+ endif ()
417+
386418# Include directories
387419target_include_directories (${EXE_NAME}
388420 PUBLIC
@@ -462,6 +494,7 @@ endif()
462494target_link_libraries (${EXE_NAME} PRIVATE
463495 ZLIB::ZLIB
464496 glaze::glaze
497+ KDAB::kddockwidgets
465498 Qt6::Widgets
466499 Qt6::Gui
467500 Qt6::Core
@@ -486,6 +519,7 @@ if(KIRIGAMI_TYPE STREQUAL "STATIC_LIBRARY")
486519 KF6KirigamiPrivateplugin
487520 KF6KirigamiPolyfillplugin
488521 )
522+ target_compile_definitions (${EXE_NAME} PUBLIC "-DKIRIGAMI_STATIC=1" )
489523endif ()
490524
491525get_target_property (QQC2_TYPE org.kde.breeze TYPE )
0 commit comments