From 3789f8b4a07f43be96360d04bfb247cfa75a2cb0 Mon Sep 17 00:00:00 2001 From: albert-github Date: Fri, 18 Oct 2019 18:29:08 +0200 Subject: Adding possibility to automatically build vhdlparser from vhdlparser.jj file - possibility to find the javacc program / script - creating command to compile javaparser.jj with javacc and place files in the right directory when javacc is present. --- cmake/FindJavacc.cmake | 11 +++++++++++ vhdlparser/CMakeLists.txt | 10 ++++++++++ 2 files changed, 21 insertions(+) create mode 100755 cmake/FindJavacc.cmake diff --git a/cmake/FindJavacc.cmake b/cmake/FindJavacc.cmake new file mode 100755 index 0000000..9f476ba --- /dev/null +++ b/cmake/FindJavacc.cmake @@ -0,0 +1,11 @@ + +find_program(JAVACC_EXECUTABLE NAMES javacc javaCC Javacc JavaCC javacc.bat DOC "path to the javacc executable") +message("The path: $ENV{PATH}\n") +mark_as_advanced(JAVACC_EXECUTABLE) +if(JAVACC_EXECUTABLE) + set(JAVACC_FOUND 1) + message(STATUS "The javacc executable: ${JAVACC_EXECUTABLE}") +else() + set(JAVACC_FOUND 0) + message(STATUS "The javacc executable not found, using existing files") +endif() diff --git a/vhdlparser/CMakeLists.txt b/vhdlparser/CMakeLists.txt index f89008c..ad5af28 100644 --- a/vhdlparser/CMakeLists.txt +++ b/vhdlparser/CMakeLists.txt @@ -1,3 +1,13 @@ +find_package(Javacc) +if (JAVACC_FOUND) + add_custom_command( + COMMAND ${JAVACC_EXECUTABLE} -OUTPUT_DIRECTORY=${CMAKE_SOURCE_DIR}/vhdlparser ${CMAKE_SOURCE_DIR}/vhdlparser/vhdlparser.jj + DEPENDS ${CMAKE_SOURCE_DIR}/vhdlparser/vhdlparser.jj + OUTPUT ${CMAKE_SOURCE_DIR}/vhdlparser/CharStream.cc ${CMAKE_SOURCE_DIR}/vhdlparser/CharStream.h ${CMAKE_SOURCE_DIR}/vhdlparser/ErrorHandler.h ${CMAKE_SOURCE_DIR}/vhdlparser/JavaCC.h ${CMAKE_SOURCE_DIR}/vhdlparser/ParseException.cc ${CMAKE_SOURCE_DIR}/vhdlparser/ParseException.h ${CMAKE_SOURCE_DIR}/vhdlparser/Token.cc ${CMAKE_SOURCE_DIR}/vhdlparser/Token.h ${CMAKE_SOURCE_DIR}/vhdlparser/TokenManager.h ${CMAKE_SOURCE_DIR}/vhdlparser/TokenMgrError.cc ${CMAKE_SOURCE_DIR}/vhdlparser/TokenMgrError.h ${CMAKE_SOURCE_DIR}/vhdlparser/VhdlParser.cc ${CMAKE_SOURCE_DIR}/vhdlparser/VhdlParser.h ${CMAKE_SOURCE_DIR}/vhdlparser/VhdlParserConstants.h ${CMAKE_SOURCE_DIR}/vhdlparser/VhdlParserTokenManager.cc ${CMAKE_SOURCE_DIR}/vhdlparser/VhdlParserTokenManager.h + ) + +endif() + include_directories(${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/qtools ${GENERATED_SRC}) add_library(vhdlparser STATIC CharStream.cc -- cgit v0.12 From cda147996c774c7d35c8b2a942f1457cdd38d4f4 Mon Sep 17 00:00:00 2001 From: albert-github Date: Fri, 18 Oct 2019 18:38:11 +0200 Subject: Adding possibility to automatically build vhdlparser from vhdlparser.jj file Removed debug statement --- cmake/FindJavacc.cmake | 1 - 1 file changed, 1 deletion(-) diff --git a/cmake/FindJavacc.cmake b/cmake/FindJavacc.cmake index 9f476ba..c7de776 100755 --- a/cmake/FindJavacc.cmake +++ b/cmake/FindJavacc.cmake @@ -1,6 +1,5 @@ find_program(JAVACC_EXECUTABLE NAMES javacc javaCC Javacc JavaCC javacc.bat DOC "path to the javacc executable") -message("The path: $ENV{PATH}\n") mark_as_advanced(JAVACC_EXECUTABLE) if(JAVACC_EXECUTABLE) set(JAVACC_FOUND 1) -- cgit v0.12