This is an automated email from the ASF dual-hosted git repository.

lidavidm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-adbc.git


The following commit(s) were added to refs/heads/main by this push:
     new 26a4df2ec feat(c): Declare dependencies for drivers in Meson 
configuration (#2746)
26a4df2ec is described below

commit 26a4df2ecb31ae52a5cb7cc6d67be20bcffad7e8
Author: William Ayd <[email protected]>
AuthorDate: Mon Apr 28 19:22:52 2025 -0400

    feat(c): Declare dependencies for drivers in Meson configuration (#2746)
    
    These don't impact arrow-adbc directly, but are theoretically helpful
    for downstream projects that might want to use ADBC dependencies from
    source.
    
    With this, on the next release I think we could add arrow-adbc to
    Meson's wrap database, and give users the option of something as simple
    as running:
    
    ```bash
    meson wrap install adbc
    ```
    
    To fetch adbc as a subproject. With that, users could then do:
    
    ```python
    adbc_bigquery_driver_dep = dependency('adbc_bigquery_driver')
    myexc = executable(
        'some-executable',
        sources: [...],
        dependencies: [adbc_bigquery_driver_dep],
    )
    ```
    
    To have Meson automatically compile and link the executable to the
    appropriate driver
---
 c/driver/bigquery/meson.build   | 5 +++++
 c/driver/flightsql/meson.build  | 5 +++++
 c/driver/postgresql/meson.build | 5 +++++
 c/driver/snowflake/meson.build  | 5 +++++
 c/driver/sqlite/meson.build     | 5 +++++
 c/driver_manager/meson.build    | 5 +++++
 6 files changed, 30 insertions(+)

diff --git a/c/driver/bigquery/meson.build b/c/driver/bigquery/meson.build
index 391e7eca1..1bad9fa47 100644
--- a/c/driver/bigquery/meson.build
+++ b/c/driver/bigquery/meson.build
@@ -55,6 +55,11 @@ pkg.generate(
     filebase: 'adbc-driver-bigquery',
 )
 
+adbc_driver_bigquery_dep = declare_dependency(
+    include_directories: include_dir,
+    link_with: adbc_driver_bigquery_lib,
+)
+
 exc = executable(
     'adbc-driver-bigquery-test',
     'bigquery_test.cc',
diff --git a/c/driver/flightsql/meson.build b/c/driver/flightsql/meson.build
index eb84a09f0..ce9e0f383 100644
--- a/c/driver/flightsql/meson.build
+++ b/c/driver/flightsql/meson.build
@@ -55,6 +55,11 @@ pkg.generate(
     filebase: 'adbc-driver-flightsql',
 )
 
+adbc_driver_flightsql_dep = declare_dependency(
+    include_directories: include_dir,
+    link_with: adbc_driver_flightsql_lib,
+)
+
 exc = executable(
     'adbc-driver-flightsql-test',
     'dremio_flightsql_test.cc',
diff --git a/c/driver/postgresql/meson.build b/c/driver/postgresql/meson.build
index dca14d3d6..7dbd11dd3 100644
--- a/c/driver/postgresql/meson.build
+++ b/c/driver/postgresql/meson.build
@@ -41,6 +41,11 @@ pkg.generate(
     filebase: 'adbc-driver-postgresql',
 )
 
+adbc_driver_postgresql_dep = declare_dependency(
+    include_directories: include_dir,
+    link_with: adbc_postgres_driver_lib,
+)
+
 postgres_tests = {
     'driver-postgresql': {
         'src_name': 'driver_postgresql',
diff --git a/c/driver/snowflake/meson.build b/c/driver/snowflake/meson.build
index 6faae3240..1ce6f34a3 100644
--- a/c/driver/snowflake/meson.build
+++ b/c/driver/snowflake/meson.build
@@ -55,6 +55,11 @@ pkg.generate(
     filebase: 'adbc-driver-snowflake',
 )
 
+adbc_driver_snowflake_dep = declare_dependency(
+    include_directories: include_dir,
+    link_with: adbc_driver_snowflake_lib,
+)
+
 exc = executable(
     'adbc-driver-snowflake-test',
     'snowflake_test.cc',
diff --git a/c/driver/sqlite/meson.build b/c/driver/sqlite/meson.build
index 50f1a3515..6ddc91d03 100644
--- a/c/driver/sqlite/meson.build
+++ b/c/driver/sqlite/meson.build
@@ -39,6 +39,11 @@ pkg.generate(
     filebase: 'adbc-driver-sqlite',
 )
 
+adbc_driver_sqlite_dep = declare_dependency(
+    include_directories: include_dir,
+    link_with: adbc_sqlite3_driver_lib,
+)
+
 exc = executable(
     'adbc-driver-sqlite-test',
     sources: ['sqlite_test.cc'],
diff --git a/c/driver_manager/meson.build b/c/driver_manager/meson.build
index 9eb892a2f..8dfdf0e4b 100644
--- a/c/driver_manager/meson.build
+++ b/c/driver_manager/meson.build
@@ -32,3 +32,8 @@ pkg.generate(
     libraries: [adbc_driver_manager_lib],
     filebase: 'adbc-driver-manager',
 )
+
+adbc_driver_manager_dep = declare_dependency(
+    include_directories: include_dir,
+    link_with: adbc_driver_manager_lib,
+)

Reply via email to