-
Notifications
You must be signed in to change notification settings - Fork 2
Installation and Build Guide
This project is built using CMake and Vcpkg to ensure a fully self-contained development environment. It does not require manual installation of third-party libraries (like SFML or Asio) on your system, as the build system handles them automatically.
| Tool | Minimum Version | Description |
|---|---|---|
| C++ Compiler | GCC 10+ / Clang 12+ | Supporting C++20 standard |
| CMake | 3.20+ | Build system |
| Git | 2.0+ | Version control system |
| Vcpkg Requirements | — |
curl, zip, unzip, tar (for Vcpkg bootstrap) |
| Tool | Minimum Version | Description |
|---|---|---|
| Visual Studio | 2019+ (MSVC 19.28+) | With C++ Desktop Development workload |
| CMake | 3.20+ | Build system (included with VS) |
| Git | 2.0+ | Version control system |
Note
You do not need to install SFML, Asio, Catch2, or any other dependency system-wide. All dependencies are managed automatically via vcpkg.
We provide a helper script to configure and build the project in a single command.
git clone git@github.com:EpitechPGE3-2025/G-CPP-500-PAR-5-2-rtype-3.git
cd G-CPP-500-PAR-5-2-rtype-3
If you haven't cloned Vcpkg yet, get it and bootstrap it at the root of the project:
git clone [https://github.com/microsoft/vcpkg.git](https://github.com/microsoft/vcpkg.git)
./vcpkg/bootstrap-vcpkg.sh -disableMetrics
Make the build script executable and run it:
chmod +x build.sh
./build.sh
Note: The first compilation might take a few minutes as Vcpkg needs to download and compile the dependencies from source. Subsequent builds will be incremental and fast.
If you prefer running CMake commands manually or want to configure specific flags:
# 1. Configure the project
# (We explicitly point to the Vcpkg toolchain file)
cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=./vcpkg/scripts/buildsystems/vcpkg.cmake
# 2. Compile
cmake --build build --parallel
After a successful build, the binaries are generated in the bin/linux/ directory:
The server manages the game state and synchronization. Run it first.
./bin/linux/r-type_server [port]
(Default port is 4242)
Launch the client to connect to the server.
./bin/linux/r-type_client [ip] [port]
To remove all build artifacts and start fresh:
./clean.sh
# or manually:
rm -rf build/ bin/
Epitech Paris
- Raphaël Chanliongco
- Hubert Touraine
- Jean-Baptiste Boshra
- Gabin Rudigoz
- Ylan Cuvier
- Swann Grandin