Commit Graph

34 Commits

Author SHA1 Message Date
Jonathan Rainville 58533c72fc force rebuild 2024-06-06 15:47:43 -04:00
Jonathan Rainville 821b54fda6 chore: update the readme to have useful links 2024-04-30 17:56:46 +02:00
Iuri Matias 67929c8e03
Update README.md 2023-06-28 09:34:30 -04:00
Stefan 1e8c851283 chore(CPP): Basic project configuration setup using Qt6
Considerations

- Use versioned files. Versioned Qt CMake APIs are disabled to force explicit calls and say that we don't support older `QT`s
- Don't use blobbing. Use `target_sources` and `qt_target_qml_sources`
- Distribute `CMake` definitions closer to the context: main folders with their own `CMakeLists.txt`
- Everything in libraries under `Status` namespace for cleaner code.
- Includes are exposed with Module folder externally and without prefix internally
- File/Folders name matches definitions they contain for uniformity that leads to cleaner code
- All source files (cpp, qml, js ...) have to be added to one of the CMakeLists.txt files to be tracked by CMake build system.
- Use BUILD_DEBUG, BUILD_RELEASE and BUILD_DEVELOPMENT variables from Helpers library
- Avoid Include directories. Not needed anymore CMake `target_*` APIs handles this through `INTERFACE`, `PUBLIC` and `PRIVATE` scope identifiers
- `StatusQ` is meant to be compiled as an external library, therefore StatusQ tests are kept inside its own directory
- Forced CMake version to `3.21` for the latest features and fixes. It is desired to be kept as recent as possible due to its backward compatibility. Following Qt's shipped version might be an option
- Depends on status-go changes to allow forcing of arm for apple silicon

Found limitations to CMake Qt API with Qt 6.3

- Having `0` as major version when using `qt_add_qml_module` doesn't work. Qml engine reports loading the `qmldir` but won't load the plugin library and no error is reported outside that exposed types are not found.
- `qt_target_qml_sources` doesn't work now, it generate a double copy error when deploying qml files in bin-directory. For now we stick with adding files using `qt_add_qml_module` central place
  - Need to add `OUTPUT_DIRECTORY` to `qt_add_qml_module` to use the workaround
- If `MACOSX_BUNDLE` target property is set breaks importing of QML files. Disabled until fixed or workaround found
- For an unknown reason application executable tries to include the `QML_ELEMENT` include files, therefore for now I include all the C++ qml elements in INTERFACE
2022-06-30 12:16:33 +02:00
Boris Melnik 26477afb3b chore(cpp-app): Add instructions to build app for MacOS 2022-02-24 11:19:45 -05:00
Richard Ramos bf6dbe4815 fix: docs and remove redundant -binary option for rcc 2022-02-01 15:48:54 -04:00
Patryk Osmaczko e98428dd40 feat(@desktop/cpp): add conanfile, fruit, gtest
Closes: #4428
Closes: #4429
2022-02-01 15:48:54 -04:00
Richard Ramos 4183069a9f feat: base_cpp 2022-02-01 15:48:54 -04:00
Iuri Matias a9afe5dada
Update README.md 2021-06-24 15:08:47 -04:00
Iuri Matias 8cce490407 remove docs folder from repo (moved to https://hackmd.io/@status-desktop/B1eOaf-nd) 2021-06-24 15:07:30 -04:00
Iuri Matias 52bba86ff2 move building section to docs section; use readme from docs/readme
move building section to docs section; use readme from docs/readme

use symlink

fix urls
2020-06-22 10:34:07 -04:00
Iuri Matias eb9c948bb0 Update README.md to include QTDIR 2020-06-12 08:08:29 -04:00
zah 735ad1ffac Describe a missing dependency in the README 2020-06-11 09:59:07 -04:00
Ștefan Talpalaru 4fe6d9b767 build system refactoring
- unify the "build-..." targets
- enable a debug build by default, to simplify development
- bump vendor/DOtherSide
- avoid DOtherSide checks for docs/tests-specific tools like Doxygen
- switch to an in-place build for DOtherSide
- silence the DOtherSide build when V=0, make it more verbose with V=1
- don't delete checked out submodules in the "clean" target
- update build instructions in the README
- centralise Nim compiler options in a top-level "config.nims" (except
  `-d:debug` which needs to be on the command line)
2020-06-08 13:07:25 -04:00
Iuri Matias 1a160cf664 Revert "build system refactoring"
This reverts commit 2449a12fb7.
2020-06-04 17:22:39 -04:00
Ștefan Talpalaru 2449a12fb7 build system refactoring
- unify the "build-..." targets
- enable a debug build by default, to simplify development
- bump vendor/DOtherSide
- avoid DOtherSide checks for docs/tests-specific tools like Doxygen
- switch to an in-place build for DOtherSide
- silence the DOtherSide build when V=0, make it more verbose with V=1
- don't delete checked out submodules in the "clean" target
- update build instructions in the README
- centralise Nim compiler options in a top-level "config.nims" (except
  `-d:debug` which needs to be on the command line)
2020-06-04 14:16:14 -05:00
Pascal Precht d66606430b
Add minor trouble shooting instructions
Ran into an issue today while following the installation instructions.
2020-05-19 11:15:12 +02:00
Zahary Karadjov 390322dc6a Clarify the required use of globals 2020-05-18 16:25:57 -04:00
Iuri Matias 9e5f2456cf update readme 2020-05-15 18:51:14 -04:00
Richard Ramos ce41388a51 AppImg packaging 2020-05-15 17:18:20 -04:00
Richard Ramos c1d1b60f46 Adding nimbus-build-system 2020-05-15 17:18:20 -04:00
Jonathan Rainville 63ce87d5e9 fix: fix missing images 2020-05-14 12:24:15 -04:00
Pascal Precht 81a6ed524c chore: fix installation instructions 2020-05-14 07:36:39 -04:00
emizzle 4769f578a6 feat: Onboarding carousel
Onboarding carousel completed

Redo folder restructuring

NOTES:
1. nim_status_client binary is output to `./bin/nim_status_client`, so you'll need to update your workflow to run this file. README has been updated to reflect this. Also, if you're running VSCode, instructions for code reload were added.
2. All `ui` files now live in `ui/`
3. All lib files (ie `libstatus`) now live in `lib/`
4. Removed the Qt Creater user project file as this is unique to each user
5. Moved the project file to `ui/`, so just open up the `ui` folder in Qt creator and it should locate the project file
6. `-d:release` removed from compilation as it wasn't needed
7. Broke up main.qml in to the main app and onboarding components, however this should be broken down further into more reusable components
8. Click "Get started" to show chat

Format some files using nimpretty
2020-05-12 18:52:51 -04:00
Iuri Matias 062060eb32
removing screenshot (no longer representative) 2020-05-11 16:46:00 -04:00
Jonathan Rainville a4b69c4e5e fix: fix README for Linux 2020-05-08 10:51:32 -04:00
emizzle f3c2331fc6
chore: README update for macos
- Update README for macos
- Add `nimble install` step to README
- Update makefile for macos build to use `.dylib`
2020-05-07 22:17:25 +10:00
Iuri Matias e7a01026da update readme 2020-05-06 17:43:35 -04:00
Richard Ramos d95943b147
Merge branch 'master' of https://github.com/status-im/nim-status-client 2020-05-06 17:27:16 -04:00
Richard Ramos 9a93298508
feat: makefile 2020-05-06 17:26:32 -04:00
RichΛrd a43087210b
Update README.md 2020-05-06 13:58:52 -04:00
Richard Ramos f628630ea5
fix - project name 2020-05-06 13:51:37 -04:00
Richard Ramos 54454ebbc2
Initial commit 2020-05-06 13:40:00 -04:00
Iuri Matias 994fe1ca28
Initial commit 2020-05-04 14:57:28 -04:00