aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/external/metalang99/tests/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'test/external/metalang99/tests/CMakeLists.txt')
-rw-r--r--test/external/metalang99/tests/CMakeLists.txt38
1 files changed, 38 insertions, 0 deletions
diff --git a/test/external/metalang99/tests/CMakeLists.txt b/test/external/metalang99/tests/CMakeLists.txt
new file mode 100644
index 0000000..95153b7
--- /dev/null
+++ b/test/external/metalang99/tests/CMakeLists.txt
@@ -0,0 +1,38 @@
+cmake_minimum_required(VERSION 3.16)
+project(test LANGUAGES C)
+
+if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
+ add_compile_options(-Wall -Wextra -pedantic -std=c99
+ -ftrack-macro-expansion=0)
+elseif(CMAKE_C_COMPILER_ID STREQUAL "Clang")
+ add_compile_options("-fmacro-backtrace-limit=1")
+elseif(CMAKE_C_COMPILER_ID STREQUAL "MSVC")
+ # Enable a standard-conforming C99/C11 preprocessor.
+ add_compile_options("/std:c11")
+elseif(CMAKE_C_COMPILER_ID STREQUAL "TinyCC")
+ add_compile_definitions(ML99_ALLOW_POOR_DIAGNOSTICS)
+endif()
+
+include_directories(../include)
+
+add_executable(metalang99 metalang99.c)
+add_executable(assert assert.c)
+add_executable(choice choice.c)
+add_executable(either either.c)
+add_executable(gen gen.c)
+add_executable(stmt stmt.c)
+add_executable(lang lang.c)
+add_executable(list list.c)
+add_executable(bool bool.c)
+add_executable(maybe maybe.c)
+add_executable(nat nat.c)
+add_executable(ident ident.c)
+add_executable(tuple tuple.c)
+add_executable(util util.c)
+add_executable(variadics variadics.c)
+add_executable(seq seq.c)
+add_executable(rec eval/rec.c)
+
+foreach(TARGET ${BUILDSYSTEM_TARGETS})
+ set_target_properties(TARGET PROPERTIES C_STANDARD 99 C_STANDARD_REQUIRED ON)
+endforeach()