2012-12-11 21:08:15 +00:00
|
|
|
#
|
|
|
|
# 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.
|
|
|
|
#
|
|
|
|
|
2012-08-07 17:00:38 +00:00
|
|
|
isEmpty(MODULE):MODULE = $$section($$list($$basename(_PRO_FILE_)), ., 0, 0)
|
2013-02-26 10:25:52 +00:00
|
|
|
isEmpty(VERSION): VERSION = $$MODULE_VERSION
|
|
|
|
isEmpty(VERSION): error("Module does not define version.")
|
2012-08-07 17:00:38 +00:00
|
|
|
|
2018-05-02 16:07:05 +00:00
|
|
|
isEmpty(MODULE_CFG_FILE): MODULE_CFG_FILE = qt$${MODULE}-config
|
|
|
|
exists($$OUT_PWD/$${MODULE_CFG_FILE}.pri) {
|
|
|
|
include($$OUT_PWD/$${MODULE_CFG_FILE}.pri)
|
2016-10-11 09:26:49 +00:00
|
|
|
CONFIG += generated_privates
|
|
|
|
}
|
|
|
|
|
2016-11-11 08:09:12 +00:00
|
|
|
skip = $$eval(QT.$${MODULE}.skip)
|
|
|
|
isEmpty(skip): skip = false
|
|
|
|
requires(!$$skip)
|
|
|
|
|
2012-08-07 17:00:38 +00:00
|
|
|
# Compile as shared/DLL or static according to the option given to configure
|
2012-10-29 16:25:30 +00:00
|
|
|
# unless overridden. Host builds are always static
|
|
|
|
host_build|staticlib: CONFIG += static
|
2012-08-07 17:00:38 +00:00
|
|
|
|
2013-03-08 20:45:43 +00:00
|
|
|
host_build {
|
|
|
|
QT -= gui # no host module will ever use gui
|
|
|
|
force_bootstrap {
|
2016-08-05 11:35:39 +00:00
|
|
|
!build_pass:qtConfig(release_tools): CONFIG += release
|
2013-03-08 20:45:43 +00:00
|
|
|
contains(QT, core(-private)?|xml) {
|
|
|
|
QT -= core core-private xml
|
|
|
|
QT += bootstrap-private
|
|
|
|
}
|
2013-03-25 14:57:01 +00:00
|
|
|
} else {
|
2016-08-05 11:35:39 +00:00
|
|
|
!build_pass:qtConfig(debug_and_release): CONFIG += release
|
2013-03-08 20:45:43 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-12-23 18:35:45 +00:00
|
|
|
qtConfig(framework) {
|
|
|
|
minimal_syncqt: \
|
|
|
|
CONFIG += module_frameworks
|
|
|
|
else: CONFIG(shared, static|shared): \
|
|
|
|
CONFIG += module_frameworks lib_bundle
|
|
|
|
}
|
2015-11-11 16:59:18 +00:00
|
|
|
|
2015-06-05 15:45:47 +00:00
|
|
|
CONFIG += relative_qt_rpath # Qt libraries should be relocatable
|
|
|
|
|
2017-01-27 19:34:17 +00:00
|
|
|
# Qt libraries should only use Application Extension safe APIs
|
|
|
|
darwin:!no_app_extension_api_only: CONFIG += app_extension_api_only
|
|
|
|
|
2012-08-07 17:00:38 +00:00
|
|
|
ucmodule = $$upper($$MODULE)
|
|
|
|
|
2012-11-29 21:22:42 +00:00
|
|
|
isEmpty(MODULE_INCNAME): MODULE_INCNAME = $$TARGET
|
|
|
|
|
2013-10-21 19:05:35 +00:00
|
|
|
internal_module: \
|
|
|
|
MODULE_DEPENDS = $$replace(QT, -private$, _private)
|
|
|
|
else: \
|
|
|
|
MODULE_DEPENDS = $$replace(QT, -private$, )
|
2012-09-03 10:19:39 +00:00
|
|
|
MODULE_DEPENDS = $$unique(MODULE_DEPENDS)
|
2015-11-10 19:39:25 +00:00
|
|
|
contains(MODULE_DEPENDS, $$MODULE): \
|
|
|
|
error("$$TARGET depends on itself.")
|
2012-08-07 17:00:38 +00:00
|
|
|
|
2012-08-30 11:46:14 +00:00
|
|
|
contains(TARGET, QtAddOn.*): \
|
|
|
|
MODULE_DEFINE = QT_ADDON_$${ucmodule}_LIB
|
|
|
|
else: \
|
|
|
|
MODULE_DEFINE = QT_$${ucmodule}_LIB
|
|
|
|
MODULE_DEFINES = $$MODULE_DEFINE $$MODULE_DEFINES
|
|
|
|
|
2017-01-14 12:30:04 +00:00
|
|
|
# Make sure that the supporting runtime is linked into the application when
|
|
|
|
# the module is built with exceptions enabled.
|
|
|
|
integrity:CONFIG(exceptions, exceptions|exceptions_off): \
|
|
|
|
MODULE_CONFIG += exceptions
|
|
|
|
|
2015-04-15 10:35:41 +00:00
|
|
|
load(qt_build_paths)
|
2012-08-07 17:00:38 +00:00
|
|
|
|
2015-05-05 16:16:00 +00:00
|
|
|
header_module {
|
2015-04-15 10:35:41 +00:00
|
|
|
TEMPLATE = aux
|
2017-01-31 10:19:16 +00:00
|
|
|
CONFIG += force_qt # Needed for the headers_clean tests.
|
|
|
|
!lib_bundle: \
|
|
|
|
CONFIG += qt_no_install_library
|
2019-06-03 12:59:16 +00:00
|
|
|
|
|
|
|
# Allow creation of .prl, .la and .pc files.
|
|
|
|
target.path = $$[QT_INSTALL_LIBS]
|
|
|
|
target.CONFIG += dummy_install
|
|
|
|
INSTALLS += target
|
2015-04-15 10:35:41 +00:00
|
|
|
} else {
|
|
|
|
TEMPLATE = lib
|
|
|
|
}
|
2015-04-15 11:59:39 +00:00
|
|
|
DESTDIR = $$MODULE_BASE_OUTDIR/lib
|
2016-09-27 15:31:11 +00:00
|
|
|
DLLDESTDIR = $$MODULE_BASE_OUTDIR/bin
|
2012-08-07 17:00:38 +00:00
|
|
|
|
|
|
|
CONFIG += qmake_cache target_qt
|
|
|
|
|
2012-11-30 20:07:47 +00:00
|
|
|
QMAKE_DOCS_TARGETDIR = qt$${MODULE}
|
2012-10-08 15:19:14 +00:00
|
|
|
|
2012-12-22 21:12:02 +00:00
|
|
|
load(qt_common)
|
|
|
|
!no_module_headers: load(qt_module_headers)
|
2015-11-18 16:19:46 +00:00
|
|
|
load(qt_module_pris)
|
|
|
|
|
2012-12-22 21:12:02 +00:00
|
|
|
INCLUDEPATH *= $$eval(QT.$${MODULE}.includes) $$eval(QT.$${MODULE}_private.includes)
|
|
|
|
|
2012-08-07 17:00:38 +00:00
|
|
|
# If Qt was configured with -debug-and-release then build the module the same way
|
2012-10-29 16:25:30 +00:00
|
|
|
# - unless this is a host library
|
|
|
|
!host_build:if(win32|mac):!macx-xcode {
|
2016-08-05 11:35:39 +00:00
|
|
|
qtConfig(debug_and_release): CONFIG += debug_and_release
|
|
|
|
qtConfig(build_all): CONFIG += build_all
|
2012-08-07 17:00:38 +00:00
|
|
|
}
|
|
|
|
|
2015-12-02 12:36:41 +00:00
|
|
|
QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
|
2012-08-07 17:00:38 +00:00
|
|
|
|
2016-10-11 18:57:12 +00:00
|
|
|
QT_PRIVATE += $$QT_FOR_PRIVATE
|
2012-08-07 17:00:38 +00:00
|
|
|
unset(QT_FOR_PRIVATE)
|
2016-10-12 09:30:58 +00:00
|
|
|
QMAKE_USE_PRIVATE += $$QMAKE_USE_FOR_PRIVATE
|
|
|
|
unset(QMAKE_USE_FOR_PRIVATE)
|
2012-08-07 17:00:38 +00:00
|
|
|
|
2012-08-27 17:56:04 +00:00
|
|
|
!internal_module:CONFIG += create_cmake
|
2012-08-07 17:00:38 +00:00
|
|
|
|
|
|
|
contains(TARGET, QtAddOn.*): \
|
|
|
|
DEFINES += QT_BUILD_ADDON_$${ucmodule}_LIB
|
|
|
|
else: \
|
|
|
|
DEFINES += QT_BUILD_$${ucmodule}_LIB
|
|
|
|
|
2013-07-09 14:07:07 +00:00
|
|
|
# OS X and iOS frameworks
|
2015-11-19 15:50:16 +00:00
|
|
|
lib_bundle {
|
2014-11-13 13:20:32 +00:00
|
|
|
# Set the CFBundleIdentifier prefix for Qt frameworks
|
|
|
|
QMAKE_TARGET_BUNDLE_PREFIX = org.qt-project
|
2012-08-07 17:00:38 +00:00
|
|
|
#QMAKE_FRAMEWORK_VERSION = 4.0
|
2015-11-11 16:59:18 +00:00
|
|
|
CONFIG += sliced_bundle
|
2015-05-05 16:16:00 +00:00
|
|
|
header_module {
|
2015-04-27 16:20:04 +00:00
|
|
|
CONFIG += bundle
|
2016-02-23 16:46:10 +00:00
|
|
|
QMAKE_BUNDLE_NAME = $$TARGET
|
2015-04-27 16:20:04 +00:00
|
|
|
QMAKE_BUNDLE_EXTENSION = .framework
|
|
|
|
QMAKE_INFO_PLIST = $$QMAKESPEC/Info.plist.lib
|
|
|
|
}
|
2016-02-23 16:43:33 +00:00
|
|
|
!build_all| \
|
Remove simulator_and_device handling for the Makefile generator
This patch moves towards a more sensible layout for UIKit platforms,
where both the device and simulator architectures for binaries are
combined into a single Mach-O file instead of separating out the
simulator architecutures into separate _simulator.a files.
This approach is both more common in the iOS ecosystem at large and
significantly simplifies the implementation details for Qt, especially
with the upcoming support for shared libraries on UIKit platforms.
This patch takes advantage of the -Xarch compiler option to pass the
appropriate -isysroot, -syslibroot, and -m*-version-min compiler and
linker flags to the clang frontend, operating in exactly the same way
as a normal multi-arch build for device or simulator did previously.
Exclusive builds are still enabled for the xcodebuild wrapper Makefile,
which builds all four configurations of a UIKit Xcode project as before,
as expected.
A particularly advantageous benefit of this change is that it flows very
well with existing Xcode workflows, namely that:
- Slicing out unused architectures is handled completely automatically
for static builds, as an executable linking to a library with more
architectures than it itself is linked as, the unused architectures
will be ignored silently, resulting in the same behavior for users
(and the App Store won't let you submit Intel architectures either).
- Removing architectures from a fat binary using lipo does NOT
invalidate the code signature of that file or its container if it is a
bundle. This allows shared library and framework builds of Qt to work
mostly automatically as well, since an Xcode shell script build phase
can remove unused architectures from the embedded frameworks when that
is implemented, and if Qt ever starts signing its SDK releases, it
won't interfere with that either (though binaries are just resigned).
Change-Id: I6c3578c78f75845a2fcc85f3a5b728ec997dbe90
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-25 13:07:54 +00:00
|
|
|
if(if(!debug_and_release|CONFIG(release, debug|release))) {
|
2013-06-18 12:36:10 +00:00
|
|
|
FRAMEWORK_HEADERS.version = Versions
|
2017-11-16 15:59:00 +00:00
|
|
|
FRAMEWORK_HEADERS.files = \
|
2018-03-20 20:21:38 +00:00
|
|
|
$$SYNCQT.HEADER_FILES $$SYNCQT.GENERATED_HEADER_FILES $$SYNCQT.INJECTED_HEADER_FILES
|
2013-06-18 12:36:10 +00:00
|
|
|
FRAMEWORK_HEADERS.path = Headers
|
2014-09-29 11:22:05 +00:00
|
|
|
FRAMEWORK_PRIVATE_HEADERS.version = Versions
|
2017-11-16 15:59:00 +00:00
|
|
|
FRAMEWORK_PRIVATE_HEADERS.files = \
|
|
|
|
$$SYNCQT.PRIVATE_HEADER_FILES $$SYNCQT.INJECTED_PRIVATE_HEADER_FILES
|
2013-06-28 08:48:31 +00:00
|
|
|
FRAMEWORK_PRIVATE_HEADERS.path = Headers/$$VERSION/$$MODULE_INCNAME/private
|
2014-09-29 11:22:05 +00:00
|
|
|
FRAMEWORK_QPA_HEADERS.version = Versions
|
2013-06-28 09:07:44 +00:00
|
|
|
FRAMEWORK_QPA_HEADERS.files = $$SYNCQT.QPA_HEADER_FILES
|
|
|
|
FRAMEWORK_QPA_HEADERS.path = Headers/$$VERSION/$$MODULE_INCNAME/qpa
|
|
|
|
QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS FRAMEWORK_PRIVATE_HEADERS FRAMEWORK_QPA_HEADERS
|
2012-08-07 17:00:38 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
mac {
|
|
|
|
macx-g++ {
|
|
|
|
QMAKE_CFLAGS += -fconstant-cfstrings
|
|
|
|
QMAKE_CXXFLAGS += -fconstant-cfstrings
|
|
|
|
}
|
2014-08-07 11:04:48 +00:00
|
|
|
|
2016-08-05 11:35:39 +00:00
|
|
|
qtConfig(rpath): \
|
2014-08-07 11:04:48 +00:00
|
|
|
QMAKE_SONAME_PREFIX = @rpath
|
2015-10-19 21:52:10 +00:00
|
|
|
else: \
|
|
|
|
CONFIG += absolute_library_soname
|
2012-08-07 17:00:38 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
DEFINES += QT_BUILDING_QT
|
|
|
|
win32 {
|
|
|
|
INCLUDEPATH += tmp
|
2012-10-16 02:45:16 +00:00
|
|
|
CONFIG += skip_target_version_ext
|
2013-12-29 16:14:20 +00:00
|
|
|
# If the code is really "unsafe" then it is unsafe on
|
|
|
|
# other platforms as well; so fixing these warnings just
|
|
|
|
# for MSVC builds, would clutter the code and wouldn't help
|
|
|
|
# in fixing issues that might exist on other platforms.
|
|
|
|
# Using the same functions across all supported platforms
|
|
|
|
# keeps the code clean and helps in writing code that is
|
|
|
|
# safe across all platforms.
|
|
|
|
DEFINES *= _CRT_SECURE_NO_WARNINGS
|
2014-04-14 15:51:41 +00:00
|
|
|
|
|
|
|
DEFINES += _USE_MATH_DEFINES
|
2012-08-07 17:00:38 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
aix-g++* {
|
|
|
|
QMAKE_CFLAGS += -mminimal-toc
|
|
|
|
QMAKE_CXXFLAGS += -mminimal-toc
|
|
|
|
}
|
|
|
|
|
2016-08-05 11:35:39 +00:00
|
|
|
sse2:!contains(QT_CPU_FEATURES.$$QT_ARCH, sse2):!host_build:!if(static:qtConfig(shared)) {
|
2013-12-09 04:28:21 +00:00
|
|
|
# If the compiler supports SSE2, enable it unconditionally in all of Qt shared libraries
|
|
|
|
# (and only the libraries). This is not expected to be a problem because:
|
|
|
|
# - on Windows, sharing of libraries is uncommon
|
|
|
|
# - on Mac OS X, all x86 CPUs already have SSE2 support (we won't even reach here)
|
|
|
|
# - on Linux, the dynamic loader can find the libraries on LIBDIR/sse2/
|
|
|
|
# The last guarantee does not apply to executables and plugins, so we can't enable for them.
|
|
|
|
QT_CPU_FEATURES.$$QT_ARCH += sse sse2
|
|
|
|
QMAKE_CFLAGS += $$QMAKE_CFLAGS_SSE2
|
|
|
|
QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_SSE2
|
|
|
|
}
|
2014-01-16 18:41:11 +00:00
|
|
|
|
|
|
|
clang {
|
|
|
|
apple_clang_ver = $${QT_APPLE_CLANG_MAJOR_VERSION}.$${QT_APPLE_CLANG_MINOR_VERSION}
|
|
|
|
reg_clang_ver = $${QT_CLANG_MAJOR_VERSION}.$${QT_CLANG_MINOR_VERSION}
|
2017-03-21 07:40:11 +00:00
|
|
|
versionAtLeast(apple_clang_ver, 5.1)|versionAtLeast(reg_clang_ver, 3.4): \
|
2014-01-16 18:41:11 +00:00
|
|
|
CONFIG += compiler_supports_fpmath
|
|
|
|
} else: gcc {
|
|
|
|
CONFIG += compiler_supports_fpmath
|
|
|
|
}
|
|
|
|
|
|
|
|
equals(QT_ARCH, i386):contains(QT_CPU_FEATURES.$$QT_ARCH, sse2):compiler_supports_fpmath {
|
2013-12-09 04:28:21 +00:00
|
|
|
# Turn on SSE-based floating-point math
|
|
|
|
QMAKE_CFLAGS += -mfpmath=sse
|
|
|
|
QMAKE_CXXFLAGS += -mfpmath=sse
|
|
|
|
}
|
|
|
|
|
2015-10-22 18:31:58 +00:00
|
|
|
android: CONFIG += qt_android_deps no_linker_version_script
|
|
|
|
|
2015-11-10 16:24:53 +00:00
|
|
|
!header_module:unix:!isEmpty(QMAKE_LFLAGS_VERSION_SCRIPT):!no_linker_version_script:!static {
|
2016-01-21 11:20:42 +00:00
|
|
|
verscript = $${TARGET}.version
|
2015-06-02 18:10:22 +00:00
|
|
|
QMAKE_LFLAGS += $${QMAKE_LFLAGS_VERSION_SCRIPT}$$verscript
|
|
|
|
|
|
|
|
internal_module {
|
|
|
|
verscript_content = "Qt_$${QT_MAJOR_VERSION}_PRIVATE_API { *; };"
|
|
|
|
} else {
|
2015-06-02 18:42:07 +00:00
|
|
|
verscript_content = "Qt_$${QT_MAJOR_VERSION}_PRIVATE_API {" \
|
2016-01-02 20:55:14 +00:00
|
|
|
" qt_private_api_tag*;"
|
2016-12-16 19:20:40 +00:00
|
|
|
|
|
|
|
private_api_headers = $$SYNCQT.PRIVATE_HEADER_FILES $$SYNCQT.QPA_HEADER_FILES
|
|
|
|
|
|
|
|
for(header, private_api_headers): \
|
2018-03-20 20:21:38 +00:00
|
|
|
verscript_content += " @FILE:$$header@"
|
2016-01-02 20:55:14 +00:00
|
|
|
verscript_content += "};"
|
2015-06-02 18:42:07 +00:00
|
|
|
|
2015-06-02 18:10:22 +00:00
|
|
|
current = Qt_$$QT_MAJOR_VERSION
|
2015-06-02 18:42:07 +00:00
|
|
|
verscript_content += "$$current { *; };"
|
2015-09-18 02:04:42 +00:00
|
|
|
isEmpty(QT_NAMESPACE): tag_symbol = qt_version_tag
|
|
|
|
else: tag_symbol = qt_version_tag_$$QT_NAMESPACE
|
|
|
|
|
|
|
|
for(i, 0..$$QT_MINOR_VERSION) {
|
2015-06-02 18:10:22 +00:00
|
|
|
previous = $$current
|
|
|
|
current = Qt_$${QT_MAJOR_VERSION}.$$i
|
2015-09-18 02:04:42 +00:00
|
|
|
equals(i, $$QT_MINOR_VERSION): verscript_content += "$$current { $$tag_symbol; } $$previous;"
|
|
|
|
else: verscript_content += "$$current {} $$previous;"
|
2015-06-02 18:10:22 +00:00
|
|
|
}
|
2015-06-02 18:42:07 +00:00
|
|
|
|
2016-01-02 20:55:14 +00:00
|
|
|
# Add a post-processing step to replace the @FILE:filename@
|
2016-01-21 11:20:42 +00:00
|
|
|
verscript_in = $${verscript}.in
|
|
|
|
verscriptprocess.name = linker version script ${QMAKE_FILE_BASE}
|
|
|
|
verscriptprocess.input = verscript_in
|
|
|
|
verscriptprocess.CONFIG += no_link target_predeps
|
2018-03-20 20:21:38 +00:00
|
|
|
verscriptprocess.depends = $$private_api_headers
|
2016-01-21 11:20:42 +00:00
|
|
|
verscriptprocess.output = $$verscript
|
|
|
|
verscriptprocess.commands = perl $${PWD}/data/unix/findclasslist.pl < ${QMAKE_FILE_IN} > $@
|
|
|
|
silent:verscriptprocess.commands = @echo creating linker version script ${QMAKE_FILE_BASE} && $$verscriptprocess.commands
|
|
|
|
QMAKE_EXTRA_COMPILERS += verscriptprocess
|
|
|
|
|
|
|
|
verscript = $$verscript_in
|
2015-06-02 18:10:22 +00:00
|
|
|
}
|
2016-07-14 14:50:02 +00:00
|
|
|
write_file($$OUT_PWD/$$verscript, verscript_content)|error()
|
2015-06-02 18:10:22 +00:00
|
|
|
unset(current)
|
|
|
|
unset(previous)
|
|
|
|
unset(verscript)
|
|
|
|
unset(verscript_content)
|
|
|
|
}
|
|
|
|
|
2012-08-07 17:00:38 +00:00
|
|
|
#install directives
|
|
|
|
load(qt_installs)
|
|
|
|
|
2014-04-14 15:51:41 +00:00
|
|
|
load(qt_targets)
|
|
|
|
|
2014-04-14 14:33:18 +00:00
|
|
|
# this builds on top of qt_common
|
2019-01-30 06:36:51 +00:00
|
|
|
!internal_module:if(unix|mingw):!if(darwin:debug_and_release:CONFIG(debug, debug|release)) {
|
2014-04-14 15:51:41 +00:00
|
|
|
CONFIG += create_pc
|
|
|
|
QMAKE_PKGCONFIG_DESTDIR = pkgconfig
|
2014-11-28 13:00:07 +00:00
|
|
|
host_build: \
|
|
|
|
QMAKE_PKGCONFIG_LIBDIR = $$[QT_HOST_LIBS]
|
|
|
|
else: \
|
|
|
|
QMAKE_PKGCONFIG_LIBDIR = $$[QT_INSTALL_LIBS/raw]
|
2018-06-06 20:34:33 +00:00
|
|
|
lib_bundle {
|
|
|
|
QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_LIBS/raw]/$${MODULE_INCNAME}.framework/Headers
|
|
|
|
QMAKE_PKGCONFIG_CFLAGS = -D$$MODULE_DEFINE
|
|
|
|
} else {
|
|
|
|
QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS/raw]
|
|
|
|
QMAKE_PKGCONFIG_CFLAGS = -D$$MODULE_DEFINE -I${includedir}/$$MODULE_INCNAME
|
2019-04-29 08:49:01 +00:00
|
|
|
for(inc, MODULE_AUX_INCLUDES): \
|
|
|
|
QMAKE_PKGCONFIG_CFLAGS += -I${includedir}/$$section(inc, /, 1, 1)
|
2018-06-06 20:34:33 +00:00
|
|
|
}
|
2014-08-29 14:45:15 +00:00
|
|
|
QMAKE_PKGCONFIG_NAME = $$replace(TARGET, ^Qt, "Qt$$QT_MAJOR_VERSION ")
|
2019-01-30 06:36:51 +00:00
|
|
|
QMAKE_PKGCONFIG_FILE = $$replace(TARGET, ^Qt, Qt$$QT_MAJOR_VERSION)$$qtPlatformTargetSuffix()
|
2013-01-25 13:58:36 +00:00
|
|
|
for(i, MODULE_DEPENDS): \
|
2019-01-30 06:36:51 +00:00
|
|
|
QMAKE_PKGCONFIG_REQUIRES += $$replace(QT.$${i}.name, ^Qt, Qt$$section(QT.$${i}.VERSION, ., 0, 0))$$qtPlatformTargetSuffix()
|
2012-08-07 17:00:38 +00:00
|
|
|
isEmpty(QMAKE_PKGCONFIG_DESCRIPTION): \
|
|
|
|
QMAKE_PKGCONFIG_DESCRIPTION = $$replace(TARGET, ^Qt, "Qt ") module
|
2019-06-25 07:17:07 +00:00
|
|
|
!isEmpty(lib_replace0.match) {
|
|
|
|
pclib_replace0.match = $$lib_replace0.match
|
|
|
|
pclib_replace0.replace = $$QMAKE_PKGCONFIG_LIBDIR/
|
|
|
|
pclib_replace0.CONFIG = path
|
|
|
|
QMAKE_PKGCONFIG_INSTALL_REPLACE += pclib_replace0
|
|
|
|
}
|
2014-11-28 13:00:07 +00:00
|
|
|
pclib_replace.match = $$lib_replace.match
|
|
|
|
!isEmpty(lib_replace.replace): \
|
|
|
|
pclib_replace.replace = $$QMAKE_PKGCONFIG_LIBDIR
|
|
|
|
pclib_replace.CONFIG = path
|
|
|
|
QMAKE_PKGCONFIG_INSTALL_REPLACE += pclib_replace
|
2015-12-10 16:26:20 +00:00
|
|
|
}
|
|
|
|
!lib_bundle:unix {
|
|
|
|
CONFIG += create_libtool
|
|
|
|
host_build: \
|
|
|
|
QMAKE_LIBTOOL_LIBDIR = $$[QT_HOST_LIBS]
|
|
|
|
else: \
|
|
|
|
QMAKE_LIBTOOL_LIBDIR = "=$$[QT_INSTALL_LIBS/raw]"
|
2019-06-25 07:17:07 +00:00
|
|
|
!isEmpty(lib_replace0.match) {
|
|
|
|
ltlib_replace0.match = $$lib_replace0.match
|
|
|
|
ltlib_replace0.replace = $$QMAKE_LIBTOOL_LIBDIR/
|
|
|
|
ltlib_replace0.CONFIG = path
|
|
|
|
QMAKE_LIBTOOL_INSTALL_REPLACE += ltlib_replace0
|
|
|
|
}
|
2015-12-10 16:26:20 +00:00
|
|
|
ltlib_replace.match = $$lib_replace.match
|
|
|
|
!isEmpty(lib_replace.replace): \
|
|
|
|
ltlib_replace.replace = $$QMAKE_LIBTOOL_LIBDIR
|
|
|
|
ltlib_replace.CONFIG = path
|
|
|
|
QMAKE_LIBTOOL_INSTALL_REPLACE += ltlib_replace
|
2012-08-07 17:00:38 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
contains(QT_PRODUCT, OpenSource.*):DEFINES *= QT_OPENSOURCE
|
|
|
|
DEFINES *= QT_NO_CAST_TO_ASCII QT_ASCII_CAST_WARNINGS
|
|
|
|
DEFINES *= QT_MOC_COMPAT #we don't need warnings from calling moc code in our generated code
|
|
|
|
DEFINES *= QT_USE_QSTRINGBUILDER
|
|
|
|
DEFINES *= QT_DEPRECATED_WARNINGS
|
|
|
|
|
2012-04-30 14:03:18 +00:00
|
|
|
win32 {
|
|
|
|
# On Windows, due to the way DLLs work, we need to export all functions,
|
|
|
|
# including the inlines
|
2012-09-12 15:51:35 +00:00
|
|
|
DEFINES *= QT_DISABLE_DEPRECATED_BEFORE=0x040800
|
2012-04-30 14:03:18 +00:00
|
|
|
} else {
|
|
|
|
# On other platforms, Qt's own compilation goes needs to compile the Qt 5.0 API
|
|
|
|
DEFINES *= QT_DISABLE_DEPRECATED_BEFORE=0x050000
|
|
|
|
}
|
2019-03-05 21:39:27 +00:00
|
|
|
DEFINES *= QT_DEPRECATED_WARNINGS_SINCE=0x060000
|
2012-04-30 14:03:18 +00:00
|
|
|
|
2015-02-25 15:00:58 +00:00
|
|
|
TARGET = $$qt5LibraryTarget($$TARGET$$QT_LIBINFIX) # Do this towards the end
|