@@ -240,20 +240,37 @@ project (Jerry CXX C ASM)
240240 set (COMPILE_FLAGS_JERRY "${COMPILE_FLAGS_JERRY} -g -gdwarf-4" )
241241
242242 # Warnings
243- set (COMPILE_FLAGS_JERRY "${COMPILE_FLAGS_JERRY} -Wall -Wextra -pedantic" )
244- set (COMPILE_FLAGS_JERRY "${COMPILE_FLAGS_JERRY} -Wformat-nonliteral -Winit-self -Wno-stack-protector" )
245- set (COMPILE_FLAGS_JERRY "${COMPILE_FLAGS_JERRY} -Wconversion -Wsign-conversion -Wformat-security" )
246- set (COMPILE_FLAGS_JERRY "${COMPILE_FLAGS_JERRY} -Wmissing-declarations -Wno-attributes" )
247- set (COMPILE_FLAGS_JERRY "${COMPILE_FLAGS_JERRY} -Wfatal-errors" )
243+ macro (append variable value )
244+ set (${variable} "${${variable} } ${value} " )
245+ endmacro ()
246+
247+ macro (add_jerry_compile_flags)
248+ foreach (_flag ${ARGV} )
249+ append (COMPILE_FLAGS_JERRY ${_flag} )
250+ endforeach ()
251+ endmacro ()
252+
253+ macro (add_jerry_compile_warnings)
254+ foreach (_warning ${ARGV} )
255+ add_jerry_compile_flags(-W${_warning} )
256+ if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
257+ add_jerry_compile_flags(-Werror=${_warning} )
258+ endif ()
259+ endforeach ()
260+ endmacro ()
261+
262+ add_jerry_compile_warnings(all extra)
263+ add_jerry_compile_flags(-pedantic)
264+ add_jerry_compile_warnings(format-nonliteral init-self)
265+ add_jerry_compile_flags(-Wno-stack-protector)
266+ add_jerry_compile_warnings(conversion sign-conversion format-security)
267+ add_jerry_compile_warnings(missing-declarations)
268+ add_jerry_compile_flags(-Wno-attributes)
269+ add_jerry_compile_flags(-Wfatal-errors)
248270 if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
249- set (COMPILE_FLAGS_JERRY "${COMPILE_FLAGS_JERRY} -Wlogical-op" )
250- set (COMPILE_FLAGS_JERRY "${COMPILE_FLAGS_JERRY} -Werror=logical-op" )
251- set (COMPILE_FLAGS_JERRY "${COMPILE_FLAGS_JERRY} -Werror=all -Werror=extra" )
252- set (COMPILE_FLAGS_JERRY "${COMPILE_FLAGS_JERRY} -Werror=format-nonliteral -Werror=init-self" )
253- set (COMPILE_FLAGS_JERRY "${COMPILE_FLAGS_JERRY} -Werror=conversion -Werror=sign-conversion -Werror=format-security" )
254- set (COMPILE_FLAGS_JERRY "${COMPILE_FLAGS_JERRY} -Werror=missing-declarations" )
271+ add_jerry_compile_warnings(logical-op)
255272 else ()
256- set (COMPILE_FLAGS_JERRY " ${COMPILE_FLAGS_JERRY} -Wno-nested-anon-types" )
273+ add_jerry_compile_flags( -Wno-nested-anon-types)
257274 endif ()
258275
259276 # Static build
0 commit comments