@@ -0,0 +1,43 @@
1+cmake_minimum_required(VERSION 3.7.2)
2+
3+project(libsel4-idris-rts C)
4+
5+file(GLOB static
6+ rts/idris_rts.c
7+ rts/idris_heap.c
8+ rts/idris_gc.c
9+ rts/idris_gmp.c
10+ rts/idris_bitstring.c
11+ rts/idris_opts.c
12+ rts/idris_stats.c
13+ rts/idris_utf8.c
14+ rts/idris_stdfgn.c
15+ rts/mini-gmp.c
16+ rts/idris_buffer.c
17+ rts/getline.c
18+ rts/idris_net.c
19+ rts/seL4/idris_main.c
20+)
21+
22+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
23+# Ignore some warnings
24+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-parameter")
25+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-sign-compare")
26+# Don't use the host machines' environment when cross compiling
27+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -undef")
28+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DIDRIS_TARGET_OS=\"\\\"seL4\\\"\"")
29+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DSEL4")
30+execute_process(
31+ COMMAND ${CMAKE_C_COMPILER} -dumpmachine
32+ OUTPUT_VARIABLE MACHINE
33+ OUTPUT_STRIP_TRAILING_WHITESPACE
34+)
35+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DIDRIS_TARGET_TRIPLE=\"\\\"${MACHINE}\\\"\"")
36+
37+add_library(sel4-idris-rts EXCLUDE_FROM_ALL ${static})
38+target_include_directories(sel4-idris-rts PUBLIC rts)
39+target_link_libraries(
40+ sel4-idris-rts
41+ Configuration
42+ muslc
43+)