From: Viktor Szakats Date: Thu, 4 Apr 2024 10:45:01 +0000 (+0000) Subject: cmake: fix `CURL_WERROR=ON` for old CMake and use it in GHA/linux-old X-Git-Tag: curl-8_8_0~296 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f43545e91ba2c35c8e611969f3a41a5b303dd3a8;p=thirdparty%2Fcurl.git cmake: fix `CURL_WERROR=ON` for old CMake and use it in GHA/linux-old - cmake: fix `-pedantic-errors` for old CMake with `CURL_WERROR=ON` set. `-pedantic-errors` option throws a warning with GCC (all versions) and makes `check_symbol_exists()` fail in CMake versions older than v3.23.0 (2022-03-29), when CMake introduced a workaround: https://gitlab.kitware.com/cmake/cmake/-/issues/13208 https://gitlab.kitware.com/cmake/cmake/-/commit/eeb45401163d831b8c841ef6eba81466b4067b68 https://gitlab.kitware.com/cmake/cmake/-/commit/1ab7c3cd28b27ca162c4559e1026e5cad1898ade Follow-up to 3829759bd042c03225ae862062560f568ba1a231 #12489 - set `CURL_WERROR=ON` for the `linux-old` job in CI. Closes #13282 --- diff --git a/.github/workflows/linux-old.yml b/.github/workflows/linux-old.yml index 73174e80f9..c38e359f50 100644 --- a/.github/workflows/linux-old.yml +++ b/.github/workflows/linux-old.yml @@ -83,7 +83,7 @@ jobs: run: | mkdir build cd build - cmake -DCMAKE_UNITY_BUILD=ON -DBUILD_SHARED_LIBS=ON -DENABLE_ARES=ON -DCURL_ZSTD=ON -DCURL_USE_LIBSSH=ON -DCURL_USE_GSSAPI=ON .. + cmake -DCMAKE_UNITY_BUILD=ON -DCURL_WERROR=ON -DBUILD_SHARED_LIBS=ON -DENABLE_ARES=ON -DCURL_ZSTD=ON -DCURL_USE_LIBSSH=ON -DCURL_USE_GSSAPI=ON .. - name: 'build' run: make -C build diff --git a/CMake/PickyWarnings.cmake b/CMake/PickyWarnings.cmake index d82bbb1d6a..3510d77a73 100644 --- a/CMake/PickyWarnings.cmake +++ b/CMake/PickyWarnings.cmake @@ -25,7 +25,10 @@ include(CheckCCompilerFlag) unset(WPICKY) -if(CURL_WERROR AND CMAKE_COMPILER_IS_GNUCC AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 5.0) +if(CURL_WERROR AND + CMAKE_COMPILER_IS_GNUCC AND + NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 5.0 AND + NOT CMAKE_VERSION VERSION_LESS 3.23.0) # check_symbol_exists() incompatible with GCC -pedantic-errors in earlier CMake versions set(WPICKY "${WPICKY} -pedantic-errors") endif()