Przeglądaj źródła

cmake调用mono进行csharp文件编译

tanghai 14 lat temu
rodzic
commit
66a8561865
2 zmienionych plików z 21 dodań i 2 usunięć
  1. 16 0
      Cpp/Platform/Mono/CMakeLists.txt
  2. 5 2
      Cpp/Platform/Mono/MonoInit.cs

+ 16 - 0
Cpp/Platform/Mono/CMakeLists.txt

@@ -1,6 +1,7 @@
 FILE(GLOB Header "*.h")
 
 SET(MonoSrc 
+	${Header}
 	MonoInit.cc
 )
 
@@ -12,8 +13,23 @@ IF(UNIX)
 	SET(CMAKE_LINK_LIBRARY_FLAG "${CMAKE_LINK_LIBRARY_FLAG} ${MONO_LINK_FLAGS}")
 ENDIF()
 
+FILE(GLOB MonoCsharpSrc "*.cs")
+MESSAGE(STATUS ${MonoCsharpSrc})
+ADD_CUSTOM_COMMAND(
+	OUTPUT MonoInit.exe
+	COMMAND ${GMCS_EXECUTABLE} 
+	ARGS ${MonoCsharpSrc} -out:${CMAKE_CURRENT_BINARY_DIR}/MonoInit.exe
+	DEPENDS ${MonoCsharpSrc}
+)
+
+ADD_CUSTOM_TARGET(MonoAssembly
+	DEPENDS MonoInit.exe
+)
+
 ADD_EXECUTABLE(MonoInitTest MonoInitTest.cc)
 
+ADD_DEPENDENCIES(MonoInitTest MonoAssembly)
+
 SET(Tests 
 	MonoInitTest
 )

+ 5 - 2
Cpp/Platform/Mono/MonoInit.cs

@@ -1,6 +1,9 @@
-class MonoInit
+using System;
+
+public class MonoInit
 {
-	static void Foo(int value)
+	public static void Main ()
 	{
+		Console.WriteLine("Hello Mono World");
 	}
 }