Skip to content

Installation and Build Guide

Raphaël Chanliongco edited this page Jan 17, 2026 · 3 revisions

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.

Prerequisites

Linux

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)

Windows

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.

Quick Start (Linux)

We provide a helper script to configure and build the project in a single command.

1. Clone the repository

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

2. Setup Vcpkg

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

3. Build the project

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.

Manual Compilation

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

Running the Game

After a successful build, the binaries are generated in the bin/linux/ directory:

1. Start the Server

The server manages the game state and synchronization. Run it first.

./bin/linux/r-type_server [port]

(Default port is 4242)

2. Start the Client

Launch the client to connect to the server.

./bin/linux/r-type_client [ip] [port]

Cleaning the project

To remove all build artifacts and start fresh:

./clean.sh
# or manually:
rm -rf build/ bin/

Authors

Epitech Paris

  • Raphaël Chanliongco
  • Hubert Touraine
  • Jean-Baptiste Boshra
  • Gabin Rudigoz
  • Ylan Cuvier
  • Swann Grandin