libabacus/CMakeLists.txt

24 lines
901 B
CMake

cmake_minimum_required(VERSION 2.7)
if(TARGET abacus)
return()
endif(TARGET abacus)
project(libabacus)
add_compile_options(-pedantic -Wall)
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 src/gc.c)
add_executable(libabacus src/main.c)
add_executable(interactive src/interactive.c)
add_subdirectory(external/liblex)
set_property(TARGET abacus PROPERTY C_STANDARD 90)
set_property(TARGET libabacus PROPERTY C_STANDARD 90)
target_include_directories(abacus PUBLIC include)
target_include_directories(libabacus PUBLIC include)
target_link_libraries(abacus lex)
target_link_libraries(libabacus abacus)
target_link_libraries(interactive abacus m)