You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CompilerWarnings.cmake 2.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. CHECK_C_COMPILER_FLAG(-Wall SUPPORT_WALL)
  2. CHECK_C_COMPILER_FLAG(-Wextra SUPPORT_WEXTRA)
  3. CHECK_C_COMPILER_FLAG(-Wpointer-arith SUPPORT_WPOINTER)
  4. CHECK_C_COMPILER_FLAG(-Wno-unused-parameter SUPPORT_WPARAM)
  5. CHECK_C_COMPILER_FLAG(-Wno-unused-function SUPPORT_WFUNCTION)
  6. CHECK_C_COMPILER_FLAG(-Wno-strict-aliasing SUPPORT_WSTRICT_ALIASING)
  7. CHECK_C_COMPILER_FLAG(-Wunused-variable SUPPORT_WUNUSED_VAR)
  8. CHECK_C_COMPILER_FLAG(-Wno-pointer-sign SUPPORT_WPOINTER_SIGN)
  9. CHECK_C_COMPILER_FLAG(-Wno-sign-compare SUPPORT_WSIGN_COMPARE)
  10. CHECK_C_COMPILER_FLAG(-Wstrict-prototypes SUPPORT_WSTRICT_PROTOTYPES)
  11. CHECK_C_COMPILER_FLAG(-pedantic SUPPORT_PEDANTIC_FLAG)
  12. CHECK_C_COMPILER_FLAG(-Wno-unused-const-variable SUPPORT_WNO_UNUSED_CONST)
  13. # GCC 6 specific
  14. CHECK_C_COMPILER_FLAG(-Wnull-dereference SUPPORT_WNULL_DEREFERENCE)
  15. CHECK_C_COMPILER_FLAG(-Wduplicated-cond SUPPORT_WDUPLICATED_COND)
  16. # GCC 7 specific
  17. CHECK_C_COMPILER_FLAG(-Wimplicit-fallthrough SUPPORT_WIMPLICIT_FALLTHROUGH)
  18. IF(SUPPORT_WEXTRA)
  19. ADD_COMPILE_OPTIONS("-Wextra")
  20. ENDIF(SUPPORT_WEXTRA)
  21. IF(SUPPORT_WALL)
  22. ADD_COMPILE_OPTIONS("-Wall")
  23. ENDIF(SUPPORT_WALL)
  24. IF(SUPPORT_WPOINTER)
  25. ADD_COMPILE_OPTIONS("-Wpointer-arith")
  26. ENDIF(SUPPORT_WPOINTER)
  27. IF(SUPPORT_WPARAM)
  28. ADD_COMPILE_OPTIONS("-Wno-unused-parameter")
  29. ENDIF(SUPPORT_WPARAM)
  30. IF(SUPPORT_WFUNCTION)
  31. ADD_COMPILE_OPTIONS("-Wno-unused-function")
  32. ENDIF(SUPPORT_WFUNCTION)
  33. IF(SUPPORT_WUNUSED_VAR)
  34. ADD_COMPILE_OPTIONS("-Wunused-variable")
  35. ENDIF(SUPPORT_WUNUSED_VAR)
  36. IF(SUPPORT_WPOINTER_SIGN)
  37. # only valid for C
  38. ADD_COMPILE_OPTIONS($<$<COMPILE_LANGUAGE:C>:-Wno-pointer-sign>)
  39. ENDIF(SUPPORT_WPOINTER_SIGN)
  40. IF(SUPPORT_WSTRICT_PROTOTYPES)
  41. # only valid for C
  42. ADD_COMPILE_OPTIONS($<$<COMPILE_LANGUAGE:C>:-Wstrict-prototypes>)
  43. ENDIF(SUPPORT_WSTRICT_PROTOTYPES)
  44. IF(SUPPORT_WSTRICT_ALIASING)
  45. ADD_COMPILE_OPTIONS("-Wno-strict-aliasing")
  46. ADD_COMPILE_OPTIONS("-fno-strict-aliasing")
  47. ENDIF(SUPPORT_WSTRICT_ALIASING)
  48. #IF(SUPPORT_PEDANTIC_FLAG)
  49. # SET(CMAKE_C_WARN_FLAGS "${CMAKE_C_WARN_FLAGS} -pedantic")
  50. #ENDIF(SUPPORT_PEDANTIC_FLAG)
  51. IF(SUPPORT_WNULL_DEREFERENCE)
  52. ADD_COMPILE_OPTIONS("-Wnull-dereference")
  53. ENDIF()
  54. IF(SUPPORT_WDUPLICATED_COND)
  55. ADD_COMPILE_OPTIONS("-Wduplicated-cond")
  56. ENDIF()
  57. IF(SUPPORT_WLOGICAL_OP)
  58. ADD_COMPILE_OPTIONS("-Wlogical-op")
  59. ENDIF()
  60. IF(SUPPORT_WNO_UNUSED_CONST)
  61. ADD_COMPILE_OPTIONS("-Wno-unused-const-variable")
  62. ENDIF()
  63. IF(SUPPORT_WSIGN_COMPARE)
  64. ADD_COMPILE_OPTIONS("-Wno-sign-compare")
  65. ENDIF()
  66. IF(SUPPORT_WIMPLICIT_FALLTHROUGH)
  67. ADD_COMPILE_OPTIONS("-Wno-implicit-fallthrough")
  68. ENDIF(SUPPORT_WIMPLICIT_FALLTHROUGH)
  69. CHECK_C_COMPILER_FLAG(-fPIC SUPPORT_FPIC)
  70. IF(SUPPORT_FPIC)
  71. ADD_COMPILE_OPTIONS("-fPIC")
  72. ENDIF(SUPPORT_FPIC)