4f2a571f09
a header-only library in a default location would produce no variables at all, making it appear undefined. fix this by forcing the writeout of the QMAKE_LIBS_* variable, and use its definedness (rather than non-emptiness) as a signifier. this works for both QMAKE_USE and configure tests'/libraries' 'use' entries. Change-Id: Id7a1e23725caba1a91ea4db448b4aeb7fe632393 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
61 lines
1.9 KiB
Plaintext
61 lines
1.9 KiB
Plaintext
#
|
|
# W A R N I N G
|
|
# -------------
|
|
#
|
|
# This file is not part of the Qt API. It exists purely as an
|
|
# implementation detail. It may change from version to version
|
|
# without notice, or even be removed.
|
|
#
|
|
# We mean it.
|
|
#
|
|
|
|
load(qt_build_paths)
|
|
|
|
TEMPLATE = lib
|
|
CONFIG -= qt
|
|
QT = # In case qt is re-added.
|
|
|
|
INCLUDEPATH += $$MODULE_INCLUDEPATH
|
|
DEFINES += $$MODULE_DEFINES
|
|
|
|
CONFIG -= warning_clean # Don't presume 3rd party code to be clean
|
|
load(qt_common)
|
|
|
|
qtConfig(debug_and_release): CONFIG += debug_and_release
|
|
qtConfig(build_all): CONFIG += build_all
|
|
|
|
DESTDIR = $$MODULE_BASE_OUTDIR/lib
|
|
DLLDESTDIR = $$MODULE_BASE_OUTDIR/bin
|
|
|
|
THE_TARGET = $$qt5LibraryTarget($$TARGET)
|
|
|
|
!build_pass {
|
|
MODULE = $$replace(TARGET, ^qt, )
|
|
MODULE_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules/qt_ext_$${MODULE}.pri
|
|
ucmodule = $$upper($$MODULE)
|
|
|
|
MODULE_PRI_CONT = \
|
|
"QMAKE_INCDIR_$${ucmodule} = $$val_escape(MODULE_INCLUDEPATH)" \
|
|
"QMAKE_DEFINES_$${ucmodule} = $$val_escape(MODULE_DEFINES)"
|
|
debug_and_release {
|
|
win32: MODULE_DEBUG_LIBS = -L$$DESTDIR -l$${TARGET}d
|
|
darwin: MODULE_DEBUG_LIBS = -L$$DESTDIR -l$${TARGET}_debug
|
|
MODULE_RELEASE_LIBS = -L$$DESTDIR -l$$TARGET
|
|
MODULE_PRI_CONT += \
|
|
"QMAKE_LIBS_$${ucmodule} =" \ # Needed for the module to be recognized.
|
|
"QMAKE_LIBS_$${ucmodule}_DEBUG = $$val_escape(MODULE_DEBUG_LIBS)" \
|
|
"QMAKE_LIBS_$${ucmodule}_RELEASE = $$val_escape(MODULE_RELEASE_LIBS)"
|
|
} else {
|
|
MODULE_LIBS = -L$$DESTDIR -l$$THE_TARGET
|
|
MODULE_PRI_CONT += \
|
|
"QMAKE_LIBS_$${ucmodule} = $$val_escape(MODULE_LIBS)"
|
|
}
|
|
write_file($$MODULE_PRI, MODULE_PRI_CONT)|error()
|
|
}
|
|
|
|
TARGET = $$THE_TARGET
|
|
|
|
# In static builds of Qt, convenience libraries must be installed,
|
|
# as in this case they are not linked to the final library/plugin.
|
|
installed|if(!not_installed:qtConfig(static)): load(qt_installs)
|