if("${CMAKE_C_SIMULATE_ID}" STREQUAL "MSVC") # TODO: someone needs to provide the msvc equivalent warning flags elseif(WIN32) # Tareting Windows but using a non-MSVC compiler. Set -fms-extensions # so that we can use __popcnt64 add_compile_options($<$,$>:-fms-extensions>) else() add_compile_options($<$,$>:-Werror>) add_compile_options($<$,$>:-Wall>) add_compile_options($<$,$>:-Wextra>) add_compile_options($<$,$>:-Warray-bounds-pointer-arithmetic>) add_compile_options($<$,$>:-Wassign-enum>) add_compile_options($<$,$>:-Watomic-properties>) add_compile_options($<$,$>:-Wcomma>) add_compile_options($<$,$>:-Wconditional-uninitialized>) add_compile_options($<$,$>:-Wconversion>) add_compile_options($<$,$>:-Wcovered-switch-default>) add_compile_options($<$,$>:-Wdate-time>) add_compile_options($<$,$>:-Wdeprecated>) add_compile_options($<$,$>:-Wdocumentation>) add_compile_options($<$,$>:-Wdouble-promotion>) add_compile_options($<$,$>:-Wduplicate-enum>) add_compile_options($<$,$>:-Wexpansion-to-defined>) add_compile_options($<$,$>:-Wfloat-equal>) add_compile_options($<$,$>:-Widiomatic-parentheses>) add_compile_options($<$,$>:-Winfinite-recursion>) add_compile_options($<$,$>:-Wmissing-prototypes>) add_compile_options($<$,$>:-Wnewline-eof>) add_compile_options($<$,$>:-Wnullable-to-nonnull-conversion>) add_compile_options($<$,$>:-Wobjc-interface-ivars>) add_compile_options($<$,$>:-Wover-aligned>) add_compile_options($<$,$>:-Wpacked>) add_compile_options($<$,$>:-Wpointer-arith>) add_compile_options($<$,$>:-Wselector>) add_compile_options($<$,$>:-Wshadow>) add_compile_options($<$,$>:-Wshorten-64-to-32>) add_compile_options($<$,$>:-Wsign-conversion>) add_compile_options($<$,$>:-Wstatic-in-inline>) add_compile_options($<$,$>:-Wsuper-class-method-mismatch>) add_compile_options($<$,$>:-Wswitch>) add_compile_options($<$,$>:-Wunguarded-availability>) add_compile_options($<$,$>:-Wunreachable-code>) add_compile_options($<$,$>:-Wunused>) add_compile_options($<$,$>:-Wno-unknown-warning-option>) add_compile_options($<$,$>:-Wno-trigraphs>) add_compile_options($<$,$>:-Wno-four-char-constants>) add_compile_options($<$,$>:-Wno-disabled-macro-expansion>) add_compile_options($<$,$>:-Wno-pedantic>) add_compile_options($<$,$>:-Wno-bad-function-cast>) add_compile_options($<$,$>:-Wno-c++-compat>) add_compile_options($<$,$>:-Wno-c++98-compat>) add_compile_options($<$,$>:-Wno-c++98-compat-pedantic>) add_compile_options($<$,$>:-Wno-cast-align>) add_compile_options($<$,$>:-Wno-cast-qual>) add_compile_options($<$,$>:-Wno-documentation-unknown-command>) add_compile_options($<$,$>:-Wno-format-nonliteral>) add_compile_options($<$,$>:-Wno-missing-variable-declarations>) add_compile_options($<$,$>:-Wno-old-style-cast>) add_compile_options($<$,$>:-Wno-padded>) add_compile_options($<$,$>:-Wno-reserved-id-macro>) add_compile_options($<$,$>:-Wno-shift-sign-overflow>) add_compile_options($<$,$>:-Wno-undef>) add_compile_options($<$,$>:-Wno-unreachable-code-aggressive>) add_compile_options($<$,$>:-Wno-unused-macros>) add_compile_options($<$,$>:-Wno-used-but-marked-unused>) add_compile_options($<$,$>:-Wno-void-pointer-to-int-cast>) add_compile_options($<$,$>:-Wno-vla>) if(CMAKE_SYSTEM_NAME STREQUAL Android) add_compile_options($<$,$>:-Wno-incompatible-function-pointer-types>) add_compile_options($<$,$>:-Wno-implicit-function-declaration>) add_compile_options($<$,$>:-Wno-conversion>) add_compile_options($<$,$>:-Wno-int-conversion>) add_compile_options($<$,$>:-Wno-shorten-64-to-32>) endif() add_compile_options($<$,$>:-Wno-error=assign-enum>) endif()