summaryrefslogtreecommitdiffstats
path: root/cmake/cmake.d/02-macros.cmake
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-07-10 14:09:36 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2018-10-15 18:22:47 +0200
commit6a0e0eb8a1c6f709b02cd3a6eb4b2746806fcd90 (patch)
tree538e033b69f1d72c62654c7bad27db9219d7694f /cmake/cmake.d/02-macros.cmake
parent528de60ffff688102f689dfb100ea390258fcd70 (diff)
Fix: shared library files not found by gdb
Old behavior assume a PATH that do not exists using XDS-server this patch intends to make a list of bindings using a regex, as GDB interprets the argument. Change-Id: I67caa1853be67813e8de02cdbb34f107f1e1676c Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'cmake/cmake.d/02-macros.cmake')
-rw-r--r--cmake/cmake.d/02-macros.cmake14
1 files changed, 14 insertions, 0 deletions
diff --git a/cmake/cmake.d/02-macros.cmake b/cmake/cmake.d/02-macros.cmake
index 08a56f0..9da4464 100644
--- a/cmake/cmake.d/02-macros.cmake
+++ b/cmake/cmake.d/02-macros.cmake
@@ -79,6 +79,7 @@ macro(project_targets_populate)
endif()
if(${T} STREQUAL "BINDING")
+ list(APPEND BINDINGS_LIST "${P}${OUT}")
add_custom_command(OUTPUT ${PACKAGE_LIBDIR}/${P}${OUT}.so
COMMAND mkdir -p ${PACKAGE_LIBDIR}
COMMAND cp ${BD}/${P}${OUT}.so ${PACKAGE_LIBDIR}
@@ -135,6 +136,19 @@ macro(remote_targets_populate)
COMMAND exit -1
)
else()
+ set(BINDINGS_REGEX "not_set")
+ if(DEFINED BINDINGS_LIST)
+ list(LENGTH BINDINGS_LIST BINDINGS_LIST_LENGTH)
+ if(BINDINGS_LIST_LENGTH EQUAL 1)
+ list(GET BINDINGS_LIST 0 BINDINGS_REGEX)
+ string(APPEND BINDINGS_REGEX ".so")
+ elseif(BINDINGS_LIST_LENGTH GREATER 1)
+ foreach(B IN LISTS BINDINGS_LIST)
+ STRING(APPEND BINDINGS_STR "${B}|")
+ endforeach()
+ STRING(REGEX REPLACE "^(.*)\\|$" "(\\1).so" BINDINGS_REGEX ${BINDINGS_STR})
+ endif()
+ endif()
configure_files_in_dir(${SSH_TEMPLATE_DIR})
configure_files_in_dir(${GDB_TEMPLATE_DIR})