cmake: toolchain_cc_imacros: don't use space separated arguments

Because CMake explicitly deduplicates arguments, it is not possible
to use toolchain_cc_imacros() multiple times as the later "-imacros"
are stripped away, leaving the associated file arguments dangling.
The documented workaround in the CMake manual involves some "SHELL:..."
construct but that doesn't get through zephyr_compile_options()
undammaged.

Let's simply remove this issue altogether by replacing "-imacros x.h"
with the joined form "--imacros=x.h" instead. Both gcc and clang
support this syntax.

FYI, this joined form is also available for other arguments such as:

	-include x.h   -->   --include=x.h
	-A foo         -->   --assert=foo
	-D foo         -->   --define-macro=foo
	-U foo         -->   --undefine-macro=foo

Etc.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
diff --git a/cmake/compiler/gcc/target_imacros.cmake b/cmake/compiler/gcc/target_imacros.cmake
index 31eadf2..8040404 100644
--- a/cmake/compiler/gcc/target_imacros.cmake
+++ b/cmake/compiler/gcc/target_imacros.cmake
@@ -4,6 +4,6 @@
 
 macro(toolchain_cc_imacros header_file)
 
-  zephyr_compile_options(-imacros ${header_file})
+  zephyr_compile_options(--imacros=${header_file})
 
 endmacro()