From 2e76a47ebae0dd982fb15ff3017cd89ea782228a Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Thu, 26 Nov 2020 17:29:05 +0100 Subject: [PATCH] CMake: Do not discard empty QMAKE_LIBS_FOO entries Consider a qmake lib 'foo' that doesn't have entries in QMAKE_LIBS_FOO. Then we must not discard this entry in the generated module pri file, because otherwise any attempt to QMAKE_USE 'foo' will fail with the error message "Library 'foo' is not defined.". Task-number: QTBUG-88951 Change-Id: Ibed283857f5f66b1b79459fe7b7cf06c7ce0691d Reviewed-by: Alexandru Croitor (cherry picked from commit bd98ba0d17b7a7c14fefc1741e68e8ca945a6655) Reviewed-by: Qt Cherry-pick Bot --- cmake/QtGenerateLibPri.cmake | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/cmake/QtGenerateLibPri.cmake b/cmake/QtGenerateLibPri.cmake index d4e0d046821..45c09d4fbec 100644 --- a/cmake/QtGenerateLibPri.cmake +++ b/cmake/QtGenerateLibPri.cmake @@ -62,10 +62,8 @@ foreach(lib ${known_libs}) qt_transform_absolute_library_paths_to_link_flags(value_release "${value_release}") if(value_debug STREQUAL value_release) - if(value_debug) - qmake_list(value_debug ${value_debug}) - string(APPEND content "QMAKE_LIBS_${lib} = ${value_debug}\n") - endif() + qmake_list(value_debug ${value_debug}) + string(APPEND content "QMAKE_LIBS_${lib} = ${value_debug}\n") else() if(value_debug) qmake_list(value_debug ${value_debug}) @@ -88,11 +86,13 @@ foreach(lib ${known_libs}) set(value ${QMAKE_${infix}_${lib}_${cfg}}) if(infix STREQUAL "LIBS") qt_transform_absolute_library_paths_to_link_flags(value "${value}") + elseif("${value}" STREQUAL "") + # Do not write empty entries, but ensure to write at least + # the QMAKE_LIBS_FOO entry to make the lib 'foo' known. + continue() endif() - if(value) - qmake_list(value ${value}) - string(APPEND content "QMAKE_${infix}_${lib} = ${value}\n") - endif() + qmake_list(value ${value}) + string(APPEND content "QMAKE_${infix}_${lib} = ${value}\n") endforeach() endforeach() file(WRITE "${OUT_FILE}" "${content}")