diff --git a/tools/cmake/mbed_toolchain.cmake b/tools/cmake/mbed_toolchain.cmake index 139828921b..0ec168a088 100644 --- a/tools/cmake/mbed_toolchain.cmake +++ b/tools/cmake/mbed_toolchain.cmake @@ -7,17 +7,9 @@ function(mbed_generate_options_for_linker target output_response_file_path) "$" ) - # Remove macro definitions that contain spaces as the lack of escape sequences and quotation marks - # in the macro when retrieved using generator expressions causes linker errors. - # This includes string macros, array macros, and macros with operations. - # TODO CMake: Add escape sequences and quotation marks where necessary instead of removing these macros. + # Append -D to all macros and quote them as we pass these as response file to cxx compiler set(_compile_definitions - "$" - ) - - # Append -D to all macros as we pass these as response file to cxx compiler - set(_compile_definitions - "$<$:-D$>" + "$<$:'-D$'>" ) file(GENERATE OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/compile_time_defs.txt" CONTENT "${_compile_definitions}\n") set(${output_response_file_path} @${CMAKE_CURRENT_BINARY_DIR}/compile_time_defs.txt PARENT_SCOPE)