reworked the single header generation - now using a separate script - this way I can do anything with cmake functions instead on relying on system commands like cat and echo
diff --git a/scripts/common.cmake b/scripts/common.cmake
index 36b4c54..49ea8f4 100644
--- a/scripts/common.cmake
+++ b/scripts/common.cmake
@@ -159,15 +159,7 @@
     DEPENDS
         ${doctest_parts_folder}doctest_fwd.h
         ${doctest_parts_folder}doctest_impl.h
-    COMMAND echo // ======================================================================  > ${doctest_include_folder}doctest.h
-    COMMAND echo // == DO NOT MODIFY THIS FILE BY HAND - IT IS AUTO GENERATED BY CMAKE! == >> ${doctest_include_folder}doctest.h
-    COMMAND echo // ====================================================================== >> ${doctest_include_folder}doctest.h
-    COMMAND
-        ${cat_cmd}
-        ${doctest_parts_folder}doctest_fwd.h
-        ${doctest_parts_folder}doctest_impl.h
-        >>
-        ${doctest_include_folder}doctest.h
+    COMMAND ${CMAKE_COMMAND} -P ${CURRENT_LIST_DIR_CACHED}/asemble_single_header.cmake
     COMMENT "assembling the single header")
 
 add_custom_target(assemble_single_header ALL DEPENDS ${doctest_include_folder}doctest.h)