diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2018-09-21 14:18:31 -0400 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2018-10-08 21:03:32 +0300 |
commit | 38a65821454495cb48ceeb6446de46805fcd2d41 (patch) | |
tree | f032c3db9f2aa4c650cace21609e8d3b8a8b9358 /test cases/common/14 configure file | |
parent | 1e7aea65e68a43b0319a4a28908daddfec621548 (diff) | |
download | meson-38a65821454495cb48ceeb6446de46805fcd2d41.zip meson-38a65821454495cb48ceeb6446de46805fcd2d41.tar.gz meson-38a65821454495cb48ceeb6446de46805fcd2d41.tar.bz2 |
configure_file: Support taking values from a dict
Closes #4218
Diffstat (limited to 'test cases/common/14 configure file')
-rw-r--r-- | test cases/common/14 configure file/meson.build | 24 | ||||
-rw-r--r-- | test cases/common/14 configure file/prog9.c | 18 |
2 files changed, 42 insertions, 0 deletions
diff --git a/test cases/common/14 configure file/meson.build b/test cases/common/14 configure file/meson.build index b040c89..53b06f3 100644 --- a/test cases/common/14 configure file/meson.build +++ b/test cases/common/14 configure file/meson.build @@ -246,3 +246,27 @@ test('configure-file', test_file) cdata = configuration_data() cdata.set('invalid_value', ['array']) + +# Dictionaries + +cdata = configuration_data({ + 'A_STRING' : '"foo"', + 'A_INT' : 42, + 'A_DEFINED' : true, + 'A_UNDEFINED' : false, +}) + +configure_file(output : 'config9a.h', + configuration : cdata, +) + +configure_file(output : 'config9b.h', + configuration : { + 'B_STRING' : '"foo"', + 'B_INT' : 42, + 'B_DEFINED' : true, + 'B_UNDEFINED' : false, + } +) + +test('test9', executable('prog9', 'prog9.c')) diff --git a/test cases/common/14 configure file/prog9.c b/test cases/common/14 configure file/prog9.c new file mode 100644 index 0000000..28c7354 --- /dev/null +++ b/test cases/common/14 configure file/prog9.c @@ -0,0 +1,18 @@ +#include <string.h> +#include <config9a.h> +#include <config9b.h> + +#if defined(A_UNDEFINED) || defined(B_UNDEFINED) +#error "Should not be defined" +#endif + +#if !defined(A_DEFINED) || !defined(B_DEFINED) +#error "Should be defined" +#endif + +int main(int argc, char **argv) { + return strcmp(A_STRING, "foo") + || strcmp(B_STRING, "foo") + || A_INT != 42 + || B_INT != 42; +} |