From c9795fe01adfdbca2b3c8a551009f97ae4695409 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Eric=20Janouch?= Date: Thu, 17 Sep 2020 09:15:54 +0200 Subject: [PATCH] Add ability to build with Meson So that vala-language-server can be used, see also https://github.com/benwaffle/vala-language-server/issues/73 Works with both vim-lsp and Qt Creator, to some extent. --- .gitignore | 2 ++ config.vala.in | 4 ++-- meson.build | 33 +++++++++++++++++++++++++++++++++ xext.deps | 1 + xextproto.vapi | 1 + 5 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 meson.build create mode 100644 xext.deps create mode 100644 xextproto.vapi diff --git a/.gitignore b/.gitignore index f0310d6..d5b6b39 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,5 @@ /wdmtg.files /wdmtg.creator* /wdmtg.includes +/wdmtg.cflags +/wdmtg.cxxflags diff --git a/config.vala.in b/config.vala.in index ac8dff2..9a4b63b 100644 --- a/config.vala.in +++ b/config.vala.in @@ -1,8 +1,8 @@ [CCode (cprefix = "", lower_case_cprefix = "")] namespace Config { - public const string PROJECT_NAME = "${CMAKE_PROJECT_NAME}"; - public const string PROJECT_VERSION = "${project_VERSION}"; + public const string PROJECT_NAME = "@CMAKE_PROJECT_NAME@"; + public const string PROJECT_VERSION = "@project_VERSION@"; public const string SHARE_DIR = "@project_SHARE_DIR@"; } diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..7fd699d --- /dev/null +++ b/meson.build @@ -0,0 +1,33 @@ +project('wdmtg', 'vala', 'c', default_options : ['c_std=gnu99'], + version : '0.1.0') +add_project_arguments(['--vapidir', meson.current_source_dir()], + language: 'vala') + +conf = configuration_data() +conf.set('CMAKE_PROJECT_NAME', meson.project_name()) +conf.set('project_VERSION', meson.project_version()) +configure_file( + input : 'config.vala.in', + output : 'config.vala', + configuration : conf, +) + +dependencies = [ + dependency('gtk+-3.0'), + dependency('gmodule-2.0'), + dependency('gio-2.0'), + dependency('gee-0.8'), + dependency('sqlite3'), + dependency('x11'), + + # Ours + dependency('xext'), + dependency('xextproto'), +] +sources = files( + 'wdmtg.vala', + meson.current_build_dir() / 'config.vala', +) +executable('wdmtg', sources, + install : true, + dependencies : dependencies) diff --git a/xext.deps b/xext.deps new file mode 100644 index 0000000..e181da0 --- /dev/null +++ b/xext.deps @@ -0,0 +1 @@ +x11 diff --git a/xextproto.vapi b/xextproto.vapi new file mode 100644 index 0000000..d5e2b49 --- /dev/null +++ b/xextproto.vapi @@ -0,0 +1 @@ +// https://github.com/mesonbuild/meson/issues/1195