3 message(WARNING "Unsupported operating system")
6 set(antlr4-demo-GENERATED_SRC
7 ${PROJECT_SOURCE_DIR}/demo/generated/TLexer.cpp
8 ${PROJECT_SOURCE_DIR}/demo/generated/TParser.cpp
9 ${PROJECT_SOURCE_DIR}/demo/generated/TParserBaseListener.cpp
10 ${PROJECT_SOURCE_DIR}/demo/generated/TParserBaseVisitor.cpp
11 ${PROJECT_SOURCE_DIR}/demo/generated/TParserListener.cpp
12 ${PROJECT_SOURCE_DIR}/demo/generated/TParserVisitor.cpp
15 foreach(src_file ${antlr4-demo-GENERATED_SRC})
16 set_source_files_properties(
21 endforeach(src_file ${antlr4-demo-GENERATED_SRC})
23 add_custom_target(GenerateParser DEPENDS ${antlr4-demo-GENERATED_SRC})
24 add_custom_command(OUTPUT ${antlr4-demo-GENERATED_SRC}
26 ${CMAKE_COMMAND} -E make_directory ${PROJECT_SOURCE_DIR}/demo/generated/
28 "${Java_JAVA_EXECUTABLE}" -jar ${ANTLR_JAR_LOCATION} -Werror -Dlanguage=Cpp -listener -visitor -o ${PROJECT_SOURCE_DIR}/demo/generated/ -package antlrcpptest ${PROJECT_SOURCE_DIR}/demo/TLexer.g4 ${PROJECT_SOURCE_DIR}/demo/TParser.g4
29 WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
30 DEPENDS ${PROJECT_SOURCE_DIR}/demo/TLexer.g4 ${PROJECT_SOURCE_DIR}/demo/TParser.g4
34 ${PROJECT_SOURCE_DIR}/runtime/src
35 ${PROJECT_SOURCE_DIR}/runtime/src/misc
36 ${PROJECT_SOURCE_DIR}/runtime/src/atn
37 ${PROJECT_SOURCE_DIR}/runtime/src/dfa
38 ${PROJECT_SOURCE_DIR}/runtime/src/tree
39 ${PROJECT_SOURCE_DIR}/runtime/src/support
40 ${PROJECT_SOURCE_DIR}/demo/generated
43 #file(GLOB antlr4-demo_SRC "${PROJECT_SOURCE_DIR}/demo/generated/*")
45 ${PROJECT_SOURCE_DIR}/demo/Linux/main.cpp
46 ${antlr4-demo-GENERATED_SRC}
49 if(NOT CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
50 set (flags_1 "-Wno-overloaded-virtual")
52 set (flags_1 "-MP /wd4251")
55 foreach(src_file ${antlr4-demo_SRC})
56 set_source_files_properties(
59 COMPILE_FLAGS "${COMPILE_FLAGS} ${flags_1}"
61 endforeach(src_file ${antlr4-demo_SRC})
63 add_executable(antlr4-demo
66 #add_precompiled_header(antlr4-demo ${PROJECT_SOURCE_DIR}/runtime/src/antlrcpp-Prefix.h)
68 if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
69 target_compile_options(antlr4-demo PRIVATE "/MT$<$<CONFIG:Debug>:d>")
72 add_dependencies(antlr4-demo GenerateParser)
74 target_link_libraries(antlr4-demo antlr4_static)
76 install(TARGETS antlr4-demo