2018-02-10 13:38:15 -08:00
|
|
|
cmake_minimum_required(VERSION 2.7)
|
|
|
|
|
|
|
|
if(TARGET abacus)
|
|
|
|
return()
|
|
|
|
endif(TARGET abacus)
|
|
|
|
|
|
|
|
project(libabacus)
|
|
|
|
|
|
|
|
add_compile_options(-pedantic -Wall)
|
|
|
|
|
2018-06-15 20:38:19 -07:00
|
|
|
add_library(abacus STATIC src/lexer.c src/util.c src/table.c src/parser.c src/libabacus.c src/tree.c src/debug.c src/parsetype.c src/reserved.c src/trie.c src/refcount.c src/ref_vec.c src/ref_trie.c src/basetype.c src/value.c src/custom.c src/interpreter.c src/function_list.c src/free_functions.c)
|
2018-02-10 13:38:15 -08:00
|
|
|
add_executable(libabacus src/main.c)
|
2018-05-23 15:41:17 -07:00
|
|
|
add_executable(interactive src/interactive.c)
|
2018-02-10 13:52:33 -08:00
|
|
|
add_subdirectory(external/liblex)
|
2018-02-10 13:38:15 -08:00
|
|
|
|
2018-02-10 13:52:33 -08:00
|
|
|
set_property(TARGET abacus PROPERTY C_STANDARD 90)
|
2018-02-10 13:38:15 -08:00
|
|
|
set_property(TARGET libabacus PROPERTY C_STANDARD 90)
|
2018-02-10 13:52:33 -08:00
|
|
|
target_include_directories(abacus PUBLIC include)
|
2018-02-10 13:38:15 -08:00
|
|
|
target_include_directories(libabacus PUBLIC include)
|
2018-02-10 13:52:33 -08:00
|
|
|
|
|
|
|
target_link_libraries(abacus lex)
|
|
|
|
target_link_libraries(libabacus abacus)
|
2018-08-11 00:41:39 -07:00
|
|
|
target_link_libraries(interactive abacus m)
|