2 # ANTLR_FOUND - system has ANTLR lib
3 # ANTLR_BINARY - the ANTLR binary
4 # ANTLR_INCLUDE_DIR - the ANTLR include directory
5 # ANTLR_LIBRARIES - Libraries needed to use ANTLR
8 # Check default location of ANTLR built with contrib/get-antlr-3.4.
9 # If the user provides a directory we will not search the default paths and
10 # fail if ANTLR was not found in the specified directory.
12 set(ANTLR_HOME ${PROJECT_SOURCE_DIR}/antlr-3.4)
13 set(CHECK_SYSTEM_VERSION TRUE)
16 find_program(ANTLR_BINARY
18 PATHS ${ANTLR_HOME}/bin
20 find_path(ANTLR_INCLUDE_DIR
22 PATHS ${ANTLR_HOME}/include
24 find_library(ANTLR_LIBRARIES
25 NAMES antlr3c antlr3c-static
26 PATHS ${ANTLR_HOME}/lib
29 if(CHECK_SYSTEM_VERSION)
30 find_program(ANTLR_BINARY NAMES antlr3)
31 find_path(ANTLR_INCLUDE_DIR NAMES antlr3.h)
32 find_library(ANTLR_LIBRARIES NAMES antlr3c)
35 # Check if antlr3FileStreamNew is available. If not we have to
36 # define CVC4_ANTLR3_OLD_INPUT_STREAM (src/parser/CMakeLists.txt).
38 include(CheckSymbolExists)
39 set(CMAKE_REQUIRED_INCLUDES ${ANTLR_INCLUDE_DIR})
40 set(CMAKE_REQUIRED_LIBRARIES ${ANTLR_LIBRARIES})
42 antlr3FileStreamNew "antlr3defs.h" HAVE_ANTLR3_FILE_STREAM_NEW)
45 include(FindPackageHandleStandardArgs)
46 find_package_handle_standard_args(
47 ANTLR DEFAULT_MSG ANTLR_BINARY ANTLR_INCLUDE_DIR ANTLR_LIBRARIES)
49 mark_as_advanced(ANTLR_BINARY ANTLR_INCLUDE_DIR ANTLR_LIBRARIES
50 HAVE_ANTLR3_FILE_STREAM_NEW)
52 message(STATUS "Found ANTLR libs: ${ANTLR_LIBRARIES}")