## How to build on Windows, please follow these simple steps. ## Step 1: Get source code ------------------------------ ```shell git clone https://github.com/AppFlowy-IO/appflowy.git ``` ## Step 2: Build app_flowy (Flutter GUI application) ------------------------------ Note: * Both Windows cmd and powershell can be used for running commands * Following steps are verified on - [x] Windows 10 X86_64 - [ ] Windows 10 arm64 - [ ] Windows 11 X86_64 - [ ] Windows 11 arm64 ### Detail steps 1. Install Visual Studio 2022 build tools. Download from https://visualstudio.microsoft.com/downloads/ - In section of "All Downloads" => "Tools for Visual Studio 2022" => Build Tools for Visual Studio 2022, hit Download button to get it. - Launch "vs_BuildTools.exe" to install 2. Install vcpkg according to https://github.com/microsoft/vcpkg#quick-start-windows. Make sure to add vcpkg installation folder to PATH env var. 3. Install flutter according to https://docs.flutter.dev/get-started/install/windows ```shell flutter channel stable flutter doctor ``` 4. Install rust ```shell # Download rustup.exe from https://win.rustup.rs/x86_64 # Call rustup.exe from powershell or cmd .\rustup-init.exe --default-toolchain nightly --default-host x86_64-pc-windows-msvc -y # Note: you probably need to re-open termial to get cargo command be available in PATH var ``` 5. Install cargo make ```shell cd appflowy/frontend cargo install --force cargo-make ``` 6. Install duckscript ```shell cargo install --force duckscript_cli ``` 7. Check prerequisites ```shell cargo make flowy_dev ``` 8. [Optional] Generate protobuf for dart (optional, if you modify the shared-lib's entities) ```shell # Need to download protoc tools and add it's bin folder into PATH env var. # Download protoc from https://github.com/protocolbuffers/protobuf/releases. The latest one is protoc-3.19.1-win64.zip cargo make -p development-windows pb ``` 9. [Optional] Build flowy-sdk (dart-ffi), step 10 covers this step ```shell # for development cargo make --profile development-windows-x86 flowy-sdk-dev # for production cargo make --profile production-windows-x86 flowy-sdk-release ``` 10. Build app_flowy ```shell # for development cargo make -p development-windows-x86 appflowy-windows-dev # for production cargo make -p production-windows-x86 appflowy-windows ``` ## [Optional] Step 3: Build Server side application (optional if you don't need to host web service locally) ------------------------------ Note: You can launch postgresql server by using docker container TBD