efl/src/tests/efl_mono
Lauro Moura 17a81bee4a csharp: Revamp dotnet support
Summary:
Instead of building with a patched meson version, make use of custom
targets and generated csproj files so we can used upstream meson
normally.

This avoids digging into "non official" dotnet stuff like calling
the CSC.dll directly that the patched meson tried to do.

To enable, run meson with `-Ddotnet=true`.

Regarding source file dependencies, Meson has a limitation[1]
about generated artifacts being placed in subdirectories.

In order to correctly track these generated artifacts for dotnet, we
generated them in the same folder as the csproj file through
`dotnet build -o`.

Instead of installing the dll like we do for mono, a nupkg is generated
and installed in the same folder as the dll would be
(<prefix>/lib/x86_64-linux-gnu/efl-mono-1)

To avoid messing around with Nupkg caches, we reference the source
project for the library directly instead of the nupkg when building the
test suite.

[1] https://github.com/mesonbuild/meson/issues/2320

Fixes T8168

Reviewers: bu5hm4n, woohyun, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, brunobelo, felipealmeida, segfaultxavi

Tags: #efl, #do_not_merge

Maniphest Tasks: T8168

Differential Revision: https://phab.enlightenment.org/D9717
2019-11-06 11:20:19 -03:00
..
.gitignore
BasicDirection.cs csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
Eina.cs csharp: space after keywords. 2019-10-31 07:53:00 -03:00
EinaTestData.cs csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
Eldbus.cs csharp: space after keywords. 2019-10-31 07:53:00 -03:00
Eo.cs csharp: space after keywords. 2019-10-31 07:53:00 -03:00
EoConstruction.cs csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
EoPromises.cs csharp: Calling ConfigureAwait on task eopromises. 2019-10-25 11:28:39 -03:00
Errors.cs csharp: Add missing exception ctor from Errors.cs. 2019-10-28 12:23:34 -03:00
Events.cs csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
FunctionPointerMarshalling.cs csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
FunctionPointers.cs csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
Hash.cs csharp: Fix Hash.DelByValue 2019-09-13 19:22:39 -03:00
Inheritance.cs csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
Main.cs csharp: space after keywords. 2019-10-31 07:53:00 -03:00
Model.cs csharp: Changing visibility of nested class/struct 2019-11-04 14:53:54 -03:00
Parts.cs csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
Promises.cs csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
Strbuf.cs csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
Strings.cs csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
StructHelpers.cs csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
Structs.cs csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
TestUtils.cs csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
Value.cs csharp: space after keywords. 2019-10-31 07:53:00 -03:00
ValueEolian.cs csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
dummy_child.c csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
dummy_child.eo Revert "eolian: disallow missing docs for stable API where necessary" 2019-09-30 19:48:19 +02:00
dummy_constructible_object.c csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
dummy_constructible_object.eo Revert "eolian: disallow missing docs for stable API where necessary" 2019-09-30 19:48:19 +02:00
dummy_event_manager.c csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
dummy_event_manager.eo Revert "eolian: disallow missing docs for stable API where necessary" 2019-09-30 19:48:19 +02:00
dummy_hidden_object.c csharp: Fix wrapping of private classes 2019-09-24 18:00:05 -03:00
dummy_hidden_object.eo Revert "eolian: disallow missing docs for stable API where necessary" 2019-09-30 19:48:19 +02:00
dummy_inherit_helper.c csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
dummy_inherit_helper.eo Revert "eolian: disallow missing docs for stable API where necessary" 2019-09-30 19:48:19 +02:00
dummy_inherit_iface.eo Revert "eolian: disallow missing docs for stable API where necessary" 2019-09-30 19:48:19 +02:00
dummy_interfaces.c csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
dummy_numberwrapper.c csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
dummy_numberwrapper.eo Revert "eolian: disallow missing docs for stable API where necessary" 2019-09-30 19:48:19 +02:00
dummy_part_holder.c csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
dummy_part_holder.eo Revert "eolian: disallow missing docs for stable API where necessary" 2019-09-30 19:48:19 +02:00
dummy_test_iface.eo csharp: Add since info to members related to events. 2019-10-12 19:20:58 -03:00
dummy_test_object.c eolian: Imply @no_unused if @move in return. 2019-11-05 16:54:17 -03:00
dummy_test_object.eo csharp: Add since info to members related to events. 2019-10-12 19:20:58 -03:00
efl-mono-suite.runtimeconfig.json efl-mono: Add support for dotnet core 2019-03-01 23:58:56 -03:00
efl_sharp_test_suite.csproj.in csharp: Revamp dotnet support 2019-11-06 11:20:19 -03:00
libefl_mono_native_test.h csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
meson.build csharp: Revamp dotnet support 2019-11-06 11:20:19 -03:00
mono_test_driver.sh efl_mono: fix test and example compilation on Windows 2017-12-15 22:26:30 -02:00