- 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
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
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()