summaryrefslogtreecommitdiff
path: root/eclass/qmake-utils.eclass
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-06-14 15:13:45 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-06-14 15:13:45 +0100
commitb9e8f3cc44aed3b6da71c7510c6287bf7bbbc66b (patch)
tree4b47f3026f10252cff69e7a4346215a4da4f0f1c /eclass/qmake-utils.eclass
parent3d952d0bfe7b386699eb32d1431deb0c538f044d (diff)
gentoo auto-resync : 14:06:2023 - 15:13:45
Diffstat (limited to 'eclass/qmake-utils.eclass')
-rw-r--r--eclass/qmake-utils.eclass59
1 files changed, 59 insertions, 0 deletions
diff --git a/eclass/qmake-utils.eclass b/eclass/qmake-utils.eclass
index 88755ab7aa8a..5c5fa8dcb047 100644
--- a/eclass/qmake-utils.eclass
+++ b/eclass/qmake-utils.eclass
@@ -155,4 +155,63 @@ qt6_get_plugindir() {
echo $(qt6_get_libdir)/qt6/plugins
}
+# @FUNCTION: qt6_get_qmake_args
+# @DESCRIPTION:
+# Echoes a multi-line string containing arguments to pass to qmake.
+qt6_get_qmake_args() {
+ cat <<-EOF
+ QMAKE_AR="$(tc-getAR) cqs"
+ QMAKE_CC="$(tc-getCC)"
+ QMAKE_LINK_C="$(tc-getCC)"
+ QMAKE_LINK_C_SHLIB="$(tc-getCC)"
+ QMAKE_CXX="$(tc-getCXX)"
+ QMAKE_LINK="$(tc-getCXX)"
+ QMAKE_LINK_SHLIB="$(tc-getCXX)"
+ QMAKE_OBJCOPY="$(tc-getOBJCOPY)"
+ QMAKE_RANLIB=
+ QMAKE_STRIP=
+ QMAKE_CFLAGS="${CFLAGS}"
+ QMAKE_CFLAGS_RELEASE=
+ QMAKE_CFLAGS_DEBUG=
+ QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO=
+ QMAKE_CXXFLAGS="${CXXFLAGS}"
+ QMAKE_CXXFLAGS_RELEASE=
+ QMAKE_CXXFLAGS_DEBUG=
+ QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO=
+ QMAKE_LFLAGS="${LDFLAGS}"
+ QMAKE_LFLAGS_RELEASE=
+ QMAKE_LFLAGS_DEBUG=
+ QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO=
+ EOF
+}
+
+# @FUNCTION: eqmake6
+# @USAGE: [arguments for qmake]
+# @DESCRIPTION:
+# Wrapper for Qt6's qmake. All arguments are passed to qmake.
+#
+# For recursive build systems, i.e. those based on the subdirs template,
+# you should run eqmake6 on the top-level project file only, unless you
+# have a valid reason to do otherwise. During the building, qmake will
+# be automatically re-invoked with the right arguments on every directory
+# specified inside the top-level project file.
+eqmake6() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ ebegin "Running qmake"
+
+ local -a args
+ mapfile -t args <<<"$(qt6_get_qmake_args)"
+ # NB: we're passing literal quotes in but qmake doesn't seem to mind
+ "$(qt6_get_bindir)"/qmake -makefile "${args[@]}" "$@"
+
+ if ! eend $? ; then
+ echo
+ eerror "Running qmake has failed! (see above for details)"
+ eerror "This shouldn't happen - please send a bug report to https://bugs.gentoo.org/"
+ echo
+ die "eqmake6 failed"
+ fi
+}
+
fi