apfl/src/CMakeLists.txt

74 lines
1.7 KiB
Text
Raw Normal View History

2022-09-16 21:04:20 +00:00
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_EXTENSIONS OFF)
add_library(apfl
alloc.c
bytecode.c
compile.c
context.c
error.c
eval.c
expr.c
format.c
gc.c
hashmap.c
globals.c
matcher.c
messages.c
parser.c
position.c
resizable.c
source_readers.c
scope.c
strings.c
token.c
tokenizer.c
value.c
)
add_executable(apfl-bin main.c)
target_link_libraries(apfl-bin PUBLIC apfl)
add_executable(functional-test-runner functional-test-runner.c)
target_link_libraries(functional-test-runner PUBLIC apfl)
2022-09-16 21:04:20 +00:00
set_target_properties(apfl-bin
PROPERTIES RUNTIME_OUTPUT_NAME apfl
)
function(unittest name moresources)
add_executable(${name} test.h ${name}.c ${moresources})
target_link_libraries(${name} PUBLIC apfl)
add_test(NAME ${name} COMMAND ${name})
endfunction()
unittest(tokenizer_test "")
unittest(parser_test "")
unittest(resizable_test "resizable.h")
unittest(hashmap_test "hashmap.h")
unittest(strings_test "")
function(functionaltest name)
add_test(NAME "functionaltest_${name}" COMMAND functional-test-runner ${CMAKE_SOURCE_DIR}/src/functional-tests/${name}.at)
endfunction()
functionaltest("hello-world")
2022-10-30 22:07:53 +00:00
functionaltest("factorial")
functionaltest("function-const-capture")
functionaltest("function-mutable-capture")
functionaltest("map")
functionaltest("deconstruct")
functionaltest("shadowing")
functionaltest("mathops")
functionaltest("len")
functionaltest("not")
functionaltest("type")
2022-10-31 14:50:51 +00:00
functionaltest("if")
2022-10-31 14:51:56 +00:00
functionaltest("while")
2022-11-04 20:51:31 +00:00
functionaltest("eq")
2022-11-19 20:27:08 +00:00
functionaltest("chained-assignments")
2022-09-16 21:04:20 +00:00
install(TARGETS apfl DESTINATION lib)
install(TARGETS apfl-bin DESTINATION bin)
install(FILES apfl.h DESTINATION include)