aboutsummaryrefslogtreecommitdiffstats
path: root/share/qtcreator/templates/wizards/projects/cpplibrary/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'share/qtcreator/templates/wizards/projects/cpplibrary/meson.build')
-rw-r--r--share/qtcreator/templates/wizards/projects/cpplibrary/meson.build56
1 files changed, 56 insertions, 0 deletions
diff --git a/share/qtcreator/templates/wizards/projects/cpplibrary/meson.build b/share/qtcreator/templates/wizards/projects/cpplibrary/meson.build
new file mode 100644
index 0000000000..73b1e67fbc
--- /dev/null
+++ b/share/qtcreator/templates/wizards/projects/cpplibrary/meson.build
@@ -0,0 +1,56 @@
+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)