@@ -31,6 +31,7 @@ set(CMAKE_AUTOUIC ON)
3131
3232find_package (Qt6 REQUIRED COMPONENTS
3333 Core
34+ Qml
3435 Quick # Qt Quick / QML engine
3536 QuickControls2 # QML controls (Button, Slider, etc.)
3637 Widgets # QApplication base
@@ -70,15 +71,45 @@ set(BACKEND_SOURCES
7071 src/backend/system/polkit.cpp
7172 src/backend/system/dnfmanager.cpp
7273 src/backend/system/commandrunner.cpp
74+ src/backend/system/sessionutil.cpp
75+ src/backend/system/capabilityprobe.cpp
76+ src/backend/system/languagemanager.cpp
77+ src/backend/system/uipreferencesmanager.cpp
7378)
7479
7580set (APP_SOURCES
7681 src/main.cpp
7782 src/cli/cli.cpp
78- ${BACKEND_SOURCES}
7983)
8084
8185# ─── QML Resources ────────────────────────────────────────────────────────────
86+ add_library (ro-control-backend STATIC ${BACKEND_SOURCES} )
87+
88+ target_link_libraries (ro-control-backend PUBLIC
89+ Qt6::Core
90+ Qt6::DBus
91+ Qt6::Qml
92+ )
93+
94+ target_compile_options (ro-control-backend PRIVATE
95+ -Wall
96+ -Wextra
97+ -Wpedantic
98+ $<$<CONFIG :Debug >:-g -O0 >
99+ $<$<CONFIG :Release >:-O2 >
100+ )
101+
102+ target_include_directories (ro-control-backend PUBLIC
103+ ${CMAKE_CURRENT_SOURCE_DIR} /src
104+ ${CMAKE_CURRENT_SOURCE_DIR} /src/backend
105+ )
106+
107+ target_compile_definitions (ro-control-backend PUBLIC
108+ RO_CONTROL_POLICY_ID= "${RO_CONTROL_POLICY_ID} "
109+ RO_CONTROL_HELPER_BUILD_PATH= "${RO_CONTROL_HELPER_BUILD_PATH} "
110+ RO_CONTROL_HELPER_INSTALL_PATH= "${RO_CONTROL_HELPER_INSTALL_PATH} "
111+ )
112+
82113qt_add_executable (ro-control ${APP_SOURCES} )
83114
84115set_source_files_properties (src/qml/assets/ro-control-logo.svg PROPERTIES
@@ -97,6 +128,11 @@ qt_add_qml_module(ro-control
97128 src/qml/pages/DriverPage.qml
98129 src/qml/pages/MonitorPage.qml
99130 src/qml/pages/SettingsPage.qml
131+ src/qml/components/InfoBadge.qml
132+ src/qml/components/ActionButton.qml
133+ src/qml/components/DetailRow.qml
134+ src/qml/components/SectionPanel.qml
135+ src/qml/components/StatusBanner.qml
100136 src/qml/components/StatCard.qml
101137 src/qml/components/SidebarMenu.qml
102138 RESOURCES
@@ -105,8 +141,11 @@ qt_add_qml_module(ro-control
105141)
106142
107143if (Qt6LinguistTools_FOUND)
144+ # English strings ship directly from source code. Keep the English TS file
145+ # for catalog maintenance, but only compile non-source locales into .qm.
108146 set (TS_FILES
109- i18n/ro-control_en.ts
147+ i18n/ro-control_de.ts
148+ i18n/ro-control_es.ts
110149 i18n/ro-control_tr.ts
111150 )
112151
@@ -118,11 +157,10 @@ endif()
118157
119158# ─── Link Qt Libraries ────────────────────────────────────────────────────────
120159target_link_libraries (ro-control PRIVATE
121- Qt6::Core
122160 Qt6::Quick
123161 Qt6::QuickControls2
124162 Qt6::Widgets
125- Qt6::DBus
163+ ro-control-backend
126164)
127165
128166# ─── Compiler Warnings ────────────────────────────────────────────────────────
@@ -152,8 +190,6 @@ target_include_directories(ro-control PRIVATE
152190
153191target_compile_definitions (ro-control PRIVATE
154192 RO_CONTROL_POLICY_ID= "${RO_CONTROL_POLICY_ID} "
155- RO_CONTROL_HELPER_BUILD_PATH= "${RO_CONTROL_HELPER_BUILD_PATH} "
156- RO_CONTROL_HELPER_INSTALL_PATH= "${RO_CONTROL_HELPER_INSTALL_PATH} "
157193)
158194
159195configure_file (
@@ -162,6 +198,7 @@ configure_file(
162198 @ONLY
163199 NEWLINE_STYLE UNIX
164200)
201+ execute_process (COMMAND chmod +x ${RO_CONTROL_HELPER_BUILD_PATH} )
165202
166203configure_file (
167204 data/polkit/io.github.ProjectRoASD.rocontrol.policy.in
@@ -179,7 +216,7 @@ install(PROGRAMS ${RO_CONTROL_HELPER_BUILD_PATH}
179216 RENAME ${RO_CONTROL_HELPER_NAME}
180217)
181218
182- install (FILES data/icons/ro-control .desktop
219+ install (FILES data/icons/io.github.projectroasd.rocontrol .desktop
183220 DESTINATION ${CMAKE_INSTALL_DATADIR} /applications
184221)
185222
@@ -193,7 +230,7 @@ install(FILES
193230 DESTINATION ${CMAKE_INSTALL_DATADIR} /icons/hicolor/256x256/apps
194231)
195232
196- install (FILES data/icons/ro-control .metainfo.xml
233+ install (FILES data/icons/io.github.projectroasd.rocontrol .metainfo.xml
197234 DESTINATION ${CMAKE_INSTALL_DATADIR} /metainfo
198235)
199236
0 commit comments