Remix.run Logo
sunrisepeak a day ago

Design Idea: Simple is better. Easy is better. (complexity shoude be gradual for devolper)

mcpp use `mcpp.toml + build.mcpp` model to describe a project (like cargo/zig)

- 90+% project -> mcpp.toml

- other complex project -> mcpp.toml + build.mcpp (C++ / Turing-complete)

so mcpp target is manage toolchain/package and easy to new / build / run / describe for project.

C++23/26 is simply, but run a helloworld(by `import std`) program is difficult. mcpp can do it. dont need to config any, dont need to know compiler what is. focus on program itself

```

mcpp new hello && cd hello && mcpp run

```

of course, it can also use `mcpp toolchain list` to choose gcc/llvm/msvc/mingw

Example: mcpp already support complex projects - opencv / grpc / ffmpeg

```

mcpp new mygrpc_demo --template grpc:greeter && cd mygrpc_demo && mcpp run

```

https://github.com/mcpplibs/grpc-m // use build.mcpp to codegen

(Test on Ubuntu 24 / default gcc 16 by mcpp auto-install)

However, it must be acknowledged that `mcpp` is an early-stage project, and you may encounter some issues (include library ecosystem) ,feel free reply or create issue or talk with me.