Im loosing my fucking mind

:^)
This commit is contained in:
2024-07-12 18:01:54 +02:00
parent 796c34e9a0
commit 432bb3614f
4 changed files with 75 additions and 48 deletions
+2
View File
@@ -1 +1,3 @@
/cmake-build-debug/
/vcpkg_installed/
/build/
+29 -15
View File
@@ -1,38 +1,52 @@
# Use an official Ubuntu as a parent image
FROM ubuntu:20.04
# Prevent interactive prompts
ENV DEBIAN_FRONTEND=noninteractive
# Install dependencies
RUN apt-get update && apt-get install -y \
build-essential \
cmake \
git \
curl \
zip \
unzip \
tar \
pkg-config \
libx11-dev \
libxrandr-dev \
libxinerama-dev \
libxcursor-dev \
libxi-dev \
libgl1-mesa-dev \
libglu1-mesa-dev \
&& rm -rf /var/lib/apt/lists/*
software-properties-common \
tzdata
# Set timezone to UTC
RUN ln -fs /usr/share/zoneinfo/Etc/UTC /etc/localtime && \
dpkg-reconfigure --frontend noninteractive tzdata
# Install CMake
RUN apt-get update \
&& apt-get install -y wget \
&& wget https://github.com/Kitware/CMake/releases/download/v3.28.0/cmake-3.28.0-linux-x86_64.sh \
&& sh cmake-3.28.0-linux-x86_64.sh --prefix=/usr/local --skip-license \
&& rm cmake-3.28.0-linux-x86_64.sh
# Install vcpkg
RUN git clone https://github.com/Microsoft/vcpkg.git /vcpkg \
&& /vcpkg/bootstrap-vcpkg.sh \
&& /vcpkg/vcpkg integrate install
&& cd /vcpkg \
&& git pull \
&& ./bootstrap-vcpkg.sh \
&& ./vcpkg integrate install
# Set environment variables for vcpkg
ENV VCPKG_ROOT=/vcpkg
ENV VCPKG_DEFAULT_TRIPLET=x64-linux
# Set the working directory
WORKDIR /app
# Copy the project files
# Copy the current directory contents into the container at /app
COPY . .
# Install dependencies using vcpkg
RUN /vcpkg/vcpkg install $(cat vcpkg.json | jq -r '.dependencies[]')
# Install project dependencies using vcpkg
RUN /vcpkg/vcpkg update \
&& /vcpkg/vcpkg install $(cat vcpkg.json | jq -r '.dependencies[]')
# Build the project
RUN mkdir build \
@@ -40,5 +54,5 @@ RUN mkdir build \
&& cmake .. -DCMAKE_TOOLCHAIN_FILE=/vcpkg/scripts/buildsystems/vcpkg.cmake \
&& cmake --build .
# Set the entrypoint
# Specify the command to run the executable
CMD ["./build/gravity"]
+40 -29
View File
@@ -68,9 +68,9 @@ The program uses OpenGL to render the 3D scene:
# How to Use & Installation
### Prerequisites
## Prerequisites
- C++ compiler with C++17 support
- CMake (version 3.10 or higher)
- CMake (version 3.28 or higher)
- OpenGL libraries
- GLFW3
- GLM (OpenGL Mathematics)
@@ -78,34 +78,37 @@ The program uses OpenGL to render the 3D scene:
### Building from Source
1. Clone the repository:
```bash
git clone https://github.com/Quinta0/gravity.git
cd gravity
```
2. Install vcpkg and dependencies:
```bash
git clone https://github.com/Microsoft/vcpkg.git
./vcpkg/bootstrap-vcpkg.sh # On Windows, use bootstrap-vcpkg.bat
./vcpkg/vcpkg install
```
3. Create a build directory and navigate to it:
```bash
mkdir build
cd build
```
4. Generate the build files with CMake:
```bash
cmake .. -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake
```
5. Build the project:
```bash
cmake --build .
```
6. Run the simulator:
```bash
./gravity
```
```bash
git clone https://github.com/Quinta0/gravity.git
cd gravity
```
2. Install vcpkg:
```bash
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh # On Windows, use bootstrap-vcpkg.bat
./vcpkg integrate install
cd ..
```
3. Install dependencies using vcpkg:
```bash
./vcpkg/vcpkg install freeglut glew glm vcpkg-cmake opengl glfw3
```
4. Create a build directory and run CMake:
```bash
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake ..
cmake --build .
```
5. Run the simulator:
```bash
./gravity
```
### Using Docker
If you prefer to use Docker, follow these steps:
@@ -113,3 +116,11 @@ If you prefer to use Docker, follow these steps:
1. Ensure Docker is installed on your system.
2. Build the Docker image:
```bash
docker build -t gravity-simulator .
```
3. Run the Docker container:
```bash
docker run --rm gravity-simulator
```
+2 -2
View File
@@ -2,9 +2,9 @@
"dependencies": [
"freeglut",
"glew",
"glfw3",
"glm",
"vcpkg-cmake",
"opengl",
"glfw3"
"vcpkg-cmake"
]
}