summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cmake/QtQmakeHelpers.cmake1
-rw-r--r--mkspecs/features/qt_config.prf3
-rw-r--r--qmake/doc/src/qmake-manual.qdoc3
-rw-r--r--qmake/property.cpp1
-rw-r--r--src/corelib/global/qlibraryinfo.cpp9
-rw-r--r--src/corelib/global/qlibraryinfo.h1
6 files changed, 16 insertions, 2 deletions
diff --git a/cmake/QtQmakeHelpers.cmake b/cmake/QtQmakeHelpers.cmake
index c06561b9bd..cf15ada7b3 100644
--- a/cmake/QtQmakeHelpers.cmake
+++ b/cmake/QtQmakeHelpers.cmake
@@ -56,6 +56,7 @@ function(qt_generate_qconfig_cpp)
qt_add_string_to_qconfig_cpp("") # config.input.sysroot
qt_add_string_to_qconfig_cpp("false") # qmake_sysrootify
qt_add_string_to_qconfig_cpp("${INSTALL_BINDIR}")
+ qt_add_string_to_qconfig_cpp("${INSTALL_LIBEXECDIR}")
qt_add_string_to_qconfig_cpp("${INSTALL_LIBDIR}")
qt_add_string_to_qconfig_cpp("${hostdatadir}")
qt_add_string_to_qconfig_cpp("${QT_QMAKE_TARGET_MKSPEC}")
diff --git a/mkspecs/features/qt_config.prf b/mkspecs/features/qt_config.prf
index 93c54e3010..40105f0ab2 100644
--- a/mkspecs/features/qt_config.prf
+++ b/mkspecs/features/qt_config.prf
@@ -26,6 +26,7 @@ QMAKE_QT_CONFIG = $$[QT_HOST_DATA/get]/mkspecs/qconfig.pri
QT_MODULE_INCLUDE_BASE = $$[QT_INSTALL_HEADERS]
QT_MODULE_LIB_BASE = $$[QT_INSTALL_LIBS]
QT_MODULE_HOST_LIB_BASE = $$[QT_HOST_LIBS]
+ QT_MODULE_HOST_LIBEXEC_BASE = $$[QT_HOST_LIBEXECS]
QT_MODULE_BIN_BASE = $$[QT_INSTALL_BINS]
include($$mod)
}
@@ -35,8 +36,8 @@ QMAKE_QT_CONFIG = $$[QT_HOST_DATA/get]/mkspecs/qconfig.pri
unset(QT_MODULE_INCLUDE_BASE)
unset(QT_MODULE_LIB_BASE)
unset(QT_MODULE_HOST_LIB_BASE)
+ unset(QT_MODULE_HOST_LIBEXEC_BASE)
unset(QT_MODULE_BIN_BASE)
}
load(qt_functions)
-
diff --git a/qmake/doc/src/qmake-manual.qdoc b/qmake/doc/src/qmake-manual.qdoc
index d646847217..68d09edbf4 100644
--- a/qmake/doc/src/qmake-manual.qdoc
+++ b/qmake/doc/src/qmake-manual.qdoc
@@ -4315,6 +4315,9 @@
and stored in the \l{QMAKESPEC} variable during a target build
\li QT_HOST_BINS - location of host executables
\li QT_HOST_DATA - location of data for host executables used by qmake
+ \li QT_HOST_LIBS - location of host libraries
+ \li QT_HOST_LIBEXECS - location of executables required by host
+ libraries at runtime
\li QT_HOST_PREFIX - default prefix for all host paths
\li QT_INSTALL_ARCHDATA - location of general architecture-dependent Qt
data
diff --git a/qmake/property.cpp b/qmake/property.cpp
index eb5e582da5..63048f906d 100644
--- a/qmake/property.cpp
+++ b/qmake/property.cpp
@@ -63,6 +63,7 @@ static const struct {
{ "QT_HOST_DATA", QLibraryInfo::HostDataPath, true, false },
{ "QT_HOST_BINS", QLibraryInfo::HostBinariesPath, true, false },
{ "QT_HOST_LIBS", QLibraryInfo::HostLibrariesPath, true, false },
+ { "QT_HOST_LIBEXECS", QLibraryInfo::HostLibraryExecutablesPath, true, false },
{ "QMAKE_SPEC", QLibraryInfo::HostSpecPath, true, true },
{ "QMAKE_XSPEC", QLibraryInfo::TargetSpecPath, true, true },
};
diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
index cec6431206..d3f0f95ad8 100644
--- a/src/corelib/global/qlibraryinfo.cpp
+++ b/src/corelib/global/qlibraryinfo.cpp
@@ -365,8 +365,14 @@ QVersionNumber QLibraryInfo::version() noexcept
* - add to qt_config.prf, qt_module.prf, qt_module_fwdpri.prf
*/
+#ifdef QT_BUILD_QMAKE
+constexpr size_t qtConfEntriesKeySize = 23;
+#else
+constexpr size_t qtConfEntriesKeySize = 19;
+#endif
+
static const struct {
- char key[19], value[13];
+ char key[qtConfEntriesKeySize], value[13];
} qtConfEntries[] = {
{ "Prefix", "." },
{ "Documentation", "doc" }, // should be ${Data}/doc
@@ -389,6 +395,7 @@ static const struct {
{ "Sysroot", "" },
{ "SysrootifyPrefix", "" },
{ "HostBinaries", "bin" },
+ { "HostLibraryExecutables", "libexec" },
{ "HostLibraries", "lib" },
{ "HostData", "." },
{ "TargetSpec", "" },
diff --git a/src/corelib/global/qlibraryinfo.h b/src/corelib/global/qlibraryinfo.h
index bfb3a9f858..618dfaab70 100644
--- a/src/corelib/global/qlibraryinfo.h
+++ b/src/corelib/global/qlibraryinfo.h
@@ -79,6 +79,7 @@ public:
SysrootPath,
SysrootifyPrefixPath,
HostBinariesPath,
+ HostLibraryExecutablesPath,
HostLibrariesPath,
HostDataPath,
TargetSpecPath,