set(_picky_enable "-W")
endif()
- list(APPEND _picky_enable
- -Wall -pedantic
- )
+ list(APPEND _picky_enable "-Wall")
+
+ if((CMAKE_C_COMPILER_ID STREQUAL "Clang" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 3.2) OR
+ (CMAKE_C_COMPILER_ID STREQUAL "AppleClang" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 4.2) OR
+ CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 4.8)
+ list(APPEND _picky_enable "-Wpedantic") # clang 3.2 gcc 4.8 appleclang 4.2
+ else()
+ list(APPEND _picky_enable "-pedantic")
+ endif()
# ----------------------------------
# Add new options here, if in doubt:
CLANG|APPLECLANG)
#
if test "$want_warnings" = "yes"; then
- tmp_CFLAGS="$tmp_CFLAGS -pedantic"
+ if test "$compiler_num" -ge "302"; then
+ CURL_ADD_COMPILER_WARNINGS([tmp_CFLAGS], [pedantic])
+ else
+ tmp_CFLAGS="$tmp_CFLAGS -pedantic"
+ fi
CURL_ADD_COMPILER_WARNINGS([tmp_CFLAGS], [all extra])
CURL_ADD_COMPILER_WARNINGS([tmp_CFLAGS], [pointer-arith write-strings])
CURL_ADD_COMPILER_WARNINGS([tmp_CFLAGS], [shadow])
dnl Do not enable -pedantic when cross-compiling with a gcc older
dnl than 3.0, to avoid warnings from third party system headers.
if test "$cross_compiling" != "yes" ||
- test "$compiler_num" -ge "300"; then
- tmp_CFLAGS="$tmp_CFLAGS -pedantic"
+ test "$compiler_num" -ge "300"; then
+ if test "$compiler_num" -ge "408"; then
+ CURL_ADD_COMPILER_WARNINGS([tmp_CFLAGS], [pedantic])
+ else
+ tmp_CFLAGS="$tmp_CFLAGS -pedantic"
+ fi
fi
#
dnl Set of options we believe *ALL* gcc versions support: