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 3.0KB

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