-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
22 lines (21 loc) · 1.42 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
cmake_minimum_required(VERSION 3.6)
add_library(tutorial_compiler_flags INTERFACE)
target_compile_features(tutorial_compiler_flags INTERFACE cxx_std_23)
project(parser LANGUAGES CXX)
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
add_executable(parserTool src/base/main.cpp src/base/BasicNode.cpp src/algorithm/unger.cpp src/base/GramTable.cpp src/base/graph.cpp src/base/DFA.cpp src/base/NFA.cpp src/algorithm/CYK.cpp src/algorithm/RegExpr.cpp src/algorithm/chartTable.cpp src/algorithm/LL_k.cpp)
add_library(parser src/base/BasicNode.cpp src/algorithm/unger.cpp src/base/GramTable.cpp src/base/graph.cpp src/base/DFA.cpp src/base/NFA.cpp src/algorithm/CYK.cpp src/algorithm/RegExpr.cpp src/algorithm/chartTable.cpp src/algorithm/LL_k.cpp)
#target_compile_options(parser PRIVATE "-stdlib=libc++")
#target_compile_options(parserTool PRIVATE "-stdlib=libc++")
##target_link_options(parser PRIVATE "-stdlib=libc++")
#target_link_options(parserTool PRIVATE "-stdlib=libc++")
target_include_directories(parser PUBLIC src/algorithm/ src/base)
target_link_libraries(parser PUBLIC tutorial_compiler_flags)
target_include_directories(parserTool PUBLIC src/algorithm/ src/base)
target_link_libraries(parserTool PUBLIC tutorial_compiler_flags)
add_subdirectory(test/gramTableTest)
add_subdirectory(test/ungerTest)
add_subdirectory(test/CYKTest)
add_subdirectory(test/regExprTest)
add_subdirectory(test/chartTableTest)
add_subdirectory(test/LL_kTest)