forked from qt-creator/qt-creator
Most basic project management is implemented: - Project config/build - Build options accessible to user - Lists most build targets - Meson and Ninja added to kit setup - Basic project file tree with files known by Meson - Some basic meson and ninja process output parsing - Some project templates Missing features, that will come later: - Configurable project tree layout - Locators for Meson - Build importer - Access to Machine files for better user fine tuning - ... Fixes: QTCREATORBUG-18117 Change-Id: I2811e71562c113fb0fc6b6177bcf0698fa71ef63 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
57 lines
1.4 KiB
Meson
57 lines
1.4 KiB
Meson
project('%{ProjectName}', 'cpp',
|
|
@if %{IsStatic}
|
|
default_options : ['cpp_std=c++11', 'default_library=static'],
|
|
@else
|
|
default_options : ['cpp_std=c++11', 'default_library=shared'],
|
|
@endif
|
|
meson_version:'>=0.48')
|
|
|
|
@if '%{QtModule}' != 'none'
|
|
# Documentation: https://mesonbuild.com/Qt5-module.html
|
|
qt5 = import('qt5')
|
|
|
|
@if '%{QtModule}' == 'core'
|
|
qt5dep = dependency('qt5', modules : ['Core'])
|
|
@endif
|
|
@if '%{QtModule}' == 'gui'
|
|
qt5dep = dependency('qt5', modules : ['Core', 'Gui'])
|
|
@endif
|
|
@if '%{QtModule}' == 'widgets'
|
|
qt5dep = dependency('qt5', modules : ['Core', 'Gui', 'Widgets'])
|
|
@endif
|
|
|
|
@if %{HasTranslation}
|
|
translations = qt5.compile_translations(ts_files : '%{TsFileName}', build_by_default : true)
|
|
@endif
|
|
|
|
cpp_args = [
|
|
@if %{IsShared}
|
|
'-D%{LibraryDefine}'
|
|
@if %{IsQtPlugin}
|
|
,'-DQT_PLUGIN'
|
|
@endif
|
|
@else
|
|
@if %{IsQtPlugin}
|
|
'-DQT_STATICPLUGIN'
|
|
@endif
|
|
@endif
|
|
]
|
|
|
|
moc_files = qt5.preprocess(moc_headers : [
|
|
@if '%{Type}' === 'shared'
|
|
'%{GlobalHdrFileName}',
|
|
@endif
|
|
'%{HdrFileName}'],
|
|
moc_extra_arguments : cpp_args,
|
|
dependencies: [qt5dep])
|
|
@endif
|
|
|
|
|
|
library('%{ProjectName}', '%{SrcFileName}'
|
|
@if '%{QtModule}' != 'none'
|
|
, moc_files
|
|
, dependencies : [qt5dep]
|
|
, cpp_args : cpp_args
|
|
@endif
|
|
, install : true)
|