-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
38 lines (25 loc) · 790 Bytes
/
CMakeLists.txt
File metadata and controls
38 lines (25 loc) · 790 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
cmake_minimum_required(VERSION 3.10)
add_subdirectory(third-party/yaml-cpp EXCLUDE_FROM_ALL)
add_subdirectory(third-party/googletest EXCLUDE_FROM_ALL)
project(compiler)
set(CMAKE_CXX_CLANG_TIDY clang-tidy -checks=-*,readability-*,-warnings-as-errors=*)
set(CMAKE_CXX_STANDARD 20)
set(COMPILE_FLAGS -Wall -Wextra -pedantic -Werror)
add_subdirectory(driver)
add_subdirectory(ast_components)
add_subdirectory(visitors)
add_subdirectory(symbol_table)
add_subdirectory(scope_table)
add_subdirectory(types)
add_library(
Compiler
INTERFACE
)
target_link_libraries(Compiler INTERFACE Driver Visitors SymbolTable ScopeTable Types)
add_executable(
CompilerExe
main.cpp
)
target_link_libraries(CompilerExe Compiler)
enable_testing()
add_subdirectory(tests)