fix fp issue (#2940)
[cvc5.git] / cmake / FindANTLR.cmake
1 # Find ANTLR
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
6
7
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.
11 if(NOT ANTLR_HOME)
12 set(ANTLR_HOME ${PROJECT_SOURCE_DIR}/antlr-3.4)
13 set(CHECK_SYSTEM_VERSION TRUE)
14 endif()
15
16 find_program(ANTLR_BINARY
17 NAMES antlr3
18 PATHS ${ANTLR_HOME}/bin
19 NO_DEFAULT_PATH)
20 find_path(ANTLR_INCLUDE_DIR
21 NAMES antlr3.h
22 PATHS ${ANTLR_HOME}/include
23 NO_DEFAULT_PATH)
24 find_library(ANTLR_LIBRARIES
25 NAMES antlr3c antlr3c-static
26 PATHS ${ANTLR_HOME}/lib
27 NO_DEFAULT_PATH)
28
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)
33 endif()
34
35 # Check if antlr3FileStreamNew is available. If not we have to
36 # define CVC4_ANTLR3_OLD_INPUT_STREAM (src/parser/CMakeLists.txt).
37 if(ANTLR_INCLUDE_DIR)
38 include(CheckSymbolExists)
39 set(CMAKE_REQUIRED_INCLUDES ${ANTLR_INCLUDE_DIR})
40 set(CMAKE_REQUIRED_LIBRARIES ${ANTLR_LIBRARIES})
41 check_symbol_exists(
42 antlr3FileStreamNew "antlr3defs.h" HAVE_ANTLR3_FILE_STREAM_NEW)
43 endif()
44
45 include(FindPackageHandleStandardArgs)
46 find_package_handle_standard_args(
47 ANTLR DEFAULT_MSG ANTLR_BINARY ANTLR_INCLUDE_DIR ANTLR_LIBRARIES)
48
49 mark_as_advanced(ANTLR_BINARY ANTLR_INCLUDE_DIR ANTLR_LIBRARIES
50 HAVE_ANTLR3_FILE_STREAM_NEW)
51 if(ANTLR_LIBRARIES)
52 message(STATUS "Found ANTLR libs: ${ANTLR_LIBRARIES}")
53 endif()