Skip to content

Commit 023e4fb

Browse files
committed
Update README for qt6 and cmake
1 parent f994c0c commit 023e4fb

File tree

4 files changed

+44
-135
lines changed

4 files changed

+44
-135
lines changed

README.md

Lines changed: 43 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
1-
# Bitcoin Core QML GUI
1+
# Bitcoin Core App
2+
3+
*(The QML GUI)*
24

35
**WARNING: THIS IS EXPERIMENTAL, DO NOT USE BUILDS FROM THIS REPO FOR REAL TRANSACTIONS!**
46

5-
This directory contains the source code for an experimental Bitcoin Core graphical user interface (GUI) built using the [Qt Quick](https://doc.qt.io/qt-5/qtquick-index.html) framework.
7+
This directory contains the source code for an experimental Bitcoin Core graphical user interface (GUI) built using the [Qt Quick](https://doc.qt.io/qt-6/qtquick-index.html) framework.
68

7-
Unsecure CI artifacts are available for local testing of the master branch, avoiding the need to build. These can be found under the [Actions](https://github.com/bitcoin-core/gui-qml/actions?query=branch%3Amain) tab. It is required to have and be logged into a github account in order to download these.
9+
Unsecure CI artifacts are available for local testing of the master branch, avoiding the need to build. These can be found under the [Actions](https://github.com/bitcoin-core/gui-qml/actions?query=branch%3Aqt6) tab. It is required to have and be logged into a github account in order to download these.
810

911
Note: For macOS, the CI artifact binary must be made executable and code-signed before it can
1012
be ran. To make executable and apply a signature, run the following on the unzipped CI artifact:
1113

1214
```
13-
chmod +x ./Downloads/bitcoin-qt && codesign -s - ./Downloads/bitcoin-qt
15+
chmod +x ./Downloads/bitcoin-core-app && codesign -s - ./Downloads/bitcoin-core-app
1416
```
1517

1618
## Goals and Limitations
@@ -25,24 +27,22 @@ The primary goals of the project can be summed up as follows:
2527
- Work alongside the Bitcoin Design community to develop an aesthetic GUI
2628
- Develop a mobile-optimized GUI
2729

28-
We must avoid conflicts with the Bitcoin Core repo.
29-
As such, this project will aim to make very few changes outside of the qml directory.
30-
Pull requests must be focused on developing the GUI itself, adding build support,
31-
or improving relevant documentation.
30+
Avoid conflicts with the Bitcoin Core repository by importing it unmodified as a [git submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules).
31+
As such, this project **can not** accept pull requests making any significant changes unrelated to the GUI.
32+
Pull requests must be focused on developing the GUI itself, adding build support, or improving relevant documentation.
3233

33-
This project will **not** accept pull requests making any significant changes unrelated to the GUI.
3434

3535
## Development Process
3636

37-
This repo is synced with the [Bitcoin Core repo](https://github.com/bitcoin/bitcoin) on a weekly basis, or as needed to resolve conflicts.
37+
This repo is synced with the [Bitcoin Core repo](https://github.com/bitcoin/bitcoin) on a regular basis.
3838

39-
Contributions are welcome from all, developers and designers. If you are a new contributor, please read [CONTRIBUTING.md](../../CONTRIBUTING.md).
39+
Contributions are welcome from all, developers and designers. If you are a new contributor, please read [CONTRIBUTING.md](https://github.com/bitcoin/bitcoin/blob/master/CONTRIBUTING.md).
4040

4141
### Minimum Required Qt Version
4242

43-
All development must adhere to the current upstream Qt Version to minimize our divergence from upstream and avoid costly changes. Review of open PR's must ensure that changes are compatible with this Qt version. Currently, the required version is [Qt 5.15.2](https://github.com/bitcoin-core/gui-qml/blob/main/depends/packages/qt.mk#L2).
43+
All development must adhere to the current upstream Qt Version to minimize our divergence from upstream and avoid costly changes. Review of open PR's must ensure that changes are compatible with this Qt version. Currently, the required version is [Qt 6.2](https://github.com/bitcoin/bitcoin/blob/master/doc/dependencies.md#build-1).
4444

45-
As the Qt Version changes upstream, refactoring is allowed to use the now available features.
45+
As the Qt Version changes upstream, refactoring is allowed to use the newly available features.
4646

4747
### Policies
4848

@@ -52,50 +52,60 @@ This project has custom policies for development, see:
5252

5353
## Compile and Run
5454

55-
The master branch is only guaranteed to work and build on Debian-based systems, Fedora, and macOS.
55+
The master branch is only guaranteed to work and build on Debian-based systems and macOS.
5656
Support for more systems will be confirmed and documented as the project matures.
5757

5858
### Dependencies
59-
No additional dependencies, besides those in [build-osx.md](../../doc/build-osx.md), are needed for macOS.
6059

61-
Aside from the dependencies listed in [build-unix.md](../../doc/build-unix.md), the following additional dependencies are required to compile:
60+
Bitcoin Core App requires all the same dependencies as Bitcoin Core, see the
61+
appropriate document for your platform:
62+
63+
- [build-osx.md](https://github.com/bitcoin/bitcoin/blob/master/doc/build-osx.md)
64+
65+
- [build-unix.md](https://github.com/bitcoin/bitcoin/blob/master/doc/build-unix.md)
66+
67+
In addition the following dependencies are required for the GUI:
6268

6369
#### Debian-based systems:
6470

6571
```
66-
sudo apt install qtdeclarative5-dev qtquickcontrols2-5-dev
72+
sudo apt install qt6-base-dev qt6-tools-dev qt6-l10n-tools qt6-tools-dev-tools libgl-dev libqrencode-dev
6773
```
6874

69-
The following runtime dependencies are also required for dynamic builds;
70-
they are not needed for static builds:
75+
Additionally, to support Wayland protocol for modern desktop environments:
7176

7277
```
73-
sudo apt install qml-module-qtquick2 qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-dialogs qml-module-qtquick-layouts qml-module-qtquick-window2 qml-module-qt-labs-settings
78+
sudo apt install qt6-wayland
7479
```
75-
##### Important:
7680

77-
If you're unable to install the dependencies through your system's package manager, you can instead perform a [depends build](../../depends/README.md).
78-
79-
#### Fedora:
81+
#### macOS:
8082

8183
```
82-
sudo dnf install qt5-qtdeclarative-devel qt5-qtquickcontrols qt5-qtquickcontrols2-devel
84+
brew install qt@6 qrencode
8385
```
8486

8587
### Build
8688

87-
For instructions on how to build and compile Bitcoin Core, refer to your respective system's build doc.
88-
89-
As long as the required dependencies are installed, the qml GUI will be built.
90-
To ensure that you are in fact building the qml GUI, you can configure with the following option:
91-
89+
1. Install the required dependencies for your platform and clone the repository
90+
2. Fetch the Bitcoin Core submodule:
9291
```
93-
./configure --with-qml
92+
git submodule update --init --recursive --depth 1
93+
```
94+
3. Configure
95+
```
96+
cmake -B build
97+
```
98+
4. Build
99+
```
100+
cmake --build build -j$(nproc)
94101
```
95102

96103
### Run
97104

98-
To run the qml GUI:
105+
Binaries are exported to the `build/` directory:
99106
```
100-
./src/qt/bitcoin-qt
107+
build/bin/bitcoin-core-app
101108
```
109+
110+
111+
File renamed without changes.

qml/doc/translator-comments.md renamed to doc/translator-comments.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ follow-up PR.
1010

1111
Translator comments only apply to strings that are marked for translation.
1212
For more information, see:
13-
[Internationalization and Localization with Qt Quick](https://doc.qt.io/qt-5/qtquick-internationalization.html)
13+
[Internationalization and Localization with Qt Quick](https://doc.qt.io/qt-6/i18n-source-translation.html)
1414

1515
Below, the values for the `text` and `description` properties are examples of
1616
new user-facing strings marked for translation without translator comments:

qml/README.md

Lines changed: 0 additions & 101 deletions
This file was deleted.

0 commit comments

Comments
 (0)