diff options
Diffstat (limited to 'cmake/QtGenerateLibPri.cmake')
-rw-r--r-- | cmake/QtGenerateLibPri.cmake | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/cmake/QtGenerateLibPri.cmake b/cmake/QtGenerateLibPri.cmake index d4e0d04682..bde42b7723 100644 --- a/cmake/QtGenerateLibPri.cmake +++ b/cmake/QtGenerateLibPri.cmake @@ -1,3 +1,6 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + # Generate a qt_lib_XXX.pri file. # # This file is to be used in CMake script mode with the following variables set: @@ -7,6 +10,7 @@ # LIBRARY_SUFFIXES: list of known library extensions, e.g. .so;.a on Linux # LIBRARY_PREFIXES: list of known library prefies, e.g. the "lib" in "libz" on on Linux # LINK_LIBRARY_FLAG: flag used to link a shared library to an executable, e.g. -l on UNIX +# IMPLICIT_LINK_DIRECTORIES: list of implicit linker search paths # # QMAKE_LIBS_XXX values are split into QMAKE_LIBS_XXX_DEBUG and QMAKE_LIBS_XXX_RELEASE if # debug_and_release was detected. The CMake configuration "Debug" is considered for the _DEBUG @@ -15,6 +19,7 @@ # The library values are transformed from an absolute path into link flags # aka from "/usr/lib/x86_64-linux-gnu/libcups.so" to "-lcups". +cmake_policy(SET CMP0007 NEW) cmake_policy(SET CMP0057 NEW) # Create a qmake-style list from the passed arguments and store it in ${out_var}. @@ -62,11 +67,10 @@ 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() + string(APPEND content "QMAKE_LIBS_${lib} =\n") if(value_debug) qmake_list(value_debug ${value_debug}) string(APPEND content "QMAKE_LIBS_${lib}_DEBUG = ${value_debug}\n") @@ -88,11 +92,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}") |