Skip to content

Commit af8ee7c

Browse files
committed
Add macros for more compact compile flag handling (warnings included)
JerryScript-DCO-1.0-Signed-off-by: Akos Kiss [email protected]
1 parent 8d54c92 commit af8ee7c

File tree

1 file changed

+29
-12
lines changed

1 file changed

+29
-12
lines changed

CMakeLists.txt

Lines changed: 29 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)