From 2cc1f1db18613d4772658929ee4f2ae3fa3eaec3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maksymilian=20Wilczy=C5=84ski?= Date: Thu, 20 Jun 2024 17:24:28 +0200 Subject: [PATCH] modify build script, fix actions --- .github/workflows/build.yml | 51 ++++++++++++++++++--------------- LICENSE => LICENSE.md | 0 Makefile | 37 ++++++------------------ build.cmd | 1 - build.sh | 2 -- build_and_run.cmd | 1 + build_and_run.sh | 2 ++ build_norun.cmd | 1 - build_norun.sh | 2 -- build_only.cmd | 1 + build_only.sh | 2 ++ makefile_norun => buildonly.lnx | 0 buildonly.win | 26 +++++++++++++++++ buildrun.lnx | 29 +++++++++++++++++++ buildrun.win | 29 +++++++++++++++++++ 15 files changed, 126 insertions(+), 58 deletions(-) rename LICENSE => LICENSE.md (100%) delete mode 100644 build.cmd delete mode 100644 build.sh create mode 100644 build_and_run.cmd create mode 100644 build_and_run.sh delete mode 100644 build_norun.cmd delete mode 100644 build_norun.sh create mode 100644 build_only.cmd create mode 100644 build_only.sh rename makefile_norun => buildonly.lnx (100%) create mode 100644 buildonly.win create mode 100644 buildrun.lnx create mode 100644 buildrun.win diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ac7351a..797e91e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -5,26 +5,27 @@ on: branches: [ "main" ] pull_request: branches: [ "main" ] + workflow_dispatch: jobs: - build-linux: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: perms fix - run: chmod +x build_norun.sh - - name: make - run: ./build_norun.sh - - uses: actions/upload-artifact@v4.3.3 - with: - name: vega-linux - path: bin - - name: Upload to Release Action - uses: Shopify/upload-to-release@v2.0.0 - with: - name: vega-linux - path: bin - repo-token: ${{ secrets.GITHUB_TOKEN }} + #build-linux: + #runs-on: ubuntu-latest + #steps: + #- uses: actions/checkout@v4 + #- name: perms fix + # run: chmod +x build_norun.sh + #- name: make + # run: ./build_norun.sh + #- uses: actions/upload-artifact@v4.3.3 + # with: + # name: vega-linux + # path: bin + #- name: Upload to Release Action + # uses: Shopify/upload-to-release@v2.0.0 + # with: + # name: vega-linux + # path: bin + # repo-token: ${{ secrets.GITHUB_TOKEN }} build-windows: runs-on: windows-latest steps: @@ -44,8 +45,12 @@ jobs: - name: Upload to Release Action uses: softprops/action-gh-release@v2 with: - body: automatic release by github actions - prerelease: true - files: ${{ github.workspace }}/vega-windows.zip - name: autobuild - tag_name: autobuild + body: automatic release by github actions + prerelease: true + files: ${{ github.workspace }}/vega-windows.zip + name: autobuild + tag_name: autobuild + - name: notify discord + uses: tsickert/discord-webhook@v5.3.0 + with: + webhook-url: ${{ DISCORD_WEBHOOK }} \ No newline at end of file diff --git a/LICENSE b/LICENSE.md similarity index 100% rename from LICENSE rename to LICENSE.md diff --git a/Makefile b/Makefile index c30934d..8a8feb3 100644 --- a/Makefile +++ b/Makefile @@ -1,29 +1,8 @@ -cc = g++ -binaryDir := ./bin -objectDir := ./bin/obj -sourceDir := ./src -includeDirs := ./include ./include/imgui -libDirs := ./lib -executable := $(binaryDir)/main.exe -vendors := $(patsubst $(sourceDir)/vendor/%,%,$(wildcard $(sourceDir)/vendor/*)) -sources := $(wildcard $(sourceDir)/*.cpp) $(foreach vendor,$(vendors),$(wildcard $(sourceDir)/vendor/$(vendor)/*.cpp)) -objects := $(patsubst $(sourceDir)/%.cpp,$(objectDir)/%.o,$(sources)) $(foreach vendor,$(vendors),$(wildcard $(objectDir)/vendor/$(vendor)/*.o)) -flags = -lopengl32 -lglfw3 -lgdi32 -static -static-libgcc -static-libstdc++ -warnings := all - -default: $(executable) run - -$(executable): $(objects) | $(binaryDir) - $(cc) $(foreach warn,$(warnings),-W$(warn)) $^ -o $@ $(foreach dir,$(includeDirs),-I$(dir)) $(foreach dir,$(libDirs),-L$(dir)) $(flags) - -$(objectDir)/%.o: $(sourceDir)/%.cpp | $(objectDir) - $(cc) $(foreach warn,$(warnings),-W$(warn)) $< -c -o $@ $(foreach dir,$(includeDirs),-I$(dir)) - -$(objectDir): - mkdir bin && cd bin && mkdir obj && cd obj && mkdir vendor && cd vendor && $(foreach dir,$(vendors),mkdir $(dir) &&) cd ../../.. - -clean: - rmdir /s /q bin - -run: $(executable) - $< \ No newline at end of file +win_buildonly: + make -f buildonly.win +win_buildrun: + make -f buildrun.win +lnx_buildonly: + make -f buildonly.lnx +lnx_buildrun: + make -f buildrun.lnx \ No newline at end of file diff --git a/build.cmd b/build.cmd deleted file mode 100644 index 0a7aa43..0000000 --- a/build.cmd +++ /dev/null @@ -1 +0,0 @@ -make -f makefile \ No newline at end of file diff --git a/build.sh b/build.sh deleted file mode 100644 index b7b80f9..0000000 --- a/build.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -make -f makefile \ No newline at end of file diff --git a/build_and_run.cmd b/build_and_run.cmd new file mode 100644 index 0000000..9f0b45e --- /dev/null +++ b/build_and_run.cmd @@ -0,0 +1 @@ +make win_buildrun \ No newline at end of file diff --git a/build_and_run.sh b/build_and_run.sh new file mode 100644 index 0000000..bf9536e --- /dev/null +++ b/build_and_run.sh @@ -0,0 +1,2 @@ +#!/bin/bash +make lnx_buildrun \ No newline at end of file diff --git a/build_norun.cmd b/build_norun.cmd deleted file mode 100644 index 697dce7..0000000 --- a/build_norun.cmd +++ /dev/null @@ -1 +0,0 @@ -make -f makefile_norun \ No newline at end of file diff --git a/build_norun.sh b/build_norun.sh deleted file mode 100644 index 9df4a5d..0000000 --- a/build_norun.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -make -f makefile_norun \ No newline at end of file diff --git a/build_only.cmd b/build_only.cmd new file mode 100644 index 0000000..6e92e47 --- /dev/null +++ b/build_only.cmd @@ -0,0 +1 @@ +make win_buildonly \ No newline at end of file diff --git a/build_only.sh b/build_only.sh new file mode 100644 index 0000000..72c14be --- /dev/null +++ b/build_only.sh @@ -0,0 +1,2 @@ +#!/bin/bash +make lnx_buildonly \ No newline at end of file diff --git a/makefile_norun b/buildonly.lnx similarity index 100% rename from makefile_norun rename to buildonly.lnx diff --git a/buildonly.win b/buildonly.win new file mode 100644 index 0000000..1d045b3 --- /dev/null +++ b/buildonly.win @@ -0,0 +1,26 @@ +cc = g++ +binaryDir := ./bin +objectDir := ./bin/obj +sourceDir := ./src +includeDirs := ./include ./include/imgui +libDirs := ./lib +executable := $(binaryDir)/main.exe +vendors := $(patsubst $(sourceDir)/vendor/%,%,$(wildcard $(sourceDir)/vendor/*)) +sources := $(wildcard $(sourceDir)/*.cpp) $(foreach vendor,$(vendors),$(wildcard $(sourceDir)/vendor/$(vendor)/*.cpp)) +objects := $(patsubst $(sourceDir)/%.cpp,$(objectDir)/%.o,$(sources)) $(foreach vendor,$(vendors),$(wildcard $(objectDir)/vendor/$(vendor)/*.o)) +flags = -lopengl32 -lglfw3 -lgdi32 -static -static-libgcc -static-libstdc++ +warnings := all + +default: $(executable) + +$(executable): $(objects) | $(binaryDir) + $(cc) $(foreach warn,$(warnings),-W$(warn)) $^ -o $@ $(foreach dir,$(includeDirs),-I$(dir)) $(foreach dir,$(libDirs),-L$(dir)) $(flags) + +$(objectDir)/%.o: $(sourceDir)/%.cpp | $(objectDir) + $(cc) $(foreach warn,$(warnings),-W$(warn)) $< -c -o $@ $(foreach dir,$(includeDirs),-I$(dir)) + +$(objectDir): + mkdir bin && cd bin && mkdir obj && cd obj && mkdir vendor && cd vendor && $(foreach dir,$(vendors),mkdir $(dir) &&) cd ../../.. + +clean: + rmdir /s /q bin \ No newline at end of file diff --git a/buildrun.lnx b/buildrun.lnx new file mode 100644 index 0000000..a3842e1 --- /dev/null +++ b/buildrun.lnx @@ -0,0 +1,29 @@ +cc = g++ +binaryDir := ./bin +objectDir := ./bin/obj +sourceDir := ./src +includeDirs := ./include ./include/imgui +libDirs := ./lib +executable := $(binaryDir)/main.exe +vendors := $(patsubst $(sourceDir)/vendor/%,%,$(wildcard $(sourceDir)/vendor/*)) +sources := $(wildcard $(sourceDir)/*.cpp) $(foreach vendor,$(vendors),$(wildcard $(sourceDir)/vendor/$(vendor)/*.cpp)) +objects := $(patsubst $(sourceDir)/%.cpp,$(objectDir)/%.o,$(sources)) $(foreach vendor,$(vendors),$(wildcard $(objectDir)/vendor/$(vendor)/*.o)) +flags = -lopengl32 -lglfw3 -lgdi32 -static -static-libgcc -static-libstdc++ +warnings := all + +default: $(executable) run + +$(executable): $(objects) | $(binaryDir) + $(cc) $(foreach warn,$(warnings),-W$(warn)) $^ -o $@ $(foreach dir,$(includeDirs),-I$(dir)) $(foreach dir,$(libDirs),-L$(dir)) $(flags) + +$(objectDir)/%.o: $(sourceDir)/%.cpp | $(objectDir) + $(cc) $(foreach warn,$(warnings),-W$(warn)) $< -c -o $@ $(foreach dir,$(includeDirs),-I$(dir)) + +$(objectDir): + mkdir bin && cd bin && mkdir obj && cd obj && mkdir vendor && cd vendor && $(foreach dir,$(vendors),mkdir $(dir) &&) cd ../../.. + +clean: + rmdir /s /q bin + +run: $(executable) + $< \ No newline at end of file diff --git a/buildrun.win b/buildrun.win new file mode 100644 index 0000000..a3842e1 --- /dev/null +++ b/buildrun.win @@ -0,0 +1,29 @@ +cc = g++ +binaryDir := ./bin +objectDir := ./bin/obj +sourceDir := ./src +includeDirs := ./include ./include/imgui +libDirs := ./lib +executable := $(binaryDir)/main.exe +vendors := $(patsubst $(sourceDir)/vendor/%,%,$(wildcard $(sourceDir)/vendor/*)) +sources := $(wildcard $(sourceDir)/*.cpp) $(foreach vendor,$(vendors),$(wildcard $(sourceDir)/vendor/$(vendor)/*.cpp)) +objects := $(patsubst $(sourceDir)/%.cpp,$(objectDir)/%.o,$(sources)) $(foreach vendor,$(vendors),$(wildcard $(objectDir)/vendor/$(vendor)/*.o)) +flags = -lopengl32 -lglfw3 -lgdi32 -static -static-libgcc -static-libstdc++ +warnings := all + +default: $(executable) run + +$(executable): $(objects) | $(binaryDir) + $(cc) $(foreach warn,$(warnings),-W$(warn)) $^ -o $@ $(foreach dir,$(includeDirs),-I$(dir)) $(foreach dir,$(libDirs),-L$(dir)) $(flags) + +$(objectDir)/%.o: $(sourceDir)/%.cpp | $(objectDir) + $(cc) $(foreach warn,$(warnings),-W$(warn)) $< -c -o $@ $(foreach dir,$(includeDirs),-I$(dir)) + +$(objectDir): + mkdir bin && cd bin && mkdir obj && cd obj && mkdir vendor && cd vendor && $(foreach dir,$(vendors),mkdir $(dir) &&) cd ../../.. + +clean: + rmdir /s /q bin + +run: $(executable) + $< \ No newline at end of file