Compare commits

..
2 Commits
Author SHA1 Message Date
firewire c33b7e844d Update readme 2026-09-15 18:52:35 -04:00
firewire 73b6ff4132 Update build scripts 2026-09-15 18:49:01 -04:00
12 changed files with 37 additions and 97 deletions
+1 -1
View File
@@ -1,2 +1,2 @@
build/ build/
.idea
+36 -15
View File
@@ -4,25 +4,46 @@ Basic rainbow triangle rendered with Vulkan.
Created as a reference project while following the [official tutorial located here](https://docs.vulkan.org/tutorial/latest/00_Introduction.html) Created as a reference project while following the [official tutorial located here](https://docs.vulkan.org/tutorial/latest/00_Introduction.html)
## Compiling ## Building
Scripts for Linux are located in ./scripts/. A windows and linux build_script binary compiled from [this](https://git.catgirls.fish/firewire/build-script) project has been included.
You can just run that from the root of the repo with `./scripts/build_script build` (or `.\scripts\build_script.exe build` for windows) to build all release types.
Make sure you have a CPP compiler, CMake, and ninja installed. Most dependencies are included through the use of CPM, however you will need to install the VulkanSDK, which can be acquired from the [official site](https://vulkan.lunarg.com/sdk/home)
- `configure-{type].sh` - Creates and configures the associated build type in ./build/{type}. On linux systems you'll likely need dependencies for GLFW.
- `build-{type}.sh` - Builds the associated build type in ./build/{type}. GLFW itself is included with this project, however its a lot simpler to just install glfw through your package manager and have it handle them.
- `build.sh` - Configures and builds all types in ./build/
- `clean.sh` - Runs `ninja clean` on all build types
If you are on linux and don't wish you build using the scripts you can go through Ubuntu: `apt update && apt install libglfw3-dev`
the following steps:
1. `mkdir -p build; cd build`; Fedora: `dnf install glfw-devel`
2. `cmake ../`;
3. `make -j 8`
Windows users, you're on your own. (sorry) Arch: `pacman -S glfw`
## Running ### Building manually
Compiled exe is `triangle` on linux or `triangle.exe` on windows.
#### Linux
The normal cmake build process is all you need.
1. Make the build directory `mkdir -p build`
2. Configure the project `cmake . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release`
3. Build! `cmake --build build`
#### Windows
1. Git clone the repo
2. Run [cmake-gui](https://cmake.org/download/)
3. Select the location you cloned the repo into as the source directory
4. Create a new directory called 'build' in the source directory and select it
as the build directory
5. Configure and generate
6. Open the generated Visual studio project
7. Right click the project in the project explorer and select 'build'
## A note for MacOS users
I do not have a MacOS system to build or test on, so building is solely up to you.
All code has been kept as cross-platform as possible so it _should_ just work,
but if you run into any issues, feel free to submit a pull request with an updated
codebase or readme with compilation instructions.
-7
View File
@@ -1,7 +0,0 @@
#!/bin/bash
cd ..
mkdir -p build
cd build || exit
mkdir -p debug
cd debug || exit
ninja
-8
View File
@@ -1,8 +0,0 @@
#!/bin/bash
cd ..
mkdir -p build
cd build || exit
mkdir -p release
cd release || exit
ninja
-8
View File
@@ -1,8 +0,0 @@
#!/bin/bash
cd ..
mkdir -p build
cd build || exit
mkdir -p relwithdeb
cd relwithdeb || exit
ninja
-21
View File
@@ -1,21 +0,0 @@
#!/bin/bash
cd ../
mkdir -p build
cd build || exit
mkdir -p debug
cd debug || exit
cmake ../../ -G Ninja -DCMAKE_BUILD_TYPE=Debug
ninja
cd ..
mkdir -p release
cd release || exit
cmake ../../ -G Ninja -DCMAKE_BUILD_TYPE=Release
ninja
cd ..
mkdir -p relwithdeb
cd relwithdeb || exit
cmake ../../ -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo
ninja
BIN
View File
Binary file not shown.
Binary file not shown.
-13
View File
@@ -1,13 +0,0 @@
#!/bin/bash
cd ..
cd build/debug || exit
ninja clean
cd ..
cd release || exit
ninja clean
cd ..
cd relwithdeb || exit
ninja clean
-8
View File
@@ -1,8 +0,0 @@
#!/bin/bash
cd ..
mkdir -p build
cd build || exit
mkdir -p debug
cd debug || exit
cmake ../../ -G Ninja -DCMAKE_BUILD_TYPE=Debug
-8
View File
@@ -1,8 +0,0 @@
#!/bin/bash
cd ..
mkdir -p build
cd build || exit
mkdir -p release
cd release || exit
cmake ../../ -G Ninja -DCMAKE_BUILD_TYPE=Release
-8
View File
@@ -1,8 +0,0 @@
#!/bin/bash
cd ..
mkdir -p build
cd build || exit
mkdir -p relwithdeb
cd relwithdeb || exit
cmake ../../ -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo