mirror of
https://github.com/status-im/status-desktop.git
synced 2025-02-08 12:46:08 +00:00
Linux dockerized build and AppDir generation for compilation errors Also added AppImage TODOs, basic setup for MacOS and Windows but they still need work to have at least validation running Temporary disable CPP windows/mac until limitations are addressed in a follow up commit Extra: add build configuration fixes for rest of the platforms closes: #5998
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 . -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