ranges_diagnostics.cmake 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. # Copyright Louis Dionne 2015
  2. # Copyright Gonzalo Brito Gadeschi 2015
  3. # Distributed under the Boost Software License, Version 1.0.
  4. # (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
  5. #
  6. # Setup compiler flags (more can be set on a per-target basis or in
  7. # subdirectories)
  8. # Enable all warnings:
  9. ranges_append_flag(RANGES_HAS_WEVERYTHING -Weverything)
  10. ranges_append_flag(RANGES_HAS_PEDANTIC -pedantic)
  11. ranges_append_flag(RANGES_HAS_PEDANTIC_ERRORS -pedantic-errors)
  12. # Selectively disable those warnings that are not worth it:
  13. ranges_append_flag(RANGES_HAS_WNO_CXX98_COMPAT -Wno-c++98-compat)
  14. ranges_append_flag(RANGES_HAS_WNO_CXX98_COMPAT_PEDANTIC -Wno-c++98-compat-pedantic)
  15. ranges_append_flag(RANGES_HAS_WNO_WEAK_VTABLES -Wno-weak-vtables)
  16. ranges_append_flag(RANGES_HAS_WNO_PADDED -Wno-padded)
  17. ranges_append_flag(RANGES_HAS_WNO_MISSING_VARIABLE_DECLARATIONS -Wno-missing-variable-declarations)
  18. ranges_append_flag(RANGES_HAS_WNO_DOCUMENTATION -Wno-documentation)
  19. ranges_append_flag(RANGES_HAS_WNO_DOCUMENTATION_UNKNOWN_COMMAND -Wno-documentation-unknown-command)
  20. ranges_append_flag(RANGES_HAS_WNO_OLD_STYLE_CAST -Wno-old-style-cast)
  21. if (RANGES_ENV_MACOSX)
  22. ranges_append_flag(RANGES_HAS_WNO_GLOBAL_CONSTRUCTORS -Wno-global-constructors)
  23. ranges_append_flag(RANGES_HAS_WNO_EXIT_TIME_DESTRUCTORS -Wno-exit-time-destructors)
  24. endif()
  25. if (RANGES_CXX_COMPILER_CLANG OR RANGES_CXX_COMPILER_CLANGCL)
  26. ranges_append_flag(RANGES_HAS_WNO_MISSING_PROTOTYPES -Wno-missing-prototypes)
  27. endif()
  28. if (RANGES_CXX_COMPILER_GCC)
  29. if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "6.0")
  30. ranges_append_flag(RANGES_HAS_WNO_STRICT_OVERFLOW -Wno-strict-overflow)
  31. if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "5.0")
  32. ranges_append_flag(RANGES_HAS_WNO_MISSING_FIELD_INITIALIZERS -Wno-missing-field-initializers)
  33. endif()
  34. elseif ((CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "7.0") OR (CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL "7.0"))
  35. ranges_append_flag(RANGES_HAS_WNO_NOEXCEPT_TYPE -Wno-noexcept-type)
  36. endif()
  37. endif()
  38. if (RANGES_VERBOSE_BUILD)
  39. message(STATUS "[range-v3]: test C++ flags: ${CMAKE_CXX_FLAGS}")
  40. endif()