vala_name = 'vala@0@'.format(vala_version_suffix)
-# https://github.com/mesonbuild/meson/issues/1602
-meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@; ln -fs --relative @1@ valac'.format(join_paths(get_option('prefix'), get_option('bindir')), valac_name))
-meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@; ln -fs --relative @1@ @2@'.format(join_paths(get_option('prefix'), get_option('bindir')), valac_name, vala_name))
-meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@; ln -fs --relative @1@ vala'.format(join_paths(get_option('prefix'), get_option('bindir')), valac_name))
+
+valac_names = [ 'valac', vala_name, 'vala' ]
+
+foreach name: valac_names
+ if cc.get_argument_syntax() == 'msvc'
+ meson.add_install_script('cmd', '/c', 'cd /d @0@ & (if exist @2@.exe del @2@.exe) & mklink @2@.exe @1@.exe'.format(join_paths(get_option('prefix'), get_option('bindir')).replace('/','\\'), valac_name, name))
+ else
+ # https://github.com/mesonbuild/meson/issues/1602
+ meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@; ln -fs --relative @1@ @2@'.format(join_paths(get_option('prefix'), get_option('bindir')), valac_name, name))
+ endif
+endforeach
install_man(manpages)
endif
-# https://github.com/mesonbuild/meson/issues/1602
-meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@/man1; ln -fs --relative vala-gen-introspect.1 @1@'.format(join_paths(get_option('prefix'), get_option('mandir')), 'vala-gen-introspect@0@.1'.format(vala_version_suffix)))
-meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@/man1; ln -fs --relative valac.1 @1@'.format(join_paths(get_option('prefix'), get_option('mandir')), 'valac@0@.1'.format(vala_version_suffix)))
-meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@/man1; ln -fs --relative vapigen.1 @1@'.format(join_paths(get_option('prefix'), get_option('mandir')), 'vapigen@0@.1'.format(vala_version_suffix)))
+man_names = [ 'vala-gen-introspect', 'valac', 'vapigen' ]
if valadoc_enabled
- meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@/man1; ln -fs --relative valadoc.1 @1@'.format(join_paths(get_option('prefix'), get_option('mandir')), 'valadoc@0@.1'.format(vala_version_suffix)))
+ man_names += 'valadoc'
endif
+foreach name: man_names
+ if cc.get_argument_syntax() == 'msvc'
+ meson.add_install_script('cmd', '/c', 'cd /d @0@\man1 & (if exist @1@.1 del @1@.1) & mklink @1@.1 @2@.1'.format(join_paths(get_option('prefix'), get_option('mandir')).replace('/','\\'), '@1@@0@'.format(vala_version_suffix, name), name))
+ else
+ # https://github.com/mesonbuild/meson/issues/1602
+ meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@/man1; ln -fs --relative @2@.1 @1@'.format(join_paths(get_option('prefix'), get_option('mandir'), name), '@1@@0@.1'.format(vala_version_suffix, name)))
+ endif
+endforeach
+
if valadoc_enabled
valadoc_flags = [
install: true,
)
-# https://github.com/mesonbuild/meson/issues/1602
-meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@; ln -fs --relative @1@ valadoc'.format(join_paths(get_option('prefix'), get_option('bindir')), valadoc_name))
+valadoc_names = [ 'valadoc' ]
+
+foreach name: valadoc_names
+ if cc.get_argument_syntax() == 'msvc'
+ meson.add_install_script('cmd', '/c', 'cd /d @0@ & (if exist @2@.exe del @2@.exe) & mklink @2@.exe @1@.exe'.format(join_paths(get_option('prefix'), get_option('bindir')).replace('/','\\'), valadoc_name, name))
+ else
+ # https://github.com/mesonbuild/meson/issues/1602
+ meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@; ln -fs --relative @1@ @2@'.format(join_paths(get_option('prefix'), get_option('bindir')), valadoc_name, name))
+ endif
+endforeach
subdir('doclets')
subdir('icons')
vala_args: ['--pkg', 'gidl', '--vapidir', join_paths(meson.source_root(), 'gobject-introspection')],
)
-# https://github.com/mesonbuild/meson/issues/1602
-meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@; ln -fs --relative @1@ vapigen'.format(join_paths(get_option('prefix'), get_option('bindir')), vapigen_name))
-
vapicheck_sources = files(
'valavapicheck.vala',
)
vala_args: ['--pkg', 'gidl', '--vapidir', join_paths(meson.source_root(), 'gobject-introspection')],
)
-# https://github.com/mesonbuild/meson/issues/1602
-meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@; ln -fs --relative @1@ vapicheck'.format(join_paths(get_option('prefix'), get_option('bindir')), vapicheck_name))
+vapitools_names = [ 'vapigen', 'vapicheck' ]
+
+foreach name: vapitools_names
+ if cc.get_argument_syntax() == 'msvc'
+ meson.add_install_script('cmd', '/c', 'cd /d @0@ & (if exist @1@.exe del @1@.exe) & mklink @1@.exe @1@@2@.exe'.format(join_paths(get_option('prefix'), get_option('bindir')).replace('/','\\'), name, vala_version_suffix))
+ else
+ # https://github.com/mesonbuild/meson/issues/1602
+ meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@; ln -fs --relative @1@@2@ @1@'.format(join_paths(get_option('prefix'), get_option('bindir')), name, vala_version_suffix))
+ endif
+endforeach
configure_file(
input: 'vapigen.pc.in',
install_dir: get_option('bindir'),
)
-# https://github.com/mesonbuild/meson/issues/1602
-meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@; ln -fs @1@ vala-gen-introspect'.format(join_paths(get_option('prefix'), get_option('bindir')), 'vala-gen-introspect@0@'.format(vala_version_suffix)))
+vala_gen_introspect_names = [ 'vala-gen-introspect' ]
+
+foreach name: vala_gen_introspect_names
+ if cc.get_argument_syntax() == 'msvc'
+ meson.add_install_script('cmd', '/c', 'cd /d @0@ & (if exist @2@ del @2@) & mklink @2@ @1@'.format(join_paths(get_option('prefix'), get_option('bindir')).replace('/','\\'), '@1@@0@'.format(vala_version_suffix, name), name))
+ else
+ # https://github.com/mesonbuild/meson/issues/1602
+ meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@; ln -fs @1@ @2@'.format(join_paths(get_option('prefix'), get_option('bindir'), name), '@1@@0@'.format(vala_version_suffix, name)))
+ endif
+endforeach