Stack traces in logs for MASTER_EXCEPTION and HANDLE_PERSISTENT_CONNECTION_EXCEPTION
[hiphop-php.git] / CMake / FindOCaml.cmake
blob1eabb38547c7702dbcc94f17de5b19102a75bfee
1 set(OCAMLC_FOUND FALSE)
2 set(OCAMLC_OPT_SUFFIX "")
4 if(IS_PPC64)
5   # No OCaml port for PPC64 yet, skip it
6   return()
7 endif()
9 find_program(OCAMLC_EXECUTABLE ocamlc DOC "path to ocamlc")
10 mark_as_advanced(OCAMLC_EXECUTABLE)
12 if(OCAMLC_EXECUTABLE)
13   message(STATUS "Found ocamlc: ${OCAMLC_EXECUTABLE}")
14   execute_process(COMMAND ${OCAMLC_EXECUTABLE} -version
15     OUTPUT_VARIABLE OCAMLC_VERSION
16     OUTPUT_STRIP_TRAILING_WHITESPACE)
17   if ("${OCAMLC_VERSION}" VERSION_LESS "4.01")
18     message(FATAL_ERROR "OCaml version ${OCAMLC_VERSION} is too old "
19       "to build the Hack typechecker, need at least 4.01. Directions "
20       "at https://github.com/facebook/hhvm/wiki/Building-and-Installing-HHVM "
21       "may have instructions how to get a newer version for your distro.")
22   else()
23     set(OCAMLC_FOUND TRUE)
25     find_program(OCAMLC_OPT_EXECUTABLE ocamlc.opt DOC "path to ocamlc.opt")
26     mark_as_advanced(OCAMLC_OPT_EXECUTABLE)
28     if (OCAMLC_OPT_EXECUTABLE)
29       message(STATUS "Found ocamlc.opt: ${OCAMLC_OPT_EXECUTABLE}")
30       set(OCAMLC_OPT_SUFFIX ".opt")
31     else()
32       message(STATUS "Could not find ocamlc.opt, "
33         "Hack typechecker build will be slow")
34     endif()
35   endif()
36 else()
37   message(FATAL_ERROR "OCaml not found, can not build Hack typechecker")
38 endif()