chalet icon indicating copy to clipboard operation
chalet copied to clipboard

A cross-platform JSON-based project & build tool

Chalet logo

A cross-platform project format & build tool for C/C++ focused on usability and interoperability.


Github Releases License Discussions Examples


Introduction

Visit https://www.chalet-work.space to learn more about Chalet.

Visit https://www.chalet-work.space/docs for the full documentation.

Explore some of the example repositories at: https://github.com/orgs/chalet-org/repositories

Download

Grab the latest version from https://www.chalet-work.space/download or the Releases section of this repository.

The actual release builds are still being fine-tuned, especially on Linux, so there may still be issues on various Linux distros.

Build from Source

A C++17 compiler is required to build Chalet from source. Chalet is developed on various compiler versions, but the following versions are currently used during development:

MSVC >= 19.30
Apple Clang >= 13.x
GCC / MinGW >= 11.x

C++17 is targeted instead of C++20 for now to ensure a wide gamut of supported operating systems.


Windows

Install:

Visual Studio

  1. Run ./fetch_externals.sh from Git Bash. This will get Chalet dependencies
  2. Make sure CMake is accessible from Path (add to System Environment Variables)
  3. Start "x64 Native Tools Command Prompt for VS 20XX"
  4. Run .\build_all.bat from the project root

MSYS2 with MinGW

  1. Get MSYS2
  2. Install the current stable GCC toolchain via:
pacman -S mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake mingw-w64-x86_64-ninja
  1. Install cmake via pacman, otherwise install it from the link above and make sure it's accessible from Path (add to System Environment Variables)
  2. Run bash ./build_all.sh from the project root

MacOS

Install:

  1. Install Xcode or Command Line Tools
  2. Install CMake if it's not already
  3. Run bash ./build_all.sh from the project root

Linux

Install:

A GCC version that supports C++17 is required. (>= 7.3)

  1. Install git and cmake from your package manager
  2. Run bash ./build_all.sh from the project root