cmake_minimum_required(VERSION 3.10) project(Lang) set(CMAKE_C_COMPILER clang) set(CMAKE_CXX_COMPILER clang++) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra") include_directories( include include/nodes include/builders include/printers deps/tree-sitter-lang/src deps/tree-sitter/lib/src ) set( NODES src/nodes/type_nodes.cpp src/nodes/expression_nodes.cpp src/nodes/statement_nodes.cpp ) set( BUILDERS src/builders/basic_builders.cpp src/builders/type_builders.cpp src/builders/doc_builders.cpp src/builders/expression_builders.cpp src/builders/statement_builders.cpp ) set( PRINTERS src/printers/basic_printers.cpp src/printers/type_printers.cpp src/printers/doc_printers.cpp src/printers/expression_printers.cpp src/printers/statement_printers.cpp ) set( TYPECHECKERS src/basic_type_check.cpp src/expression_type_check.cpp src/type_check_utils.cpp ) add_executable(lang src/main.cpp src/name_tree.cpp ${NODES} ${BUILDERS} ${PRINTERS} # ${TYPECHECKERS} include/tree_sitter_wrapper.hpp deps/tree-sitter-lang/src/tree_sitter/parser.h deps/tree-sitter-lang/src/parser.c deps/tree-sitter/lib/src/lib.c)