Build: Fix linker include in cmake
This commit fixes the implemented embedded_set_target_link_includes
and the linker flag setting by armclang and gnuarm.
Change-Id: I00d520e61200ed204c55425c61cc9c61cc6b1194
Signed-off-by: Gabor Kertesz <gabor.kertesz@arm.com>
diff --git a/cmake/Common/BuildSys.cmake b/cmake/Common/BuildSys.cmake
index 81c204d..cf4d3ab 100644
--- a/cmake/Common/BuildSys.cmake
+++ b/cmake/Common/BuildSys.cmake
@@ -666,19 +666,19 @@
#
function(embedded_set_target_link_includes)
set( _OPTIONS_ARGS ) #Option (on/off) arguments (e.g. IGNORE_CASE)
- set( _ONE_VALUE_ARGS TARGET INCLUDES) #Single option arguments (e.g. PATH "./foo/bar")
- set( _MULTI_VALUE_ARGS ) #List arguments (e.g. LANGUAGES C ASM CXX)
+ set( _ONE_VALUE_ARGS TARGET) #Single option arguments (e.g. PATH "./foo/bar")
+ set( _MULTI_VALUE_ARGS INCLUDES) #List arguments (e.g. LANGUAGES C ASM CXX)
cmake_parse_arguments(_MY_PARAMS "${_OPTIONS_ARGS}" "${_ONE_VALUE_ARGS}" "${_MULTI_VALUE_ARGS}" ${ARGN} )
if (NOT DEFINED _MY_PARAMS_TARGET)
message(FATAL_ERROR "embedded_set_target_link_includes(): mandatory parameter 'TARGET' missing.")
endif()
- if (NOT DEFINED _MY_PARAMS_DEFINES)
- message(FATAL_ERROR "embedded_set_target_link_includes(): mandatory parameter 'DEFINES' missing.")
+ if (NOT DEFINED _MY_PARAMS_INCLUDES)
+ message(FATAL_ERROR "embedded_set_target_link_includes(): mandatory parameter 'INCLUDES' missing.")
endif()
- set_property(GLOBAL APPEND PROPERTY EMBEDDED_LINKER_INCLUDES_${_MY_PARAMS_TARGET} ${_MY_PARAMS_DEFINES})
+ set_property(GLOBAL APPEND PROPERTY EMBEDDED_LINKER_INCLUDES_${_MY_PARAMS_TARGET} ${_MY_PARAMS_INCLUDES})
endfunction()
diff --git a/cmake/Common/CompilerArmClangCommon.cmake b/cmake/Common/CompilerArmClangCommon.cmake
index 87565f3..935c879 100644
--- a/cmake/Common/CompilerArmClangCommon.cmake
+++ b/cmake/Common/CompilerArmClangCommon.cmake
@@ -90,7 +90,7 @@
#Compose additional command line switches from include paths.
if (_MY_PARAMS_INCLUDES)
foreach(_INCLUDE_P IN LISTS _MY_PARAMS_INCLUDES)
- string(APPEND _FLAGS " -I ${_INCLUDE_P}")
+ string(APPEND _FLAGS " --predefine=\"-I${_INCLUDE_P}\"")
endforeach()
endif()
diff --git a/cmake/Common/CompilerGNUARMCommon.cmake b/cmake/Common/CompilerGNUARMCommon.cmake
index c4be8ba..b3662f9 100644
--- a/cmake/Common/CompilerGNUARMCommon.cmake
+++ b/cmake/Common/CompilerGNUARMCommon.cmake
@@ -79,13 +79,13 @@
set(_FLAGS "")
if (_MY_PARAMS_DEFINES)
foreach(_DEFINE IN LISTS _MY_PARAMS_DEFINES)
- list(APPEND _FLAGS "-D ${_DEFINE}")
+ list(APPEND _FLAGS "-D${_DEFINE}")
endforeach()
endif()
#Compose additional command line switches from include paths.
if (_MY_PARAMS_INCLUDES)
foreach(_INCLUDE_P IN LISTS _MY_PARAMS_INCLUDES)
- list(APPEND _FLAGS "-I ${_INCLUDE_P}")
+ list(APPEND _FLAGS "-I${_INCLUDE_P}")
endforeach()
endif()