#! /usr/bin/env python # encoding: utf-8 # Thomas Nagy, 2016 (ita) VERSION='0.0.1' APPNAME='qt5_test' top = '.' out = 'build' def options(opt): opt.load('compiler_cxx qt5') def configure(conf): conf.load('compiler_cxx qt5') #conf.env.append_value('CXXFLAGS', ['-g']) # test # Qt5 may be compiled with '-reduce-relocations' which requires dependent programs to have -fPIE or -fPIC? frag = '#include \nint main(int argc, char **argv) {return 0;}\n' uses = 'QT5CORE QT5WIDGETS QT5GUI' try: conf.check(features='qt5 cxx', use=uses, fragment=frag, msg='See if Qt files compile directly') except conf.errors.ConfigurationError: conf.check(features='qt5 cxx', use=uses, fragment=frag, uselib_store='qt5', cxxflags='-fPIE', msg='Try again with -fPIE', okmsg='-fPIE seems to be required') def build(bld): # According to the Qt5 documentation: # Qt classes in foo.h -> declare foo.h as a header to be processed by moc # add the resulting moc_foo.cpp to the source files # Qt classes in foo.cpp -> include foo.moc at the end of foo.cpp # bld( features = 'qt5 cxx cxxprogram', use = 'QT5CORE QT5GUI QT5SVG QT5WIDGETS', source = 'main.cpp res.qrc but.ui foo.cpp', moc = 'foo.h', target = 'window', includes = '.', lang = bld.path.ant_glob('linguist/*.ts'), langname = 'somefile', # include the .qm files from somefile.qrc )