16b866ccbd
Important changes: - Converted the easy to mix strings to named types as phantom types - Renamed `AccountDto`s to `MultiAccount` to better match the status-go domain knowledge. - Renamed MultiAccount to ChatOrWalletAccount to better match its multi purpose and don't confuse with the MultiAccount domain knowledge. - Remove libs/CMakeLists.txt Note: Tried to use the fluent::NamedType but it doesn't work with nlohmann_json, gave up finding why. Therefore I extracted only the needed functionality for the simple types we use. Updates: #6321 |
||
---|---|---|
.. | ||
qml | ||
res | ||
src | ||
CMakeLists.txt | ||
README.md |
README.md
CPP App
Setup dependencies
1. conancenter
Execute conan remote list
. It should return this line among the results:
conancenter: https://center.conan.io [Verify SSL: True]
If it doesn't, consider upgrading conan with pip install conan --upgrade
and then executing. conan remote add -i 0 conancenter https://center.conan.io
. See conan's documentation for more info.
2. conan libstdc++11
This applies to linux: the default conan profile does not work, since GCC uses the new C++ ABI since version 5.1 and conan, for compatibility purposes uses the old C++ ABI. Execute this to update the profile:
conan profile update settings.compiler.libcxx=libstdc++11 default
2. Install dependencies
Platform specific conan profile
- Macos:
- Intel:
conan install . --profile=vendor/conan-configs/apple-arm64.ini -s build_type=Release --build=missing -if=build/conan
- Apple silicon:
conan install . --profile=vendor/conan-configs/apple-x86_64.ini -s build_type=Release --build=missing -if=build/conan
- Intel:
- Windows: TODO
- Linux:
conan install . --profile=./vendor/conan-configs/linux.ini -s build_type=Release --build=missing -if=build/conan
Buid, test & run
Update CMake
to the Latest Release
Build with conan
# linux
CMAKE_PREFIX_PATH="$HOME/Qt/6.4.0/gcc_64" conan build . -if=build/conan -bf=build
# MacOS: CMAKE_PREFIX_PATH="$HOME/Qt/6.4.0/macos" conan build . -if=build/conan -bf=build
# Windows: CMAKE_PREFIX_PATH="$HOME/Qt/6.4.0/mingw_64" conan build . -if=build/conan -bf=build
ctest -VV -C Release
./status-desktop
Build with cmake
# linux
cmake -B build -S . -DCMAKE_PREFIX_PATH="$HOME/Qt/6.4.0/gcc_64" -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=build/conan/conan_toolchain.cmake
# MacOS: cmake -B build -S . -DCMAKE_PREFIX_PATH="$HOME/Qt/6.4.0/macos" -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=build/conan/conan_toolchain.cmake
# Windows: cmake -B build -S . -DCMAKE_PREFIX_PATH="$HOME/Qt/6.4.0/mingw_64" -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=build/conan/conan_toolchain.cmake
cmake --build build --config Release