Skip to content

Commit 8ae7906

Browse files
committed
support msvc in meson build
1 parent c337b49 commit 8ae7906

File tree

1 file changed

+26
-4
lines changed

1 file changed

+26
-4
lines changed

meson.build

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
1-
project('plpgsql_check', ['c'])
1+
project('plpgsql_check', ['c'], version: '2.7')
22

33
pg_config = find_program('pg_config')
44

55
bindir = run_command(pg_config, '--bindir', check: true).stdout().strip()
66
includedir_server = run_command(pg_config, '--includedir-server', check: true).stdout().strip()
7+
includedir = run_command(pg_config, '--includedir', check: true).stdout().strip()
78
pkglibdir = run_command(pg_config, '--pkglibdir', check: true).stdout().strip()
89
sharedir = run_command(pg_config, '--sharedir', check: true).stdout().strip()
10+
libdir = run_command(pg_config, '--libdir', check: true).stdout().strip()
911

1012
versionstring = run_command(pg_config, '--version', check: true).stdout().strip()
1113
pg_version = versionstring.split(' ')[1]
14+
plpgsql_check_version = meson.project_version()
1215

1316
if pg_version.endswith('devel')
1417
pg_version_arr = [pg_version.split('devel')[0], '0']
@@ -44,18 +47,37 @@ plpgsql_check_sources = files(
4447
'src/tracer.c',
4548
)
4649

47-
shared_module(
50+
compilerName = meson.get_compiler('c').get_id()
51+
52+
if meson.get_compiler('c').get_id() == 'msvc'
53+
incdir = [includedir_server / 'port/win32_msvc',
54+
includedir_server / 'port/win32',
55+
includedir_server,
56+
includedir]
57+
postgres_lib = meson.get_compiler('c').find_library(
58+
'postgres',
59+
dirs: libdir,
60+
static: true,
61+
required: true
62+
)
63+
else
64+
incdir = [includedir_server]
65+
postgres_lib = ''
66+
endif
67+
68+
plpgsql_check_lib = shared_module(
4869
'plpgsql_check',
4970
plpgsql_check_sources,
50-
include_directories: [includedir_server],
71+
include_directories: incdir,
5172
install: true,
5273
install_dir: pkglibdir,
5374
name_prefix: '',
75+
dependencies: postgres_lib,
5476
)
5577

5678
install_data(
5779
'plpgsql_check.control',
58-
'plpgsql_check--2.7.sql',
80+
'plpgsql_check--' + plpgsql_check_version + '.sql',
5981
install_dir: sharedir / 'extension',
6082
)
6183

0 commit comments

Comments
 (0)