summaryrefslogtreecommitdiffstats
path: root/foobar
diff options
context:
space:
mode:
Diffstat (limited to 'foobar')
-rw-r--r--foobar/CMakeLists.txt18
-rw-r--r--foobar/FooBar.cs9
2 files changed, 27 insertions, 0 deletions
diff --git a/foobar/CMakeLists.txt b/foobar/CMakeLists.txt
new file mode 100644
index 0000000..87dbba4
--- /dev/null
+++ b/foobar/CMakeLists.txt
@@ -0,0 +1,18 @@
+set(FOOBAR_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/FooBar.cs)
+set(FOOBAR_OUTPUT ${CMAKE_BINARY_DIR}/FooBar.dll)
+
+add_custom_command(
+ OUTPUT ${FOOBAR_OUTPUT}
+ COMMAND dotnet ${CSC_DLL}
+ -target:library
+ -out:${FOOBAR_OUTPUT}
+ -lib:${RUNTIME_DIR}
+ -reference:System.Private.CoreLib.dll
+ -reference:System.Runtime.dll
+ -reference:System.Console.dll
+ ${FOOBAR_SOURCES}
+ DEPENDS ${FOOBAR_SOURCES}
+ COMMENT "Compiling FooBar library with Roslyn csc..."
+)
+
+add_custom_target(FooBar ALL DEPENDS ${FOOBAR_OUTPUT})
diff --git a/foobar/FooBar.cs b/foobar/FooBar.cs
new file mode 100644
index 0000000..fea9685
--- /dev/null
+++ b/foobar/FooBar.cs
@@ -0,0 +1,9 @@
+using System;
+
+public class FooBar
+{
+ public static void Print()
+ {
+ Console.WriteLine("FooBar");
+ }
+}