Hacker News new | ask | show | jobs
by rewrking 1477 days ago
https://github.com/chalet-org/chalet - primary repository

https://github.com/chalet-org - github org w/ example projects

This is a project of mine that has been in the works for a little over a year and a half. The main goal of Chalet is ultimately to streamline C/C++ tooling as much as possible. In practice it's a command-line application for its own project format, much like msbuild or xcodebuild, that can take C/C++ code from various sources and build them using the same compiler toolchain. It can also run your executable applications after the build and handle paths for you. Chalet can also fetch git repositories by branch, tag or commit. It also supports cross-compiling without reconfiguring, and just requires a couple different options at the command-line.

This is the first release, and right now it works with all major compilers. The downside is that there isn't much in the way of IDE integration yet aside from a VS Code extension. This will hopefully change in the future as the application matures and interest grows. VS Code, text editors, and anything that execute command line applications are perfectly suitable otherwise.

The rest of the features and details are explained on the website, but it's worth noting that building C++20 modules with MSVC is also supported.

The docs might be spotty in places, so any feedback is appreciated. I hope this is something others are interested in, and can try out with some of their projects.

2 comments

Which cross toolchains are supported?
Basically all the major ones. This is the current list:

From Windows:

- MSVC: x64, x86, arm64, arm

- LLVM/Clang: (same as MSVC)

- MinGW: x86_64, i686, any version of GCC & Clang from MSYS2

- Intel LLVM (mostly experimental)

- No WSL support yet, although I'm not sure what does and doesn't work with it yet.

From MacOS:

- Apple Clang: arm64, x86_64, universal binaries

- GCC from Homebrew: x86_64

- LLVM from Homebrew: x86_64

- Intel Compiler Classic for x86_64

From Linux:

- GCC & Clang: x86_64, i686, arm-none-linux, arm-linux-gnueabihf, x86_64-w64-mingw32, i686-w64-mingw32

There may be others that work on Linux, although I haven't tested them. As for compiler versions:

VS 2017+ LLVM 12+ (earlier ones might work) GCC/MinGW 7.3+, MinGW 4.8.1

Looks amazing!