From 2140991d8dd895536710f40f0a3a346d16db7b9f Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sat, 1 Mar 2025 15:37:32 -0500 Subject: [PATCH 1/9] Temporarily disable linting and formatting actions --- .forgejo/workflows/build.yaml | 52 +++++++++++++++++------------------ 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 5448de1..659b20d 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -4,33 +4,33 @@ on: [push] name: Build jobs: - format: - name: Format - runs-on: ubuntu-22.04 - steps: - - name: Check out the code - uses: actions/checkout@v4 - - name: Install clang-format - run: | - sudo apt-get update - sudo apt-get -y install clang-format - - name: Check the code's formatting - run: clang-format --dry-run src/*.h src/*.cpp 2>&1 | tee fmt.log; [ ! -s fmt.log ] + # format: + # name: Format + # runs-on: ubuntu-22.04 + # steps: + # - name: Check out the code + # uses: actions/checkout@v4 + # - name: Install clang-format + # run: | + # sudo apt-get update + # sudo apt-get -y install clang-format + # - name: Check the code's formatting + # run: clang-format --dry-run src/*.h src/*.cpp 2>&1 | tee fmt.log; [ ! -s fmt.log ] - lint: - name: Lint - runs-on: ubuntu-22.04 - steps: - - name: Check out the code - uses: actions/checkout@v4 - - name: Install clang-tidy and the toolchain - run: | - sudo apt-get update - sudo apt-get -y install clang-tidy cmake freeglut3-dev libglew-dev libglm-dev - - name: Set up the build environment - run: cmake -S . -B cmake-build-debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON - - name: Have clang-tidy lint for errors - run: clang-tidy -p cmake-build-debug src/*.cpp src/*.h --warnings-as-errors='*' + # lint: + # name: Lint + # runs-on: ubuntu-22.04 + # steps: + # - name: Check out the code + # uses: actions/checkout@v4 + # - name: Install clang-tidy and the toolchain + # run: | + # sudo apt-get update + # sudo apt-get -y install clang-tidy cmake freeglut3-dev libglew-dev libglm-dev + # - name: Set up the build environment + # run: cmake -S . -B cmake-build-debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON + # - name: Have clang-tidy lint for errors + # run: clang-tidy -p cmake-build-debug src/*.cpp src/*.h --warnings-as-errors='*' build: name: Build From a362874f2272058942c48abcc71664444928cb5d Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sat, 1 Mar 2025 15:49:20 -0500 Subject: [PATCH 2/9] Use latest CMake --- .forgejo/workflows/build.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 659b20d..e306910 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -41,7 +41,9 @@ jobs: - name: Install the toolchain run: | sudo apt-get update - sudo apt-get -y install cmake freeglut3-dev libglew-dev libglm-dev + sudo apt-get -y install freeglut3-dev libglew-dev libglm-dev + curl -L https://github.com/Kitware/CMake/releases/download/v3.31.6/cmake-3.31.6-linux-x86_64.sh -o cmake-install.sh + ./cmake-install.sh - name: Set up the build environment run: cmake -S . -B cmake-build-debug - name: Compile the code From 9d7265b362c89333306ffe4a9544a178880333f9 Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sat, 1 Mar 2025 15:49:43 -0500 Subject: [PATCH 3/9] Use Ninja generator to support C++20 modules --- .forgejo/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index e306910..29b74a6 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -45,7 +45,7 @@ jobs: curl -L https://github.com/Kitware/CMake/releases/download/v3.31.6/cmake-3.31.6-linux-x86_64.sh -o cmake-install.sh ./cmake-install.sh - name: Set up the build environment - run: cmake -S . -B cmake-build-debug + run: cmake -S . -B cmake-build-debug -G Ninja - name: Compile the code run: cmake --build cmake-build-debug - name: Save executable From 1347e95f1f6e4ecbb52dacf871d90596d083e74b Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sat, 1 Mar 2025 16:05:45 -0500 Subject: [PATCH 4/9] Fix CMake installation --- .forgejo/workflows/build.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 29b74a6..725583a 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -43,11 +43,11 @@ jobs: sudo apt-get update sudo apt-get -y install freeglut3-dev libglew-dev libglm-dev curl -L https://github.com/Kitware/CMake/releases/download/v3.31.6/cmake-3.31.6-linux-x86_64.sh -o cmake-install.sh - ./cmake-install.sh + /bin/env sh cmake-install.sh - name: Set up the build environment - run: cmake -S . -B cmake-build-debug -G Ninja + run: bin/cmake -S . -B cmake-build-debug -G Ninja - name: Compile the code - run: cmake --build cmake-build-debug + run: bin/cmake --build cmake-build-debug - name: Save executable uses: forgejo/upload-artifact@v4 with: From 3f83ecaee2eedeff557a1344d325aedeedfc091f Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sat, 1 Mar 2025 16:12:19 -0500 Subject: [PATCH 5/9] Accept the CMake license --- .forgejo/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 725583a..779dc06 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -42,7 +42,7 @@ jobs: run: | sudo apt-get update sudo apt-get -y install freeglut3-dev libglew-dev libglm-dev - curl -L https://github.com/Kitware/CMake/releases/download/v3.31.6/cmake-3.31.6-linux-x86_64.sh -o cmake-install.sh + curl -L https://github.com/Kitware/CMake/releases/download/v3.31.6/cmake-3.31.6-linux-x86_64.sh -o cmake-install.sh --skip-license /bin/env sh cmake-install.sh - name: Set up the build environment run: bin/cmake -S . -B cmake-build-debug -G Ninja From d492ce18edef26efd3b4f7627aab74271e1fb53f Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sat, 1 Mar 2025 16:13:22 -0500 Subject: [PATCH 6/9] Fix CMake license acceptance --- .forgejo/workflows/build.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 779dc06..f86a7cd 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -42,8 +42,8 @@ jobs: run: | sudo apt-get update sudo apt-get -y install freeglut3-dev libglew-dev libglm-dev - curl -L https://github.com/Kitware/CMake/releases/download/v3.31.6/cmake-3.31.6-linux-x86_64.sh -o cmake-install.sh --skip-license - /bin/env sh cmake-install.sh + curl -L https://github.com/Kitware/CMake/releases/download/v3.31.6/cmake-3.31.6-linux-x86_64.sh -o cmake-install.sh + /bin/env sh cmake-install.sh --skip-license - name: Set up the build environment run: bin/cmake -S . -B cmake-build-debug -G Ninja - name: Compile the code From d223dd0825aa4cad1719811caf0cd40b78d844b2 Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sat, 1 Mar 2025 16:14:47 -0500 Subject: [PATCH 7/9] Use correct CMake binary for runner --- .forgejo/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index f86a7cd..05a7d80 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -42,7 +42,7 @@ jobs: run: | sudo apt-get update sudo apt-get -y install freeglut3-dev libglew-dev libglm-dev - curl -L https://github.com/Kitware/CMake/releases/download/v3.31.6/cmake-3.31.6-linux-x86_64.sh -o cmake-install.sh + curl -L https://github.com/Kitware/CMake/releases/download/v3.31.6/cmake-3.31.6-linux-aarch64.sh -o cmake-install.sh /bin/env sh cmake-install.sh --skip-license - name: Set up the build environment run: bin/cmake -S . -B cmake-build-debug -G Ninja From 995dd83fb7d34e35ee6a1256f49862f98784560c Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sat, 1 Mar 2025 16:16:47 -0500 Subject: [PATCH 8/9] Install Ninja onto runner --- .forgejo/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 05a7d80..06504a7 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -41,7 +41,7 @@ jobs: - name: Install the toolchain run: | sudo apt-get update - sudo apt-get -y install freeglut3-dev libglew-dev libglm-dev + sudo apt-get -y install freeglut3-dev libglew-dev libglm-dev ninja-build curl -L https://github.com/Kitware/CMake/releases/download/v3.31.6/cmake-3.31.6-linux-aarch64.sh -o cmake-install.sh /bin/env sh cmake-install.sh --skip-license - name: Set up the build environment From fc77f9c8f542081730e01429c49e4a29e96f417e Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sat, 1 Mar 2025 16:38:38 -0500 Subject: [PATCH 9/9] Use Clang --- .forgejo/workflows/build.yaml | 2 +- CMakeLists.txt | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml index 06504a7..9432396 100644 --- a/.forgejo/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -41,7 +41,7 @@ jobs: - name: Install the toolchain run: | sudo apt-get update - sudo apt-get -y install freeglut3-dev libglew-dev libglm-dev ninja-build + sudo apt-get -y install clang freeglut3-dev libglew-dev libglm-dev ninja-build curl -L https://github.com/Kitware/CMake/releases/download/v3.31.6/cmake-3.31.6-linux-aarch64.sh -o cmake-install.sh /bin/env sh cmake-install.sh --skip-license - name: Set up the build environment diff --git a/CMakeLists.txt b/CMakeLists.txt index bfe05ea..4f9dca4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,8 @@ cmake_minimum_required(VERSION 3.22) project(perlin-shadows) +set(CMAKE_C_COMPILER "/usr/bin/clang") +set(CMAKE_CXX_COMPILER "/usr/bin/clang++") set(CMAKE_CXX_STANDARD 23) include_directories(src)