@@ -16,6 +16,17 @@ This guide covers building ro-Control from source on Linux systems with Qt 6 and
1616
1717---
1818
19+ ## Fedora Quick Bootstrap
20+
21+ ``` bash
22+ ./scripts/fedora-bootstrap.sh
23+ ```
24+
25+ The script installs Fedora dependencies, builds the app, and runs tests by default.
26+ For Fedora-specific runtime notes, see [ FEDORA.md] ( FEDORA.md ) .
27+
28+ ---
29+
1930## Install Dependencies
2031
2132``` bash
@@ -32,6 +43,12 @@ sudo dnf install \
3243 polkit-devel
3344```
3445
46+ Runtime tools used by diagnostics and driver operations:
47+
48+ ``` bash
49+ sudo dnf install dnf polkit pciutils mokutil kmod
50+ ```
51+
3552---
3653
3754## Clone the Repository
@@ -48,25 +65,15 @@ cd ro-Control
4865### Debug Build (for development)
4966
5067``` bash
51- mkdir build && cd build
52- cmake .. -DCMAKE_BUILD_TYPE=Debug
53- make -j$( nproc)
68+ cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug
69+ cmake --build build -j$( nproc)
5470```
5571
5672### Release Build
5773
5874``` bash
59- mkdir build && cd build
60- cmake .. -DCMAKE_BUILD_TYPE=Release
61- make -j$( nproc)
62- ```
63-
64- ### Faster builds with Ninja (optional)
65-
66- ``` bash
67- mkdir build && cd build
68- cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug
69- ninja
75+ cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
76+ cmake --build build -j$( nproc)
7077```
7178
7279### Refresh translations (recommended before release)
@@ -81,19 +88,19 @@ cmake --build build
8188## Run
8289
8390``` bash
84- # From the build directory
85- ./ro-control
91+ # From the repository root
92+ ./build/ ro-control
8693```
8794
8895CLI examples:
8996
9097``` bash
91- ./ro-control help
92- ./ro-control version
93- ./ro-control status
94- ./ro-control diagnostics --json
95- ./ro-control driver install --proprietary --accept-license
96- ./ro-control driver update
98+ ./build/ ro-control help
99+ ./build/ ro-control version
100+ ./build/ ro-control status
101+ ./build/ ro-control diagnostics --json
102+ ./build/ ro-control driver install --proprietary --accept-license
103+ ./build/ ro-control driver update
97104```
98105
99106> ** Note:** Driver install/remove operations require PolicyKit authentication. The UI will prompt you automatically.
@@ -110,27 +117,25 @@ After `cmake --install`, the CLI integration also installs:
110117## Install System-Wide
111118
112119``` bash
113- cd build
114- sudo make install
120+ sudo cmake --install build
115121```
116122
117123This installs:
118- - Binary → ` /usr/local/bin/ro-control `
119- - Privileged helper → ` /usr/local/libexec/ro-control-helper `
120- - Desktop entry → ` /usr/local/share/applications/ `
121- - Icons → ` /usr/local/share/icons/ `
122- - AppStream metadata → ` /usr/local/share/metainfo/ `
123- - PolicyKit policy → ` /usr/local/share/polkit-1/actions/ `
124+ - Binary -> ` /usr/local/bin/ro-control `
125+ - Privileged helper -> ` /usr/local/libexec/ro-control-helper `
126+ - Desktop entry -> ` /usr/local/share/applications/ `
127+ - Icons -> ` /usr/local/share/icons/ `
128+ - AppStream metadata -> ` /usr/local/share/metainfo/ `
129+ - PolicyKit policy -> ` /usr/local/share/polkit-1/actions/ `
124130
125131---
126132
127133## Build with Tests
128134
129135``` bash
130- mkdir build && cd build
131- cmake .. -DBUILD_TESTS=ON
132- make -j$( nproc)
133- ctest --output-on-failure
136+ cmake -S . -B build -G Ninja -DBUILD_TESTS=ON
137+ cmake --build build -j$( nproc)
138+ ctest --test-dir build --output-on-failure
134139```
135140
136141---
@@ -177,9 +182,8 @@ cmake --build build
177182After making changes, always verify the build passes before submitting a PR:
178183
179184``` bash
180- cd build
181- make -j$( nproc)
182- ctest --output-on-failure
185+ cmake --build build -j$( nproc)
186+ ctest --test-dir build --output-on-failure
183187```
184188
185189See [ CONTRIBUTING.md] ( ../CONTRIBUTING.md ) for the full contribution guide.
0 commit comments