From 84d5b81fb33d923f08b006d263f3c3bdea4bf588 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Apitzsch?= Date: Fri, 20 May 2022 15:39:44 +0200 Subject: [PATCH] build: Fix and improve generated pkgconfig files Includes: - ignore '-l' option for absolute paths - remove duplicate include directories --- build-support/custom-modules/ns3-cmake-package.cmake | 9 +++++++-- build-support/macros-and-definitions.cmake | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/build-support/custom-modules/ns3-cmake-package.cmake b/build-support/custom-modules/ns3-cmake-package.cmake index b2ad7cd05..000891a4c 100644 --- a/build-support/custom-modules/ns3-cmake-package.cmake +++ b/build-support/custom-modules/ns3-cmake-package.cmake @@ -27,10 +27,15 @@ function(build_required_and_libs_lists module_name visibility libraries set(required_modules_list "${required_modules_list} ns3-${required_module_name}" ) + set(lib_real_name "-l${lib_real_name}") else() - set(lib_real_name ${lib}) + if(IS_ABSOLUTE ${lib}) + set(lib_real_name ${lib}) + else() + set(lib_real_name "-l${lib}") + endif() endif() - set(linked_libs_list "${linked_libs_list} -l${lib_real_name}") + set(linked_libs_list "${linked_libs_list} ${lib_real_name}") endforeach() set(pkgconfig_${visibility}_libs ${linked_libs_list} PARENT_SCOPE) set(pkgconfig_${visibility}_required ${required_modules_list} PARENT_SCOPE) diff --git a/build-support/macros-and-definitions.cmake b/build-support/macros-and-definitions.cmake index 04c790f12..304ccdde7 100644 --- a/build-support/macros-and-definitions.cmake +++ b/build-support/macros-and-definitions.cmake @@ -2086,6 +2086,7 @@ endfunction() function(get_target_includes target output) set(include_directories) get_target_property(include_dirs ${target} INCLUDE_DIRECTORIES) + list(REMOVE_DUPLICATES include_dirs) foreach(include_dir ${include_dirs}) if(include_dir MATCHES "<") # Skip CMake build and install interface includes