feat: IComponent UI plugin build — drop standalone complexity#71
Merged
jimmy-claw merged 5 commits intomainfrom Mar 13, 2026
Merged
feat: IComponent UI plugin build — drop standalone complexity#71jimmy-claw merged 5 commits intomainfrom
jimmy-claw merged 5 commits intomainfrom
Conversation
Guard Q_PLUGIN_METADATA in calendar_module.h and scala_plugin.h with #ifndef SCALA_UI_BUILD so only ScalaUIComponent exports the plugin entry point when building libscala_ui.so. - Use LogosCalendar directly in scala_ui_component.cpp (drop ScalaPlugin wrapper) - Remove scala_plugin.cpp from BUILD_UI_PLUGIN sources in CMakeLists.txt - Add LOGOS_CORE_AVAILABLE guard around initLogos() call - Add run-app Makefile target to launch logos-app-poc with scala_ui plugin Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…oftware rendering
Adds logos-cpp-sdk and logos-liblogos as flake inputs and exposes a ui-plugin package that builds libscala_ui.so via cmake with BUILD_UI_PLUGIN=ON, using the workspace Qt/SDK dependencies. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…i .so The BUILD_UI_PLUGIN target listed qml/scala_ui.qrc in sources but CMAKE_AUTORCC was not enabled, so the .qrc was never processed by rcc — resulting in a blank white UI when loading qrc:/scala/CalendarView.qml. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Builds Scala as a proper Logos Core IComponent UI plugin compatible with logos-app (Basecamp).
Changes
Q_PLUGIN_METADATA conflict fix
Three classes (
LogosCalendar,ScalaPlugin,ScalaUIComponent) all hadQ_PLUGIN_METADATA, causingqt_plugin_query_metadata_v2()redefinition at link time. Fixed by guardingcalendar_module.handscala_plugin.hwith#ifndef SCALA_UI_BUILD.ScalaUIComponent simplified
Now uses
LogosCalendardirectly instead of theScalaPluginwrapper.initLogos()call guarded with#ifdef LOGOS_CORE_AVAILABLE. Removedscala_plugin.cppfrom the UI build target.run-appMakefile target addedStages logos-app-poc from nix store with
libscala_ui.soasplugins/main_ui.so, sets up Qt env vars, and launches.Verification
make build-ui-pluginproducesbuild-ui-plugin/libscala_ui.so(3.1MB)nm -Dconfirms exactly oneqt_plugin_query_metadata_v2andqt_plugin_instancecom.logos.component.IComponentembedded in the binary