Skip to content

Commit 514acc2

Browse files
committed
Generate bindings for QML
1 parent 922bf90 commit 514acc2

File tree

7 files changed

+362
-35
lines changed

7 files changed

+362
-35
lines changed

build.d

Lines changed: 43 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -423,19 +423,28 @@ int main(string[] args)
423423
};
424424
projects ~= new class Project
425425
{
426-
string archive, archive2, archiveExtracted;
426+
string archiveExtracted;
427+
string[] baseArchives;
428+
string webengineArchive;
427429
string[] docArchives;
428430
this()
429431
{
430432
super("qt5");
431433
dependencies = ["common"];
432-
archive = "5.15.2-0-202011130601qtbase-Linux-RHEL_7_6-GCC-Linux-RHEL_7_6-X86_64.7z";
433-
archive2 = "5.15.2-0-202011130601qtwebengine-Linux-RHEL_7_6-GCC-Linux-RHEL_7_6-X86_64.7z";
434+
baseArchives = [
435+
"5.15.2-0-202011130601qtbase-Linux-RHEL_7_6-GCC-Linux-RHEL_7_6-X86_64.7z",
436+
"5.15.2-0-202011130601qtdeclarative-Linux-RHEL_7_6-GCC-Linux-RHEL_7_6-X86_64.7z",
437+
"5.15.2-0-202011130601qtquickcontrols2-Linux-RHEL_7_6-GCC-Linux-RHEL_7_6-X86_64.7z",
438+
];
439+
webengineArchive = "5.15.2-0-202011130601qtwebengine-Linux-RHEL_7_6-GCC-Linux-RHEL_7_6-X86_64.7z";
434440
docArchives = [
435441
"qt.qt5.5152.doc/5.15.2-0-202011130614qtcore-documentation.7z",
436442
"qt.qt5.5152.doc/5.15.2-0-202011130614qtgui-documentation.7z",
437443
"qt.qt5.5152.doc/5.15.2-0-202011130614qtwidgets-documentation.7z",
438444
"qt.qt5.5152.doc/5.15.2-0-202011130614qtnetwork-documentation.7z",
445+
"qt.qt5.5152.doc/5.15.2-0-202011130614qtqml-documentation.7z",
446+
"qt.qt5.5152.doc/5.15.2-0-202011130614qtquick-documentation.7z",
447+
"qt.qt5.5152.doc/5.15.2-0-202011130614qtquickcontrols-documentation.7z",
439448
"qt.qt5.5152.doc.qtwebengine/5.15.2-0-202011130614qtwebengine-documentation.7z",
440449
];
441450
archiveExtracted = "5.15.2";
@@ -447,6 +456,9 @@ int main(string[] args)
447456
"-Iqt5/orig/qtbase/QtGui",
448457
"-Iqt5/orig/qtbase/QtWidgets",
449458
"-Iqt5/orig/qtbase/QtNetwork",
459+
"-Iqt5/orig/qtbase/QtQml",
460+
"-Iqt5/orig/qtbase/QtQuick",
461+
"-Iqt5/orig/qtbase/QtQuickControls2",
450462
"-Iqt5/orig/qtwebengine",
451463
"-Iqt5/orig/qtwebengine/QtWebEngineCore",
452464
"-Iqt5/orig/qtwebengine/QtWebEngineWidgets",
@@ -461,19 +473,22 @@ int main(string[] args)
461473

462474
override void download()
463475
{
464-
downloadFile("https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt5_5152/qt.qt5.5152.gcc_64/" ~ archive, projectDir ~ "/" ~ archive, verbose);
465-
downloadFile("https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt5_5152/qt.qt5.5152.qtwebengine.gcc_64/" ~ archive2, projectDir ~ "/" ~ archive2, verbose);
476+
foreach (a; baseArchives)
477+
downloadFile("https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt5_5152/qt.qt5.5152.gcc_64/" ~ a, projectDir ~ "/" ~ a, verbose);
478+
479+
downloadFile("https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt5_5152/qt.qt5.5152.qtwebengine.gcc_64/" ~ webengineArchive, projectDir ~ "/" ~ webengineArchive, verbose);
466480

467481
foreach (a; docArchives)
468482
downloadFile("https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt5_5152_src_doc_examples/" ~ a, projectDir ~ "/" ~ baseName(a), verbose);
469483
}
470484

471485
override void prepare()
472486
{
473-
runCommand(["7z", "x", archive, archiveExtracted ~ "/gcc_64/include/"], verbose, projectDir);
487+
foreach (a; baseArchives)
488+
runCommand(["7z", "x", a, archiveExtracted ~ "/gcc_64/include/"], verbose, projectDir);
474489
rename(buildPath(projectDir, archiveExtracted ~ "/gcc_64/include/"), buildPath(projectDir, "tmp-orig/qtbase"));
475490

476-
runCommand(["7z", "x", archive2, archiveExtracted ~ "/gcc_64/include/"], verbose, projectDir);
491+
runCommand(["7z", "x", webengineArchive, archiveExtracted ~ "/gcc_64/include/"], verbose, projectDir);
477492
rename(buildPath(projectDir, archiveExtracted ~ "/gcc_64/include/"), buildPath(projectDir, "tmp-orig/qtwebengine"));
478493

479494
foreach (a; docArchives)
@@ -484,19 +499,27 @@ int main(string[] args)
484499
};
485500
projects ~= new class Project
486501
{
487-
string archive, archive2, archiveExtracted;
502+
string archiveExtracted;
503+
string[] baseArchives;
504+
string webengineArchive;
488505
string[] docArchives;
489506
this()
490507
{
491508
super("qt6");
492509
dependencies = ["common"];
493-
archive = "6.2.3-0-202201260729qtbase-Linux-RHEL_8_4-GCC-Linux-RHEL_8_4-X86_64.7z";
494-
archive2 = "6.2.3-0-202201260729qtwebengine-Linux-RHEL_8_4-GCC-Linux-RHEL_8_4-X86_64.7z";
510+
baseArchives = [
511+
"6.2.3-0-202201260729qtbase-Linux-RHEL_8_4-GCC-Linux-RHEL_8_4-X86_64.7z",
512+
"6.2.3-0-202201260729qtdeclarative-Linux-RHEL_8_4-GCC-Linux-RHEL_8_4-X86_64.7z",
513+
];
514+
webengineArchive = "6.2.3-0-202201260729qtwebengine-Linux-RHEL_8_4-GCC-Linux-RHEL_8_4-X86_64.7z";
495515
docArchives = [
496516
"qt.qt6.623.doc/6.2.3-0-202201260755qtcore-documentation.7z",
497517
"qt.qt6.623.doc/6.2.3-0-202201260755qtgui-documentation.7z",
498518
"qt.qt6.623.doc/6.2.3-0-202201260755qtwidgets-documentation.7z",
499519
"qt.qt6.623.doc/6.2.3-0-202201260755qtnetwork-documentation.7z",
520+
"qt.qt6.623.doc/6.2.3-0-202201260755qtqml-documentation.7z",
521+
"qt.qt6.623.doc/6.2.3-0-202201260755qtquick-documentation.7z",
522+
"qt.qt6.623.doc/6.2.3-0-202201260755qtquickcontrols-documentation.7z",
500523
"qt.qt6.623.doc.qtwebengine/6.2.3-0-202201260755qtwebengine-documentation.7z",
501524
];
502525
archiveExtracted = "6.2.3";
@@ -508,6 +531,9 @@ int main(string[] args)
508531
"-Iqt6/orig/qtbase/QtGui",
509532
"-Iqt6/orig/qtbase/QtWidgets",
510533
"-Iqt6/orig/qtbase/QtNetwork",
534+
"-Iqt6/orig/qtbase/QtQml",
535+
"-Iqt6/orig/qtbase/QtQuick",
536+
"-Iqt6/orig/qtbase/QtQuickControls2",
511537
"-Iqt6/orig/qtwebengine",
512538
"-Iqt6/orig/qtwebengine/QtWebEngineCore",
513539
"-Iqt6/orig/qtwebengine/QtWebEngineWidgets",
@@ -522,19 +548,22 @@ int main(string[] args)
522548

523549
override void download()
524550
{
525-
downloadFile("https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt6_623/qt.qt6.623.gcc_64/" ~ archive, projectDir ~ "/" ~ archive, verbose);
526-
downloadFile("https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt6_623/qt.qt6.623.addons.qtwebengine.gcc_64/" ~ archive2, projectDir ~ "/" ~ archive2, verbose);
551+
foreach (a; baseArchives)
552+
downloadFile("https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt6_623/qt.qt6.623.gcc_64/" ~ a, projectDir ~ "/" ~ a, verbose);
553+
554+
downloadFile("https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt6_623/qt.qt6.623.addons.qtwebengine.gcc_64/" ~ webengineArchive, projectDir ~ "/" ~ webengineArchive, verbose);
527555

528556
foreach (a; docArchives)
529557
downloadFile("https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt6_623_src_doc_examples/" ~ a, projectDir ~ "/" ~ baseName(a), verbose);
530558
}
531559

532560
override void prepare()
533561
{
534-
runCommand(["7z", "x", archive, archiveExtracted ~ "/gcc_64/include/"], verbose, projectDir);
562+
foreach (a; baseArchives)
563+
runCommand(["7z", "x", a, archiveExtracted ~ "/gcc_64/include/"], verbose, projectDir);
535564
rename(buildPath(projectDir, archiveExtracted ~ "/gcc_64/include/"), buildPath(projectDir, "tmp-orig/qtbase"));
536565

537-
runCommand(["7z", "x", archive2, archiveExtracted ~ "/gcc_64/include/"], verbose, projectDir);
566+
runCommand(["7z", "x", webengineArchive, archiveExtracted ~ "/gcc_64/include/"], verbose, projectDir);
538567
rename(buildPath(projectDir, archiveExtracted ~ "/gcc_64/include/"), buildPath(projectDir, "tmp-orig/qtwebengine"));
539568

540569
foreach (a; docArchives)

projects/qt5/allincludes.cpp

Lines changed: 79 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
#include <QtCore/qdatastream.h>
4949
#include <QtCore/qdatetime.h>
5050
//#include <QtCore/qdeadlinetimer.h>
51-
#include <QtCore/qdebug.h>
51+
//#include <QtCore/qdebug.h>
5252
#include <QtCore/qdir.h>
5353
//#include <QtCore/qdiriterator.h>
5454
#include <QtCore/qeasingcurve.h>
@@ -89,7 +89,7 @@
8989
//#include <QtCore/qjsonobject.h>
9090
//#include <QtCore/qjsonvalue.h>
9191
//#include <QtCore/qlibrary.h>
92-
//#include <QtCore/qlibraryinfo.h>
92+
#include <QtCore/qlibraryinfo.h>
9393
#include <QtCore/qline.h>
9494
//#include <QtCore/qlinkedlist.h>
9595
#include <QtCore/qlist.h>
@@ -191,7 +191,7 @@
191191
//#include <QtCore/qvariantanimation.h>
192192
#include <QtCore/qvarlengtharray.h>
193193
#include <QtCore/qvector.h>
194-
//#include <QtCore/qversionnumber.h>
194+
#include <QtCore/qversionnumber.h>
195195
#include <QtCore/qversiontagging.h>
196196
//#include <QtCore/qwaitcondition.h>
197197
//#include <QtCore/qwineventnotifier.h>
@@ -510,7 +510,7 @@
510510
//#include <QtNetwork/qssldiffiehellmanparameters.h>
511511
//#include <QtNetwork/qsslellipticcurve.h>
512512
#include <QtNetwork/qsslerror.h>
513-
//#include <QtNetwork/qsslkey.h>
513+
#include <QtNetwork/qsslkey.h>
514514
#include <QtNetwork/qsslpresharedkeyauthenticator.h>
515515
#include <QtNetwork/qsslsocket.h>
516516
//#include <QtNetwork/qtcpserver.h>
@@ -521,7 +521,7 @@
521521
//#include <QtNetwork/qudpsocket.h>
522522

523523
// QtWebEngineCore
524-
#include <QtWebEngineCore/qtwebenginecoreglobal.h>
524+
//#include <QtWebEngineCore/qtwebenginecoreglobal.h>
525525
//#include <QtWebEngineCore/qtwebenginecoreversion.h>
526526
//#include <QtWebEngineCore/qtwebenginecore-config.h>
527527
#include <QtWebEngineCore/qwebenginecallback.h>
@@ -539,7 +539,7 @@
539539
#include <QtWebEngineCore/qwebengineurlschemehandler.h>
540540

541541
// QtWebEngineWidgets
542-
#include <QtWebEngineWidgets/qtwebenginewidgetsglobal.h>
542+
//#include <QtWebEngineWidgets/qtwebenginewidgetsglobal.h>
543543
//#include <QtWebEngineWidgets/qtwebenginewidgetsversion.h>
544544
//#include <QtWebEngineWidgets/qtwebenginewidgets-config.h>
545545
#include <QtWebEngineWidgets/qwebenginecertificateerror.h>
@@ -554,3 +554,76 @@
554554
#include <QtWebEngineWidgets/qwebenginescriptcollection.h>
555555
#include <QtWebEngineWidgets/qwebenginesettings.h>
556556
#include <QtWebEngineWidgets/qwebengineview.h>
557+
558+
// QtQml
559+
#include <QtQml/qjsengine.h>
560+
#include <QtQml/qjsvalue.h>
561+
//#include <QtQml/qjsvalueiterator.h>
562+
#include <QtQml/qqml.h>
563+
//#include <QtQml/qqmlabstracturlinterceptor.h>
564+
#include <QtQml/qqmlapplicationengine.h>
565+
#include <QtQml/qqmlcomponent.h>
566+
#include <QtQml/qqmlcontext.h>
567+
//#include <QtQml/qqmldebug.h>
568+
#include <QtQml/qqmlengine.h>
569+
#include <QtQml/qqmlerror.h>
570+
//#include <QtQml/qqmlexpression.h>
571+
//#include <QtQml/qqmlextensioninterface.h>
572+
//#include <QtQml/qqmlextensionplugin.h>
573+
//#include <QtQml/qqmlfile.h>
574+
//#include <QtQml/qqmlfileselector.h>
575+
//#include <QtQml/qqmlincubator.h>
576+
//#include <QtQml/qqmlinfo.h>
577+
#include <QtQml/qqmllist.h>
578+
//#include <QtQml/qqmlmoduleregistration.h>
579+
//#include <QtQml/qqmlnetworkaccessmanagerfactory.h>
580+
#include <QtQml/qqmlparserstatus.h>
581+
#include <QtQml/qqmlproperty.h>
582+
//#include <QtQml/qqmlpropertymap.h>
583+
#include <QtQml/qqmlpropertyvaluesource.h>
584+
//#include <QtQml/qqmlscriptstring.h>
585+
//#include <QtQml/qtqmlcompilerglobal.h>
586+
//#include <QtQml/qtqmlglobal.h>
587+
//#include <QtQml/qtqmlversion.h>
588+
//#include <QtQml/qtqml-config.h>
589+
590+
// QtQuick
591+
//#include <QtQuick/qquickframebufferobject.h>
592+
//#include <QtQuick/qquickimageprovider.h>
593+
#include <QtQuick/qquickitem.h>
594+
//#include <QtQuick/qquickitemgrabresult.h>
595+
//#include <QtQuick/qquickpainteditem.h>
596+
//#include <QtQuick/qquickrendercontrol.h>
597+
#include <QtQuick/qquicktextdocument.h>
598+
//#include <QtQuick/qquickview.h>
599+
//#include <QtQuick/qquickwindow.h>
600+
//#include <QtQuick/qsgabstractrenderer.h>
601+
//#include <QtQuick/qsgengine.h>
602+
//#include <QtQuick/qsgflatcolormaterial.h>
603+
//#include <QtQuick/qsggeometry.h>
604+
//#include <QtQuick/qsgimagenode.h>
605+
//#include <QtQuick/qsgmaterial.h>
606+
//#include <QtQuick/qsgmaterialrhishader.h>
607+
//#include <QtQuick/qsgmaterialshader.h>
608+
//#include <QtQuick/qsgmaterialtype.h>
609+
//#include <QtQuick/qsgninepatchnode.h>
610+
//#include <QtQuick/qsgnode.h>
611+
//#include <QtQuick/qsgrectanglenode.h>
612+
//#include <QtQuick/qsgrendererinterface.h>
613+
//#include <QtQuick/qsgrendernode.h>
614+
//#include <QtQuick/qsgsimplematerial.h>
615+
//#include <QtQuick/qsgsimplerectnode.h>
616+
//#include <QtQuick/qsgsimpletexturenode.h>
617+
//#include <QtQuick/qsgtexture.h>
618+
//#include <QtQuick/qsgtexturematerial.h>
619+
//#include <QtQuick/qsgtextureprovider.h>
620+
//#include <QtQuick/qsgvertexcolormaterial.h>
621+
//#include <QtQuick/qtquickglobal.h>
622+
//#include <QtQuick/qtquickversion.h>
623+
//#include <QtQuick/qtquick-config.h>
624+
625+
// QtQuickControls2
626+
#include <QtQuickControls2/qquickstyle.h>
627+
//#include <QtQuickControls2/qtquickcontrols2global.h>
628+
//#include <QtQuickControls2/qtquickcontrols2version.h>
629+
//#include <QtQuickControls2/qtquickcontrols2-config.h>

0 commit comments

Comments
 (0)