summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt21
1 files changed, 21 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..fbd7581
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,21 @@
+cmake_minimum_required(VERSION 4.3)
+project(HelloCMake)
+
+find_program(CSC_EXECUTABLE NAMES csc csc.exe)
+if(NOT CSC_EXECUTABLE)
+ message(FATAL_ERROR "C# compiler (csc) not found!")
+endif()
+
+set(OUTPUT_DIR ${CMAKE_BINARY_DIR})
+set(SOURCES ${CMAKE_SOURCE_DIR}/Program.cs)
+set(TARGET HelloCMake)
+set(OUTPUT_FILE ${OUTPUT_DIR}/${TARGET}.exe)
+
+add_custom_command(
+ OUTPUT ${OUTPUT_FILE}
+ COMMAND ${CSC_EXECUTABLE} /target:exe /out:${OUTPUT_FILE} ${SOURCES}
+ DEPENDS ${SOURCES}
+ COMMENT "Compiling ${TARGET} with csc..."
+)
+
+add_custom_target(${TARGET} ALL DEPENDS ${OUTPUT_FILE})