Build: Add DWARF version

Add BUILD_DWARF_VERSION to indicate which DWARF version to use. Set it
to a special value when building, such as: "-DBUILD_DWARF_VERSION=2".

Change-Id: I20370cac9588dba7636d2ec404f7c674ef6bdd16
Signed-off-by: Edison Ai <edison.ai@arm.com>
diff --git a/cmake/Compiler/ARMClang.cmake b/cmake/Compiler/ARMClang.cmake
index a5ed2f3..a65add9 100644
--- a/cmake/Compiler/ARMClang.cmake
+++ b/cmake/Compiler/ARMClang.cmake
@@ -24,14 +24,20 @@
 set(CMAKE_AR "${CMAKE_ARMCCLANG_AR}" CACHE FILEPATH "The ARMCC archiver" FORCE)
 mark_as_advanced(CMAKE_ARMCCLANG_AR)
 
+if(NOT DEFINED BUILD_DWARF_VERSION)
+	set(BUILD_DWARF_VERSION "")
+else()
+	string(CONCAT BUILD_DWARF_VERSION "dwarf-" ${BUILD_DWARF_VERSION})
+endif()
+
 macro(__compiler_armclang lang)
   if(NOT CMAKE_${lang}_FLAGS_SET)
     set(CMAKE_${lang}_FLAGS_SET TRUE)
     string(APPEND CMAKE_${lang}_FLAGS_INIT " ")
-    string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -g -O0")
+    string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -g${BUILD_DWARF_VERSION} -O0")
     string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -Oz -DNDEBUG")
     string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -O3 -DNDEBUG")
-    string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -O3 -g -DNDEBUG")
+    string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -O3 -g${BUILD_DWARF_VERSION} -DNDEBUG")
 
     set(CMAKE_${lang}_OUTPUT_EXTENSION ".o")
     set(CMAKE_${lang}_OUTPUT_EXTENSION_REPLACE 1)