update readme

This commit is contained in:
Iuri Matias 2020-05-15 18:46:12 -04:00
parent 0b278a9208
commit 9e5f2456cf
1 changed files with 52 additions and 1 deletions

View File

@ -2,6 +2,41 @@
Experiments calling status-go from nim, inspired in [nim-stratus](https://github.com/status-im/nim-stratus) by [@arnetheduck](https://github.com/arnetheduck) Experiments calling status-go from nim, inspired in [nim-stratus](https://github.com/status-im/nim-stratus) by [@arnetheduck](https://github.com/arnetheduck)
## Building
### 0. Prerequesites
* nim
```
# linux
apt-get install nim
# macos
brew install nim
```
* QT
install QT https://www.qt.io/download-qt-installer
and add it to the PATH
```
# Linux
export PATH=$PATH:/path/to/Qt/5.14.2/gcc_64/bin
# macos
export PATH=$PATH:/path/to/Qt/5.14.2/clang_64/bin
```
* go - (used to build status-go)
```
# linux
<TODO>
# macos
brew install go
```
### 1. Install QT, and add it to the PATH ### 1. Install QT, and add it to the PATH
@ -15,10 +50,19 @@ export PATH=$PATH:/path/to/Qt/5.14.2/clang_64/bin
### 2. Clone the repo and build `nim-status-client` ### 2. Clone the repo and build `nim-status-client`
``` ```
git clone https://github.com/status-im/nim-status-client/ git clone https://github.com/status-im/nim-status-client/ --recurse-submodules
make make
``` ```
if you previously cloned the repo without the `--recurse-submodule` options, then do
```
git submodule update --init --recursive
make
```
for more output use `make V=1`
### 3. Setup Library Path ### 3. Setup Library Path
``` ```
export LD_LIBRARY_PATH=vendor/DOtherSide/build/lib/ export LD_LIBRARY_PATH=vendor/DOtherSide/build/lib/
@ -30,6 +74,13 @@ export LD_LIBRARY_PATH=vendor/DOtherSide/build/lib/
./bin/nim_status_client ./bin/nim_status_client
``` ```
## Development
If only making changes in QML `ui/` re-rerunning the app is enough
If making changes in the nim code `src/` then doing `make` again is needed (it's very fast after the first run)
## Cold Reload
### 5. "Cold" reload using VSCode ### 5. "Cold" reload using VSCode
We can setup a "cold" reload, whereby the app will be rebuilt and restarted when changes in the source are saved. This will not save state, as the app will be restarted, but it will save us some time from manually restarting the app. We can handily force an app rebuild/relaunch with the shortcut `Cmd+Shift+b` (execute the default build task, which we'll setup below). We can setup a "cold" reload, whereby the app will be rebuilt and restarted when changes in the source are saved. This will not save state, as the app will be restarted, but it will save us some time from manually restarting the app. We can handily force an app rebuild/relaunch with the shortcut `Cmd+Shift+b` (execute the default build task, which we'll setup below).