diff options
author | arch1t3cht <arch1t3cht@gmail.com> | 2023-12-05 00:53:59 +0100 |
---|---|---|
committer | Eli Schwartz <eschwartz93@gmail.com> | 2023-12-10 22:01:03 -0500 |
commit | af0464352aa46324a1a59f8a1e82b6cdd46ec891 (patch) | |
tree | 949148de1f4125eb4a74a5a4afe7cfcbc052b5ad /test cases | |
parent | 17c6d5eb478386ad183fa7e11b688217645d8f4f (diff) | |
download | meson-af0464352aa46324a1a59f8a1e82b6cdd46ec891.zip meson-af0464352aa46324a1a59f8a1e82b6cdd46ec891.tar.gz meson-af0464352aa46324a1a59f8a1e82b6cdd46ec891.tar.bz2 |
vs: Manually link generated .o files
Fixes #12550 .
VS automatically links CustomBuild outputs ending in .obj or .res,
but others need to be included explicitly.
Diffstat (limited to 'test cases')
-rw-r--r-- | test cases/common/52 object generator/meson.build | 10 | ||||
-rw-r--r-- | test cases/common/52 object generator/prog.c | 3 | ||||
-rw-r--r-- | test cases/common/52 object generator/source4.c | 3 |
3 files changed, 14 insertions, 2 deletions
diff --git a/test cases/common/52 object generator/meson.build b/test cases/common/52 object generator/meson.build index e20da6f..49590d6 100644 --- a/test cases/common/52 object generator/meson.build +++ b/test cases/common/52 object generator/meson.build @@ -29,6 +29,14 @@ gen2 = generator(python, arguments : [comp, cc, '@INPUT@', '@OUTPUT0@']) generated2 = gen2.process(['source3.c']) -e = executable('prog', 'prog.c', generated, generated2) +# Generate an object file ending with .o even on Windows. +# The VS backend needs to handle .o objects differently from .obj objects. +gen3 = generator(python, + output : '@BASENAME@.o', + arguments : [comp, cc, '@INPUT@', '@OUTPUT@']) + +generated3 = gen3.process(['source4.c']) + +e = executable('prog', 'prog.c', generated, generated2, generated3) test('objgen', e)
\ No newline at end of file diff --git a/test cases/common/52 object generator/prog.c b/test cases/common/52 object generator/prog.c index 9841180..80056dc 100644 --- a/test cases/common/52 object generator/prog.c +++ b/test cases/common/52 object generator/prog.c @@ -1,7 +1,8 @@ int func1_in_obj(void); int func2_in_obj(void); int func3_in_obj(void); +int func4_in_obj(void); int main(void) { - return func1_in_obj() + func2_in_obj() + func3_in_obj(); + return func1_in_obj() + func2_in_obj() + func3_in_obj() + func4_in_obj(); } diff --git a/test cases/common/52 object generator/source4.c b/test cases/common/52 object generator/source4.c new file mode 100644 index 0000000..83f4fab --- /dev/null +++ b/test cases/common/52 object generator/source4.c @@ -0,0 +1,3 @@ +int func4_in_obj(void) { + return 0; +} |