From 9814d584150a6a596afade83a154e16aa35d75e2 Mon Sep 17 00:00:00 2001 From: Maarten Bent Date: Tue, 4 May 2021 21:30:29 +0200 Subject: [PATCH] CMake: Improve adding external libraries to wx-config Don't add -l to libraries already containing it (for example -lpthread). Change libraries with format libName.so or libName.a to -lName, configure also uses -l for these libraries. Account for possible invalid libraries (Name-NOTFOUND) which could happen with imported libraries, for example OpenGL::OpenGL. Closes https://github.com/wxWidgets/wxWidgets/pull/2359 --- build/cmake/config.cmake | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/build/cmake/config.cmake b/build/cmake/config.cmake index d5ec8cf4fb..c2aa026ef0 100644 --- a/build/cmake/config.cmake +++ b/build/cmake/config.cmake @@ -42,7 +42,13 @@ macro(wx_get_dependencies var lib) else() get_filename_component(dep_name ${dep} NAME) endif() - wx_string_append(${var} "-l${dep_name} ") + if(dep_name MATCHES "^-l(.*)" OR dep_name STREQUAL "libc.so") + wx_string_append(${var} "${dep_name} ") + elseif(dep_name MATCHES "^lib(.*)(.so|.a)") + wx_string_append(${var} "-l${CMAKE_MATCH_1} ") + elseif(dep_name) + wx_string_append(${var} "-l${dep_name} ") + endif() endforeach() string(STRIP ${${var}} ${var}) endif()