8671
|
1 |
# - Try to find the Glasgow Haskell Compiler executable
|
|
2 |
# Once done this will define
|
|
3 |
#
|
|
4 |
# GHC_FOUND - system has GHC
|
|
5 |
# GHC_VERSION - GHC version
|
|
6 |
# GHC_EXECUTABLE - GHC executable
|
|
7 |
#
|
|
8 |
# Copyright (c) 2013, Vittorio Giovara <vittorio.giovara@gmail.com>
|
|
9 |
#
|
|
10 |
# Redistribution and use is allowed according to the terms of the BSD license.
|
|
11 |
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
|
12 |
|
|
13 |
|
|
14 |
find_program(GHC_EXECUTABLE
|
|
15 |
NAMES ghc
|
|
16 |
PATHS /opt/local/bin /usr/local/bin /usr/bin
|
|
17 |
)
|
|
18 |
|
|
19 |
if (GHC_EXECUTABLE)
|
10109
|
20 |
# check ghc version
|
8671
|
21 |
execute_process(COMMAND ${GHC_EXECUTABLE} -V
|
|
22 |
OUTPUT_VARIABLE GHC_VERSION_OUTPUT
|
|
23 |
ERROR_VARIABLE GHC_VERSION_ERROR
|
|
24 |
RESULT_VARIABLE GHC_VERSION_RESULT
|
|
25 |
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
26 |
)
|
|
27 |
|
|
28 |
if(${GHC_VERSION_RESULT} EQUAL 0)
|
|
29 |
string(REGEX MATCH "([0-9]+)" GHC_VERSION ${GHC_VERSION_OUTPUT})
|
|
30 |
else()
|
|
31 |
message(SEND_ERROR "Command \"${GHC_EXECUTABLE} -V\" failed with output: ${GHC_VERSION_ERROR}")
|
|
32 |
endif()
|
|
33 |
endif()
|
|
34 |
|
|
35 |
include(FindPackageHandleStandardArgs)
|
|
36 |
find_package_handle_standard_args(GHC DEFAULT_MSG GHC_EXECUTABLE GHC_VERSION)
|
|
37 |
mark_as_advanced(GHC_VERSION)
|
|
38 |
|