Skip to content

Commit 26a4df2

Browse files
authored
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
1 parent e181745 commit 26a4df2

File tree

6 files changed

+30
-0
lines changed

6 files changed

+30
-0
lines changed

c/driver/bigquery/meson.build

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,11 @@ pkg.generate(
5555
filebase: 'adbc-driver-bigquery',
5656
)
5757

58+
adbc_driver_bigquery_dep = declare_dependency(
59+
include_directories: include_dir,
60+
link_with: adbc_driver_bigquery_lib,
61+
)
62+
5863
exc = executable(
5964
'adbc-driver-bigquery-test',
6065
'bigquery_test.cc',

c/driver/flightsql/meson.build

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,11 @@ pkg.generate(
5555
filebase: 'adbc-driver-flightsql',
5656
)
5757

58+
adbc_driver_flightsql_dep = declare_dependency(
59+
include_directories: include_dir,
60+
link_with: adbc_driver_flightsql_lib,
61+
)
62+
5863
exc = executable(
5964
'adbc-driver-flightsql-test',
6065
'dremio_flightsql_test.cc',

c/driver/postgresql/meson.build

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,11 @@ pkg.generate(
4141
filebase: 'adbc-driver-postgresql',
4242
)
4343

44+
adbc_driver_postgresql_dep = declare_dependency(
45+
include_directories: include_dir,
46+
link_with: adbc_postgres_driver_lib,
47+
)
48+
4449
postgres_tests = {
4550
'driver-postgresql': {
4651
'src_name': 'driver_postgresql',

c/driver/snowflake/meson.build

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,11 @@ pkg.generate(
5555
filebase: 'adbc-driver-snowflake',
5656
)
5757

58+
adbc_driver_snowflake_dep = declare_dependency(
59+
include_directories: include_dir,
60+
link_with: adbc_driver_snowflake_lib,
61+
)
62+
5863
exc = executable(
5964
'adbc-driver-snowflake-test',
6065
'snowflake_test.cc',

c/driver/sqlite/meson.build

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@ pkg.generate(
3939
filebase: 'adbc-driver-sqlite',
4040
)
4141

42+
adbc_driver_sqlite_dep = declare_dependency(
43+
include_directories: include_dir,
44+
link_with: adbc_sqlite3_driver_lib,
45+
)
46+
4247
exc = executable(
4348
'adbc-driver-sqlite-test',
4449
sources: ['sqlite_test.cc'],

c/driver_manager/meson.build

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,8 @@ pkg.generate(
3232
libraries: [adbc_driver_manager_lib],
3333
filebase: 'adbc-driver-manager',
3434
)
35+
36+
adbc_driver_manager_dep = declare_dependency(
37+
include_directories: include_dir,
38+
link_with: adbc_driver_manager_lib,
39+
)

0 commit comments

Comments
 (0)