From d71d5225e5c71b6e8d671148cfbc928b2e0ec84a Mon Sep 17 00:00:00 2001 From: Carson Radtke Date: Fri, 15 Nov 2024 12:10:11 -0600 Subject: [PATCH 01/11] fix failing macos test Looks like https://github.com/actions/runner-images/issues/10703 took away support for xcode 14. That is why the latest action failed. There an active PR adding support for xcode 16 to the macos runner (https://github.com/actions/runner-images/pull/10967). This commit will fail until that has been merged, but it is probably worth waiting for. --- .github/workflows/compilers.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/compilers.yml b/.github/workflows/compilers.yml index 23866a63..aa2c1238 100644 --- a/.github/workflows/compilers.yml +++ b/.github/workflows/compilers.yml @@ -54,7 +54,7 @@ jobs: xcode: strategy: matrix: - xcode_version: [ '14.3.1', '15.4' ] + xcode_version: [ '15.4', '16.1' ] build_type: [ Debug, Release ] cxx_version: [ 14, 17, 20, 23 ] runs-on: macos-latest From ed2ec200be90d2e9d7adcf5f0d684cd1906fb623 Mon Sep 17 00:00:00 2001 From: Carson Radtke Date: Fri, 15 Nov 2024 12:19:30 -0600 Subject: [PATCH 02/11] Set cmake_minimum_required to 3.10 CI checks are failing because the cmake version requires cmake minimum requires >= 3.10. This PR addresses that issue. --- tests/CMakeLists.txt.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/CMakeLists.txt.in b/tests/CMakeLists.txt.in index 2535f8f4..9c7c054a 100644 --- a/tests/CMakeLists.txt.in +++ b/tests/CMakeLists.txt.in @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.0.2) +cmake_minimum_required(VERSION 3.10) project(googletest-download NONE) include(ExternalProject) From 60809171bc5990d75089ce4100980a5ff1ddca17 Mon Sep 17 00:00:00 2001 From: Carson Radtke Date: Fri, 15 Nov 2024 12:40:55 -0600 Subject: [PATCH 03/11] update googletest to v1.15.2 --- tests/CMakeLists.txt.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/CMakeLists.txt.in b/tests/CMakeLists.txt.in index 9c7c054a..5b3c8f50 100644 --- a/tests/CMakeLists.txt.in +++ b/tests/CMakeLists.txt.in @@ -1,10 +1,10 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.13) project(googletest-download NONE) include(ExternalProject) ExternalProject_Add(googletest GIT_REPOSITORY https://github.com/google/googletest.git - GIT_TAG 1b18723e874b256c1e39378c6774a90701d70f7a + GIT_TAG v1.15.2 SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-src" BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-build" CONFIGURE_COMMAND "" From 8d6c047e75fd2b1eb6f05a3c3f364b9f2e611428 Mon Sep 17 00:00:00 2001 From: Carson Radtke Date: Fri, 15 Nov 2024 13:11:54 -0600 Subject: [PATCH 04/11] use googletest v1.14.0 Note: not using the latest version (v1.15.2) because there is a bug requiring that requires -std=c++17 to build. --- tests/CMakeLists.txt.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/CMakeLists.txt.in b/tests/CMakeLists.txt.in index 5b3c8f50..4f919f67 100644 --- a/tests/CMakeLists.txt.in +++ b/tests/CMakeLists.txt.in @@ -4,7 +4,7 @@ project(googletest-download NONE) include(ExternalProject) ExternalProject_Add(googletest GIT_REPOSITORY https://github.com/google/googletest.git - GIT_TAG v1.15.2 + GIT_TAG v1.14.0 SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-src" BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-build" CONFIGURE_COMMAND "" From ed21da65270c85eac3f3e5787468760242931b74 Mon Sep 17 00:00:00 2001 From: Carson Radtke Date: Mon, 25 Nov 2024 10:14:05 -0600 Subject: [PATCH 05/11] looks like xcode 16.1 support is not coming soon --- .github/workflows/compilers.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/compilers.yml b/.github/workflows/compilers.yml index aa2c1238..44d20442 100644 --- a/.github/workflows/compilers.yml +++ b/.github/workflows/compilers.yml @@ -54,7 +54,7 @@ jobs: xcode: strategy: matrix: - xcode_version: [ '15.4', '16.1' ] + xcode_version: [ '15.4' ] build_type: [ Debug, Release ] cxx_version: [ 14, 17, 20, 23 ] runs-on: macos-latest From c0a4f04cd039ad4fbcee34f5844fe6765e525cc0 Mon Sep 17 00:00:00 2001 From: Carson Radtke Date: Mon, 25 Nov 2024 11:03:11 -0600 Subject: [PATCH 06/11] suppress incorrect warning when compiling gtest --- tests/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 9de2519b..928cdba1 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -110,6 +110,7 @@ if(MSVC) # MSVC or simulating MSVC -Wno-shift-sign-overflow # GTest gtest-port.h -Wno-undef # GTest -Wno-used-but-marked-unused # GTest EXPECT_DEATH + -Wno-switch-default # GTest EXPECT_DEATH $<$: # no support for [[maybe_unused]] -Wno-unused-member-function -Wno-unused-variable From d334a4f1712dd98692f3692ce6bb01c7ae58305b Mon Sep 17 00:00:00 2001 From: Carson Radtke Date: Mon, 25 Nov 2024 11:20:14 -0600 Subject: [PATCH 07/11] google test does not work with gcc12 --- .github/workflows/compilers.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/compilers.yml b/.github/workflows/compilers.yml index 44d20442..af00fadd 100644 --- a/.github/workflows/compilers.yml +++ b/.github/workflows/compilers.yml @@ -23,7 +23,14 @@ jobs: exclude: - gcc_version: 10 cxx_version: 23 - runs-on: ubuntu-latest + # https://github.com/google/googletest/issues/4232 + # Looks like GoogleTest is not interested in making version 1.14 + # work with gcc-12. + - gcc_version: 12 + cxx_version: 20 + - gcc_version: 12 + cxx_version: 20 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 From 56f197d7b3d461bc08ac7ecd6864db75adc202f0 Mon Sep 17 00:00:00 2001 From: Carson Radtke Date: Mon, 25 Nov 2024 11:36:54 -0600 Subject: [PATCH 08/11] disable deprecated errors for android --- .github/workflows/android.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index a2c88fc9..51f3d55b 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -38,7 +38,7 @@ jobs: echo "Emulator starting in background" - name: Configure - run: cmake -Werror=dev -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_LATEST_HOME/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=16 -DANDROID_ABI=x86_64 -DCMAKE_BUILD_TYPE=Debug .. + run: cmake -Werror=dev -Wno-error=deprecated -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_LATEST_HOME/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=16 -DANDROID_ABI=x86_64 -DCMAKE_BUILD_TYPE=Debug .. - name: Build run: cmake --build . --parallel From 373a18c1ea407c66304e6e4440655589473414bd Mon Sep 17 00:00:00 2001 From: Carson Radtke Date: Mon, 25 Nov 2024 11:39:04 -0600 Subject: [PATCH 09/11] undo deleted space --- .github/workflows/compilers.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/compilers.yml b/.github/workflows/compilers.yml index af00fadd..fc1cbde5 100644 --- a/.github/workflows/compilers.yml +++ b/.github/workflows/compilers.yml @@ -30,7 +30,7 @@ jobs: cxx_version: 20 - gcc_version: 12 cxx_version: 20 - runs-on: ubuntu-latest + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 From 916375d2e88d6e3a8f73b3ac7273d89df3369499 Mon Sep 17 00:00:00 2001 From: Carson Radtke Date: Mon, 25 Nov 2024 11:44:04 -0600 Subject: [PATCH 10/11] fix typo gcc excludes --- .github/workflows/compilers.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/compilers.yml b/.github/workflows/compilers.yml index fc1cbde5..14daeb6c 100644 --- a/.github/workflows/compilers.yml +++ b/.github/workflows/compilers.yml @@ -29,7 +29,7 @@ jobs: - gcc_version: 12 cxx_version: 20 - gcc_version: 12 - cxx_version: 20 + cxx_version: 23 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 From ddc5690c34fa3de7de8f16830f3abfdf089dea7c Mon Sep 17 00:00:00 2001 From: Carson Radtke Date: Mon, 25 Nov 2024 11:51:22 -0600 Subject: [PATCH 11/11] remove warnings from cmake android. we have no control over the contents of the cmake file --- .github/workflows/android.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 51f3d55b..97259a83 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -38,7 +38,7 @@ jobs: echo "Emulator starting in background" - name: Configure - run: cmake -Werror=dev -Wno-error=deprecated -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_LATEST_HOME/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=16 -DANDROID_ABI=x86_64 -DCMAKE_BUILD_TYPE=Debug .. + run: cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_LATEST_HOME/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=16 -DANDROID_ABI=x86_64 -DCMAKE_BUILD_TYPE=Debug .. - name: Build run: cmake --build . --parallel