Skip to main content

Installation

Best way to get Swirl currently is to build it from source.

Prerequisites

To build Swirl from source, you need the following prerequisites:

  • Git
  • C++ compiler (e.g., g++ or clang++)
    • Make sure it supports C++23
  • CMake (version 3.20 or higher)
  • LLVM Development libraries (version 17 or higher)

Linux

Update packages:

sudo apt update && sudo apt upgrade -y

Install the required packages:

sudo apt install git cmake clang llvm-dev

MacOS

Install the required packages:

brew install git cmake llvm

After installing LLVM you need to add LLVM binaries and libraries to your PATH.

echo 'export PATH="/usr/local/opt/llvm/bin:$PATH"' >> ~/.zshrc && \
echo 'export LLVM_DIR="/usr/local/opt/llvm/lib/cmake/llvm"' >> ~/.zshrc
source ~/.zshrc

Windows

  • First download MSYS from msys2.org.

  • Open the CLANG64 shell.

  • Update packages:

    pacman -Syu
  • Install the required packages:

    pacman -S mingw-w64-clang-x86_64-cmake mingw-w64-clang-x86_64-toolchain
    • It will install cmake, clang, llvm dev libs, git, make etc.
  • Set up the environment variables: Add the following line to your path environment variable in windows settings

    C:\msys64\clang64\bin

    Here's a guide for that.

You're system should now be set up to build Swirl.

Building

Clone the repository and navigate into it:

git clone https://github.com/swirllang/swirl.git
cd swirl

Generate the build files:

cmake -B build -S .

Build the project:

cmake --build build --config Release

The Swirl binary will be located in the build directory.

Running

To run Swirl, you can use the following command:

./build/swirl

Dev setup

To get the best experience building Swirl, we recommend using Visual Studio Code with the following extensions: