aboutsummaryrefslogtreecommitdiff
path: root/test cases/frameworks/4 qt5/meson.build
blob: cfea5ba78a9e60ec4fcfd24e7d78f05a244a0c4a (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
project('qt5 build test', 'cpp')

qt5 = import('qt5')
qt5dep = dependency('qt5', modules : ['Core', 'Gui', 'Widgets'])

prep = qt5.preprocess(
  moc_headers : ['mainWindow.h'], # These need to be fed through the moc tool before use. 
  ui_files : 'mainWindow.ui',     # XML files that need to be compiled with the uic tol.
  qresources : 'stuff.qrc',       # Resource file for rcc compiler.
)

q5exe = executable('qt5app',
  sources : ['main.cpp', 'mainWindow.cpp', # Sources that don't need preprocessing.
  prep],
  dependencies : qt5dep)

# We need a console test application because some test environments
# do not have an X server.

qt5core = dependency('qt5', modules : 'Core')

qt5coreapp = executable('q5core', 'q5core.cpp',
  dependencies : qt5core)

test('qt5test', qt5coreapp)

# The build system needs to include the cpp files from
# headers but the user must manually include moc
# files from sources.
manpreprocessed = qt5.preprocess(
  moc_sources : 'manualinclude.cpp',
  moc_headers : 'manualinclude.h')

q5maninclude = executable('q5maninclude',
  sources : ['manualinclude.cpp', manpreprocessed],
  dependencies : qt5core)

test('q5maninclude', q5maninclude)