summaryrefslogtreecommitdiffstats
path: root/SetFlags.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'SetFlags.cmake')
-rw-r--r--SetFlags.cmake22
1 files changed, 19 insertions, 3 deletions
diff --git a/SetFlags.cmake b/SetFlags.cmake
index ded57e6d7..c5a3a0697 100644
--- a/SetFlags.cmake
+++ b/SetFlags.cmake
@@ -1,5 +1,3 @@
-
-
macro (add_flags_lnk FLAGS)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${FLAGS}")
@@ -62,6 +60,7 @@ macro(set_flags)
# We use a signed char (fixes #640 on RasPi)
add_flags_cxx("-fsigned-char")
+
endif()
@@ -183,7 +182,24 @@ macro(set_exe_flags)
string(REPLACE "-w" "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
string(REPLACE "-w" "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
string(REPLACE "-w" "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
- add_flags_cxx("-Wall -Wextra")
+ add_flags_cxx("-Wall -Wextra -Wno-unused-parameter -Wno-error=switch")
+
+ # we support non-IEEE 754 fpus so can make no guarentees about error
+ add_flags_cxx("-ffast-math")
+
+ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+ # clang does not provide the __extern_always_inline macro and a part of libm depends on this when using fast-math
+ add_flags_cxx("-D__extern_always_inline=inline")
+ add_flags_cxx("-Werror -Weverything -Wno-c++98-compat-pedantic -Wno-string-conversion")
+ add_flags_cxx("-Wno-extra-semi -Wno-error=switch-enum -Wno-documentation")
+ add_flags_cxx("-Wno-error=sign-conversion -Wno-error=conversion -Wno-padded")
+ add_flags_cxx("-Wno-error=deprecated -Wno-error=weak-vtables -Wno-error=float-equal")
+ add_flags_cxx("-Wno-error=missing-prototypes -Wno-error=non-virtual-dtor")
+ add_flags_cxx("-Wno-error=covered-switch-default -Wno-error=shadow")
+ add_flags_cxx("-Wno-error=exit-time-destructors -Wno-error=missing-variable-declarations")
+ add_flags_cxx("-Wno-error=global-constructors -Wno-implicit-fallthrough")
+ add_flags_cxx("-Wno-weak-vtables -Wno-switch-enum -Wno-exit-time-destructors")
+ endif()
endif()
endmacro()