summaryrefslogtreecommitdiffstats
path: root/src/boost/tools/build/test/qt5/jamroot.jam
blob: 989e1760849f3a39a5068c8fc63198be8850f75f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#  (c) Copyright Juergen Hunold 2008
#  Use, modification, and distribution are subject to the
#  Boost Software License, Version 1.0. (See accompanying file
#  LICENSE.txt or copy at https://www.bfgroup.xyz/b2/LICENSE.txt)

import qt5 ;
import testing ;
import cast ;

path-constant CWD : . ;

if ! [ qt5.initialized ]
{
    # assuming qt5 from system
    using qt5 : /usr/ ;

    project qttest-initialization : ;

    alias qt-tests-initialization :
      [ run initialization.cpp /qt5//QtCore ]
    : # requirements
    : # default-build
    : # usage-requirements
    ; 
}

if [ qt5.initialized ]
{
    use-project /boost : ../../../.. ;

    project qttest
      : requirements
          <library>/boost/test//boost_unit_test_framework
      ;

    alias qt-tests :
      # Check for explicit libraries, <use>/qt should not link any lib
      [ link-fail qtcorefail.cpp : <use>/qt ]

      [ run qtcore.cpp /qt5//QtCore ]
      [ run qtsql.cpp  /qt5//QtSql  ]
      [ run qtxml.cpp  /qt5//QtXml  ]
      [ run qtnetwork.cpp /qt5//QtNetwork ]
      [ run qtscript.cpp  /qt5//QtScript  ]
      [ run qtscripttools.cpp  /qt5//QtScriptTools  ]
      [ run qtxmlpatterns.cpp  /qt5//QtXmlPatterns  ]

      [ run qtpositioning.cpp  /qt5//QtPositioning  ]

      # ToDo: runable example code
      [ link qtsvg.cpp /qt5//QtSvg ]
      [ link qtwidgets.cpp /qt5//QtWidgets ]

      # Multimedia toolkits.
      [ link qtwebkit.cpp /qt5//QtWebKit ]
      [ link qtwebkitwidgets.cpp /qt5//QtWebKitWidgets ]
      [ link qtmultimedia.cpp /qt5//QtMultimedia ]

      # QtQuick version1
      [ link qtdeclarative.cpp /qt5//QtDeclarative ]

      # QtQuick version2
      [ run qtquick.cpp /qt5//QtQuick : "--" -platform offscreen : $(CWD)/qtquick.qml ]

      [ run qtwebengine.cpp /qt5//QtWebEngine ]
      [ run qtwebenginewidgets.cpp /qt5//QtWebEngineWidgets ]

      # QtSerialPort
      [ run qtserialport.cpp /qt5//QtSerialPort ]

      [ run qtlocation.cpp  /qt5//QtLocation  ]

      [ run qtwebchannel.cpp /qt5//QtWebChannel ]
      [ run qtwebsockets.cpp /qt5//QtWebSockets ]
      [ run qtwebview.cpp /qt5//QtWebView ]

      [ run qtpurchasing.cpp /qt5//QtPurchasing ]

      [ run qtcharts.cpp  /qt5//QtCharts  ]

      [ run qt3dcore.cpp   /qt5//Qt3DCore ]
      [ run qt3drender.cpp /qt5//Qt3DRender ]
      [ run qt3dinput.cpp  /qt5//Qt3DInput ]
      [ run qt3dlogic.cpp  /qt5//Qt3DLogic ]

      [ run qtdatavisualization.cpp /qt5//QtDataVisualization ]

      # Qt Connectivity
      [ run qtbluetooth.cpp /qt5//QtBluetooth ]
      [ run qtnfc.cpp /qt5//QtNfc ]

      [ run qtgamepad.cpp /qt5//QtGamepad ]

      [ run qtscxml.cpp /qt5//QtScxml ]

      [ run qtserialbus.cpp /qt5//QtSerialBus ]


      # Help systems.
      [ link qthelp.cpp      /qt5//QtHelp ]

      # Testing using QtTest. Simple sample
      # ToDo: better support for "automoc" aka '#include "qttest.moc"'
      [ run qttest.cpp [ cast _ moccable5-cpp : qttest.cpp ] /qt5//QtTest : : : <define>TEST_MOCK ]

      # Test moc rule
      [ run mock.cpp mock.h /qt5//QtCore : : : <define>TEST_MOCK ]

      # Test resource compiler
      [ run rcc.cpp rcc.qrc /qt5//QtCore : : : <rccflags>"-compress 9 -threshold 10" ]

   : # requirements
   : # default-build
   : # usage-requirements
   ;
}