Epitech B2 - C Graphical Programming (B-MUL-200), REN-2-1, promotion 2028
Note To ensure a consistent development environment and to simplify dependency management, we strongly recommend using Nix. The project is configured to work seamlessly with Nix, providing reproducible builds and a standardized development environment.
If you haven't already, consider installing Nix by following the instructions on nix installation page.
You can use the standard nix flakes commands to clone, build & run this
project.
nix run github:Sigmapitech/myrpg
See other possible actions
Clone the flake
nix flake close github:Sigmapitech/myrpgBuilding the project
nix build github:Sigmapitech/myrpg
nix build github:Sigmapitech/myrpg#debug
nix build .#myrpg
nix build .#debugBuild the CSFML in debug mode
nix build .#csfml-debugRunning directly
nix run github:Sigmapitech/myrpg
nix run github:Sigmapitech/myrpg#debug
nix run .
nix run .#debugLookup flake informations
nix flake show .
nix flake show github:Sigmapitech/myrpg
nix flake metadata .
nix flake metadata github:Sigmapitech/myrpgFormat the flake
nix fmt0. Install the required dependencies
Make sure to have the following dependencies available within your environment:
- The
Coreutilscommand set, which are expected to exist on every operating system. CSFML, version >= 2.5.2, with the library headers.- a recent version of
Gnu make~4.x.x GCC, preferably, version13.x.xalong theGNU C Library.- The
GNU ararchive program, provided bybinutils. - Optionally,
tputcommand to support colors within the Makefile.
If you want to use the epitest container provided by Epitech, you can use the following command:
docker run -it --rm -v $(pwd):/home/project -w /home/project epitechcontent/epitest-docker:latest /bin/bashI. Clone the repository
git clone https://github.com/Sigmapitech/MyRPG.git my_rpg
cd my_rpgII. Compile the desired program
Note: you can
touch .fastto use parralel building.
make
make debug
To see available targets, you can use a program such as fzf-make.
if you are using Nix, you can access a devShell that you can develop
with the project dependencies to build and develop.
nix develop
nix develop github:Sigmapitech/myrpgYou may load the devShell automatically using direnv shell integration.
echo "use flake" | tee .envrc
direnv allow
Here is a list of programs you might use during your development session.
Valgrindfor instrumentation and dynamic analysisKachegrind, a front-end forCallgrindprofile report.ltraceto log external function call at runtime.