diff --git a/.github/workflows/github.yml b/.github/workflows/github.yml index d230fcafb..625301676 100644 --- a/.github/workflows/github.yml +++ b/.github/workflows/github.yml @@ -20,11 +20,11 @@ jobs: matrix: include: - platform: linux-qt6 - os: ubuntu-22.04 + os: ubuntu-24.04 test: 0 preset: linux-clang-test - platform: linux - os: ubuntu-22.04 + os: ubuntu-24.04 test: 1 preset: linux-gcc-test - platform: linux @@ -124,7 +124,7 @@ jobs: # also, running it on multiple presets is redundant and slightly increases already long CI built times if: ${{ startsWith(matrix.preset, 'linux-clang-test') }} run: | - pip3 install jstyleson + sudo apt install python3-jstyleson python3 CI/linux-qt6/validate_json.py - name: Dependencies @@ -201,8 +201,8 @@ jobs: - name: Configure run: | - if [[ ${{matrix.preset}} == linux-gcc-test ]]; then GCC12=1; fi - cmake -DENABLE_CCACHE:BOOL=ON --preset ${{ matrix.preset }} ${GCC12:+-DCMAKE_C_COMPILER=gcc-12 -DCMAKE_CXX_COMPILER=g++-12} + if [[ ${{matrix.preset}} == linux-gcc-test ]]; then GCC14=1; fi + cmake -DENABLE_CCACHE:BOOL=ON --preset ${{ matrix.preset }} ${GCC14:+-DCMAKE_C_COMPILER=gcc-14 -DCMAKE_CXX_COMPILER=g++-14} - name: Build run: | diff --git a/AI/Nullkiller/Goals/CGoal.h b/AI/Nullkiller/Goals/CGoal.h index 9a5821eae..21d6cc863 100644 --- a/AI/Nullkiller/Goals/CGoal.h +++ b/AI/Nullkiller/Goals/CGoal.h @@ -18,10 +18,11 @@ class AIGateway; namespace Goals { - template class DLL_EXPORT CGoal : public AbstractGoal + template + class DLL_EXPORT CGoal : public AbstractGoal { public: - CGoal(EGoals goal = INVALID) : AbstractGoal(goal) + CGoal(EGoals goal = INVALID) : AbstractGoal(goal) { isAbstract = true; value = 0; @@ -32,7 +33,7 @@ namespace Goals town = nullptr; } - CGoal * clone() const override + CGoal * clone() const override { return new T(static_cast(*this)); //casting enforces template instantiation } @@ -70,15 +71,16 @@ namespace Goals } }; - template class DLL_EXPORT ElementarGoal : public CGoal, public ITask + template + class DLL_EXPORT ElementarGoal : public CGoal, public ITask { public: - ElementarGoal(EGoals goal = INVALID) : CGoal(goal), ITask() + ElementarGoal(EGoals goal = INVALID) : CGoal(goal), ITask() { AbstractGoal::isAbstract = false; } - ElementarGoal(const ElementarGoal & other) : CGoal(other), ITask(other) + ElementarGoal(const ElementarGoal & other) : CGoal(other), ITask(other) { } diff --git a/AI/VCAI/Goals/CGoal.h b/AI/VCAI/Goals/CGoal.h index f2ff5749c..b2f20dc77 100644 --- a/AI/VCAI/Goals/CGoal.h +++ b/AI/VCAI/Goals/CGoal.h @@ -18,10 +18,11 @@ class VCAI; namespace Goals { - template class DLL_EXPORT CGoal : public AbstractGoal + template + class DLL_EXPORT CGoal : public AbstractGoal { public: - CGoal(EGoals goal = INVALID) : AbstractGoal(goal) + CGoal(EGoals goal = INVALID) : AbstractGoal(goal) { priority = 0; isElementar = false; @@ -56,7 +57,7 @@ namespace Goals return f->evaluate(static_cast(*this)); //casting enforces template instantiation } - CGoal * clone() const override + CGoal * clone() const override { return new T(static_cast(*this)); //casting enforces template instantiation }