unittest: Support EXTRA_*_FLAGS

Signed-off-by: Sebastian Boe <sebastian.boe@nordicsemi.no>
diff --git a/tests/unit/unittest.cmake b/tests/unit/unittest.cmake
index 8326131..52c89fe 100644
--- a/tests/unit/unittest.cmake
+++ b/tests/unit/unittest.cmake
@@ -2,10 +2,18 @@
 cmake_policy(SET CMP0000 OLD)
 cmake_policy(SET CMP0002 NEW)
 
+enable_language(C CXX ASM)
+
 # Parameters:
 #   SOURCES: list of source files, default main.c
 #   INCLUDE: list of additional include paths relative to ZEPHYR_BASE
 
+separate_arguments(  EXTRA_CFLAGS_AS_LIST UNIX_COMMAND ${EXTRA_CFLAGS})
+separate_arguments(  EXTRA_AFLAGS_AS_LIST UNIX_COMMAND ${EXTRA_AFLAGS})
+separate_arguments(EXTRA_CPPFLAGS_AS_LIST UNIX_COMMAND ${EXTRA_CPPFLAGS})
+separate_arguments(EXTRA_CXXFLAGS_AS_LIST UNIX_COMMAND ${EXTRA_CXXFLAGS})
+separate_arguments(EXTRA_LD_FLAGS_AS_LIST UNIX_COMMAND ${EXTRA_LD_FLAGS})
+
 if(NOT SOURCES)
   set(SOURCES main.c)
 endif()
@@ -19,7 +27,17 @@
 
 add_executable(testbinary ${SOURCES})
 
-target_compile_options(testbinary PRIVATE -Wall)
+target_compile_options(testbinary PRIVATE
+  -Wall
+  ${EXTRA_CPPFLAGS_AS_LIST}
+  ${EXTRA_CFLAGS_AS_LIST}
+  $<$<COMPILE_LANGUAGE:CXX>:${EXTRA_CXXFLAGS_AS_LIST}>
+  $<$<COMPILE_LANGUAGE:ASM>:${EXTRA_AFLAGS_AS_LIST}>
+  )
+
+target_link_libraries(testbinary PRIVATE
+  ${EXTRA_LDFLAGS_AS_LIST}
+  )
 
 if(COVERAGE)
   target_compile_options(testbinary PRIVATE