From ea02c1c48a8a11aab78bd535d18fb17fdf62ae33 Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Mon, 30 Aug 2021 08:45:56 -0400 Subject: msvc: Assume UTF8 source by default Currently every project that uses UTF8 for its source files must add '/utf-8' argument otherwise they don't work non-English locale MSVC. Since meson.build itself is assumed to be UTF8 by default, seems better to assume it for source files by default too. For example: - https://gitlab.freedesktop.org/gstreamer/gst-build/-/blob/master/meson.build#L62 - https://gitlab.gnome.org/GNOME/glib/-/blob/main/meson.build#L29 --- test cases/windows/18 msvc charset/iso-8859-1.c | 7 +++++++ test cases/windows/18 msvc charset/meson.build | 15 +++++++++++++++ test cases/windows/18 msvc charset/meson_options.txt | 1 + test cases/windows/18 msvc charset/utf8.c | 7 +++++++ 4 files changed, 30 insertions(+) create mode 100644 test cases/windows/18 msvc charset/iso-8859-1.c create mode 100644 test cases/windows/18 msvc charset/meson.build create mode 100644 test cases/windows/18 msvc charset/meson_options.txt create mode 100644 test cases/windows/18 msvc charset/utf8.c (limited to 'test cases/windows') diff --git a/test cases/windows/18 msvc charset/iso-8859-1.c b/test cases/windows/18 msvc charset/iso-8859-1.c new file mode 100644 index 000000000..66c6a008a --- /dev/null +++ b/test cases/windows/18 msvc charset/iso-8859-1.c @@ -0,0 +1,7 @@ +#include + +int main(int argc, char *argcv[]) +{ + printf("This is ISO-8859-1 encoded é\n"); + return 0; +} diff --git a/test cases/windows/18 msvc charset/meson.build b/test cases/windows/18 msvc charset/meson.build new file mode 100644 index 000000000..bb6f667af --- /dev/null +++ b/test cases/windows/18 msvc charset/meson.build @@ -0,0 +1,15 @@ +project('charset', 'c') + +cc = meson.get_compiler('c') + +if cc.get_id() != 'msvc' + error('MESON_SKIP_TEST requires MSVC.') +endif + +executable('utf8', 'utf8.c') + +if get_option('test-failure') + executable('iso-8859-1', 'iso-8859-1.c') +else + executable('iso-8859-1', 'iso-8859-1.c', c_args: '/source-charset:.850') +endif diff --git a/test cases/windows/18 msvc charset/meson_options.txt b/test cases/windows/18 msvc charset/meson_options.txt new file mode 100644 index 000000000..2cfba6368 --- /dev/null +++ b/test cases/windows/18 msvc charset/meson_options.txt @@ -0,0 +1 @@ +option('test-failure', type: 'boolean', value: false) diff --git a/test cases/windows/18 msvc charset/utf8.c b/test cases/windows/18 msvc charset/utf8.c new file mode 100644 index 000000000..d6dc5aa06 --- /dev/null +++ b/test cases/windows/18 msvc charset/utf8.c @@ -0,0 +1,7 @@ +#include + +int main(int argc, char *argcv[]) +{ + printf("This is UTF-8 encoded é\n"); + return 0; +} -- cgit v1.2.3