1 # Copyright (c) PLUMgrid, Inc. 2 # Licensed under the Apache License, Version 2.0 (the "License") 3 4 include_directories(${CMAKE_CURRENT_BINARY_DIR}) 5 include_directories(${CMAKE_CURRENT_SOURCE_DIR}) 6 7 BISON_TARGET(Parser parser.yy ${CMAKE_CURRENT_BINARY_DIR}/parser.yy.cc COMPILE_FLAGS "-o parser.yy.cc -v --debug") 8 FLEX_TARGET(Lexer lexer.ll ${CMAKE_CURRENT_BINARY_DIR}/lexer.ll.cc COMPILE_FLAGS "--c++ --o lexer.ll.cc") 9 ADD_FLEX_BISON_DEPENDENCY(Lexer Parser) 10 if (CMAKE_C_COMPILER_ID STREQUAL "Clang") 11 set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/lexer.ll.cc PROPERTIES COMPILE_FLAGS "-Wno-deprecated-register") 12 endif() 13 14 add_library(b_frontend STATIC loader.cc codegen_llvm.cc node.cc parser.cc printer.cc 15 type_check.cc ${BISON_Parser_OUTPUTS} ${FLEX_Lexer_OUTPUTS}) 16