qt5base-lts/mkspecs/features/qt_installs.prf
Oswald Buddenhagen 16f4bc5b63 rewrite handling of private modules
instead of being magic attributes of the main modules, the privates
are now proper modules of their own.

this cleans up some code paths, is more mappable to other build tools,
and enables private modules to depend on other private modules.

note that the library path is needed even in the "empty" private
modules, as in the framework case that's where headers are found.
consequently, the modules need to be explicitly marked with the new
"no_link" flag. this required some reorganization of qtAddModule().

Change-Id: I8e4f44a609f8d639cc01bcb658256870a627eb63
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-24 20:20:59 +02:00

62 lines
1.8 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.
#
#library
!qt_no_install_library {
win32 {
host_build: \
dlltarget.path = $$[QT_HOST_BINS]
else: \
dlltarget.path = $$[QT_INSTALL_BINS]
INSTALLS += dlltarget
}
host_build: \
target.path = $$[QT_HOST_LIBS]
else: \
target.path = $$[QT_INSTALL_LIBS]
INSTALLS += target
}
#headers
qt_install_headers {
class_headers.files = $$SYNCQT.HEADER_CLASSES
class_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
INSTALLS += class_headers
targ_headers.files = $$SYNCQT.HEADER_FILES
targ_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
INSTALLS += targ_headers
private_headers.files = $$SYNCQT.PRIVATE_HEADER_FILES
private_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private
INSTALLS += private_headers
qpa_headers.files = $$SYNCQT.QPA_HEADER_FILES
qpa_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa
INSTALLS += qpa_headers
}
#module
qt_install_module {
!isEmpty(MODULE_PRI) {
pritarget.path = $$[QT_HOST_DATA]/mkspecs/modules
pritarget.files = $$MODULE_PRI
INSTALLS += pritarget
} else: isEmpty(MODULE_PRIVATE_PRI) {
warning("Project $$basename(_PRO_FILE_) is a module, but has not defined MODULE_PRI, which is required for Qt to expose the module to other projects.")
}
!isEmpty(MODULE_PRIVATE_PRI) {
privpritarget.path = $$[QT_HOST_DATA]/mkspecs/modules
privpritarget.files = $$MODULE_PRIVATE_PRI
INSTALLS += privpritarget
}
}