Fix C/C++ Flags appending
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2995809..3e09005 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -261,9 +261,9 @@
# IREE compilation flags
#-------------------------------------------------------------------------------
-string(JOIN " " CMAKE_CXX_FLAGS ${IREE_DEFAULT_COPTS})
-string(JOIN " " CMAKE_C_FLAGS_DEBUG ${IREE_C_FLAGS_DEBUG_LIST})
-string(JOIN " " CMAKE_CXX_FLAGS_DEBUG ${IREE_CXX_FLAGS_DEBUG_LIST})
+iree_append_list_to_string(CMAKE_CXX_FLAGS ${IREE_DEFAULT_COPTS})
+iree_append_list_to_string(CMAKE_C_FLAGS_DEBUG ${IREE_C_FLAGS_DEBUG_LIST})
+iree_append_list_to_string(CMAKE_CXX_FLAGS_DEBUG ${IREE_CXX_FLAGS_DEBUG_LIST})
set(CMAKE_CXX_FLAGS_FASTBUILD "-gmlt" CACHE STRING "Flags used by the C++ compiler during fast builds." FORCE)
set(CMAKE_C_FLAGS_FASTBUILD "-gmlt" CACHE STRING "Flags used by the C compiler during fast builds." FORCE)
diff --git a/build_tools/cmake/iree_macros.cmake b/build_tools/cmake/iree_macros.cmake
index b1e70d4..04466b5 100644
--- a/build_tools/cmake/iree_macros.cmake
+++ b/build_tools/cmake/iree_macros.cmake
@@ -42,6 +42,17 @@
endif()
endfunction()
+# iree_append_list_to_string
+#
+# Joins ${ARGN} together as a string separated by " " and appends it to
+# ${VARIABLE}.
+function(iree_append_list_to_string VARIABLE)
+ if(NOT "${ARGN}" STREQUAL "")
+ string(JOIN " " _ARGN_STR ${ARGN})
+ set(${VARIABLE} "${${VARIABLE}} ${_ARGN_STR}" PARENT_SCOPE)
+ endif()
+endfunction()
+
#-------------------------------------------------------------------------------
# Packages and Paths