[libgda: 3/4] meson: Make Vala optional




commit 526d1ea0e2b32dd226d3798ed72c2c25aafe6024
Author: Chris Mayo <aklhfex gmail com>
Date:   Thu Mar 4 19:47:25 2021 +0000

    meson: Make Vala optional
    
    Default to Vala being enabled, with new 'vapi' option.
    
    Fixes configuration failure if Vala is not installed:
    meson.build:1:0: ERROR: Could not execute Vala compiler "valac"

 doc/meson.build       | 2 +-
 libgda-ui/meson.build | 2 +-
 libgda/meson.build    | 8 +++++---
 meson.build           | 7 ++++++-
 meson_options.txt     | 2 +-
 5 files changed, 14 insertions(+), 7 deletions(-)
---
diff --git a/doc/meson.build b/doc/meson.build
index 1721e4757..53798b234 100644
--- a/doc/meson.build
+++ b/doc/meson.build
@@ -8,7 +8,7 @@ configure_file(
        configuration: pageconf
        )
 
-if valadoc.found()
+if enable_vala and valadoc.found()
        vala_doc = custom_target('vala_doc',
                command: [ valadoc,
                        '--pkg=libxml-2.0',
diff --git a/libgda-ui/meson.build b/libgda-ui/meson.build
index a6b4eb563..1cdc0a3ef 100644
--- a/libgda-ui/meson.build
+++ b/libgda-ui/meson.build
@@ -189,7 +189,7 @@ libgdaui_gir = gnome_module.generate_gir(libgdaui,
        install_dir_typelib: join_paths(get_option('libdir'), 'girepository-1.0')
        )
 
-if vapigen.found()
+if enable_vala
 libgdaui_vapi = custom_target('gdaui'+project_api_version+'_vapi',
        command: [vapigen,
                '--girdir='+join_paths(meson.build_root(),'libgda'),
diff --git a/libgda/meson.build b/libgda/meson.build
index 7d0a7f00e..e5c00e9c3 100644
--- a/libgda/meson.build
+++ b/libgda/meson.build
@@ -306,15 +306,16 @@ libgda_cargs += c_args
 libgda_dep += sqlite_deps
 
 vala_sources = []
-if get_option('experimental')
+if enable_vala and get_option('experimental')
 vala_sources += [
        'gda-connection-model.vala'
        ]
 endif
 
+valacs =[]
+if enable_vala
 vala_sourcesf = files(vala_sources)
 valac = meson.get_compiler('vala').cmd_array()
-valacs =[]
 foreach v : vala_sources
        vcs = v.split('.')
 valacs += custom_target('vala-lib',
@@ -328,6 +329,7 @@ valacs += custom_target('vala-lib',
        build_by_default: true
        )
 endforeach
+endif
 
 libgda_deps = [
        libgda_dep,
@@ -390,7 +392,7 @@ libgda_gir = gnome_module.generate_gir(libgda,
        install_dir_gir: join_paths(get_option('datadir'), 'gir-1.0'),
        install_dir_typelib: join_paths(get_option('libdir'), 'girepository-1.0'),
        )
-       if vapigen.found()
+       if enable_vala
        libgda_vala_deps = configure_file(
                input: 'libgda.deps.in',
                output: 'libgda-'+project_api_version+'.deps',
diff --git a/meson.build b/meson.build
index 115f41007..d5689ffb7 100644
--- a/meson.build
+++ b/meson.build
@@ -1,4 +1,4 @@
-project('libgda', 'vala', 'c',
+project('libgda', 'c',
         license: 'LGPL2+',
         version : '6.0.0',
         meson_version: '>= 0.49',
@@ -8,6 +8,11 @@ project('libgda', 'vala', 'c',
                         ],
 )
 
+enable_vala = get_option('vapi')
+if enable_vala
+       enable_vala = add_languages('vala')
+endif
+
 project_version = meson.project_version()
 version_split = project_version.split('.')
 MAJOR_VERSION = version_split[0]
diff --git a/meson_options.txt b/meson_options.txt
index 8305deb12..0c7921d6b 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -17,4 +17,4 @@ option('experimental', type : 'boolean', value : false, description : 'Enable ex
 option('ldap', type : 'boolean', value : false, description : 'Enable experimental LDAP provider')
 option('web', type : 'boolean', value : false, description : 'Enable experimental WEB provider')
 option('flatpak', type : 'boolean', value : false, description : 'Build Flatpak')
-
+option('vapi', type : 'boolean', value : true, description : 'Enable Vala bindings and documentation')


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]