summaryrefslogtreecommitdiffstats
path: root/cmake/QtGenerateLibPri.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/QtGenerateLibPri.cmake')
-rw-r--r--cmake/QtGenerateLibPri.cmake22
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}")