diff --git a/configure.ac b/configure.ac index a94bab31057607e497f1d87add9e61a38d9ca939..0a90da203464d8b586d015e5490692b9ccf6d279 100644 --- a/configure.ac +++ b/configure.ac @@ -4083,12 +4083,17 @@ AS_IF([test "${enable_qt}" != "no"], [ ],[ AC_MSG_CHECKING([for Qt libraries]) + qmake_additional_params="" + AS_IF([test "${enable_debug}" != "no"], [ + qmake_additional_params="$qmake_additional_params --debug" + ]) srcdir_abs=`(cd ${srcdir} && pwd -P)` QT_PKG_ERRORS=$(${PYTHON3} ${srcdir}/modules/gui/qt/scripts/static_dirs.py \ --qmake "${QMAKE6}" --qtconf "${with_qtconf}" \ --pro ${srcdir_abs}/modules/gui/qt/qt6.pro \ --builddir ${ac_pwd}/modules/gui/qt \ - --libs) + --libs \ + ${qmake_additional_params}) ac_status=$? AS_IF([test $ac_status = 0],[ @@ -4098,12 +4103,14 @@ AS_IF([test "${enable_qt}" != "no"], [ --qmake "${QMAKE6}" --qtconf "${with_qtconf}" \ --pro ${srcdir_abs}/modules/gui/qt/qt6.pro \ --builddir ${ac_pwd}/modules/gui/qt \ - --cflags) + --cflags \ + ${qmake_additional_params}) QT_LDFLAGS=$(${PYTHON3} ${srcdir}/modules/gui/qt/scripts/static_dirs.py \ --qmake "${QMAKE6}" --qtconf "${with_qtconf}" \ --pro ${srcdir_abs}/modules/gui/qt/qt6.pro \ --builddir ${ac_pwd}/modules/gui/qt \ - --ldflags) + --ldflags \ + ${qmake_additional_params}) AC_SUBST([QT_LIBS]) AC_SUBST([QT_CFLAGS]) AC_SUBST([QT_LDFLAGS]) @@ -4168,7 +4175,8 @@ AS_IF([test "${enable_qt}" != "no"], [ --qmake "${QMAKE6}" --qtconf "${with_qtconf}" \ --pro ${srcdir_abs}/modules/gui/qt/qtest.pro \ --builddir ${ac_pwd}/modules/gui/qt \ - --libs) 2>/dev/null + --libs \ + ${qmake_additional_params}) 2>/dev/null ac_status=$? AS_IF([test $ac_status = 0],[ AC_MSG_RESULT([yes]) @@ -4177,12 +4185,14 @@ AS_IF([test "${enable_qt}" != "no"], [ --qmake "${QMAKE6}" --qtconf "${with_qtconf}" \ --pro ${srcdir_abs}/modules/gui/qt/qtest.pro \ --builddir ${ac_pwd}/modules/gui/qt \ - --cflags) + --cflags \ + ${qmake_additional_params}) QT_QTEST_LDFLAGS=$(${PYTHON3} ${srcdir}/modules/gui/qt/scripts/static_dirs.py \ --qmake "${QMAKE6}" --qtconf "${with_qtconf}" \ --pro ${srcdir_abs}/modules/gui/qt/qtest.pro \ --builddir ${ac_pwd}/modules/gui/qt \ - --ldflags) + --ldflags \ + ${qmake_additional_params}) AC_SUBST([QT_QTEST_LIBS]) AC_SUBST([QT_QTEST_CFLAGS]) AC_SUBST([QT_QTEST_LDFLAGS]) @@ -4196,7 +4206,8 @@ AS_IF([test "${enable_qt}" != "no"], [ --qmake "${QMAKE6}" --qtconf "${with_qtconf}" \ --pro ${srcdir_abs}/modules/gui/qt/quicktest.pro \ --builddir ${ac_pwd}/modules/gui/qt \ - --libs) 2>/dev/null + --libs \ + ${qmake_additional_params}) 2>/dev/null ac_status=$? AS_IF([test $ac_status = 0],[ AS_IF([${PYTHON3} ${srcdir}/buildsystem/check_qml_module.py \ @@ -4210,12 +4221,14 @@ AS_IF([test "${enable_qt}" != "no"], [ --qmake "${QMAKE6}" --qtconf "${with_qtconf}" \ --pro ${srcdir_abs}/modules/gui/qt/quicktest.pro \ --builddir ${ac_pwd}/modules/gui/qt \ - --cflags) + --cflags \ + ${qmake_additional_params}) QT_QUICK_TEST_LDFLAGS=$(${PYTHON3} ${srcdir}/modules/gui/qt/scripts/static_dirs.py \ --qmake "${QMAKE6}" --qtconf "${with_qtconf}" \ --pro ${srcdir_abs}/modules/gui/qt/quicktest.pro \ --builddir ${ac_pwd}/modules/gui/qt \ - --ldflags) + --ldflags \ + ${qmake_additional_params}) AC_SUBST([QT_QUICK_TEST_LIBS]) AC_SUBST([QT_QUICK_TEST_CFLAGS]) AC_SUBST([QT_QUICK_TEST_LDFLAGS]) diff --git a/modules/gui/qt/meson.build b/modules/gui/qt/meson.build index 1b8ea6ad174972e796362d55ae30d5eb8d09129d..a65618f2121caf98b89764a887860840da600863 100644 --- a/modules/gui/qt/meson.build +++ b/modules/gui/qt/meson.build @@ -989,6 +989,10 @@ if qt6_dep.found() qt_install_bin_directory = qt6_dep.get_variable(pkgconfig: 'bindir', configtool: '-query QT_INSTALL_BINS') qmake6 = find_program(qt_install_bin_directory + '/qmake6', required: true) if qmake6.found() + qmake_additional_params = [] + if get_option('buildtype') == 'debug' + qmake_additional_params += '--debug' + endif qtcflags = run_command( prog_python, meson.current_source_dir() / 'scripts/static_dirs.py', @@ -996,6 +1000,7 @@ if qt6_dep.found() '--pro', meson.current_source_dir() / 'qt6.pro', '--builddir', meson.current_build_dir(), '--cflags', + qmake_additional_params, check: false, ) if qtcflags.returncode() == 0 @@ -1010,6 +1015,7 @@ if qt6_dep.found() '--pro', meson.current_source_dir() / 'qt6.pro', '--builddir', meson.current_build_dir(), '--libs', '--ldflags', + qmake_additional_params, check: false, ) if qtlflags.returncode() == 0 diff --git a/modules/gui/qt/scripts/static_dirs.py b/modules/gui/qt/scripts/static_dirs.py index 0db02af05eba3e220ddd0cc6402d42030f39f2c6..054c2d67e373143411a4486dfd837da954a8ac1b 100644 --- a/modules/gui/qt/scripts/static_dirs.py +++ b/modules/gui/qt/scripts/static_dirs.py @@ -12,10 +12,12 @@ import re import subprocess import sys -def call_qmake(qmake:str, qtconf, builddir, pro) -> str: +def call_qmake(qmake:str, qtconf, builddir, pro, debug:bool) -> str: if builddir and builddir != '' and not os.path.exists(builddir): os.makedirs(builddir) qmake_cmd = [ qmake ] + if debug: + qmake_cmd += ['CONFIG+=debug'] if qtconf and qtconf != '': qmake_cmd += [ '-qtconf', qtconf ] qmake_cmd += [pro, '-o', '-' ] @@ -55,12 +57,15 @@ if __name__ == "__main__": parser.add_argument("--ldflags", required=False, action='store_true', help="get the list of linker flags") + parser.add_argument("--debug", + required=False, action='store_true', + help="debug mode") args = parser.parse_args() result = '' sources = [ os.path.join(args.builddir, '.qmake.stash') ] in_sources = False - makefile = call_qmake(args.qmake, args.qtconf, args.builddir, args.pro) + makefile = call_qmake(args.qmake, args.qtconf, args.builddir, args.pro, args.debug) for line in makefile.splitlines(): if in_sources: l = line.strip()