mirror of
https://codeberg.org/ProgramSnail/lang.git
synced 2025-12-05 22:48:43 +00:00
67 lines
1.4 KiB
CMake
67 lines
1.4 KiB
CMake
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)
|