cmake_modules/FindGHC.cmake
author Wuzzy <Wuzzy2@mail.ru>
Thu, 03 May 2018 15:18:28 +0200
changeset 13360 e27540ad33bd
parent 13291 31615a2e0db1
permissions -rw-r--r--
Massive Continental supplies update List of changes: * Invulnerability protects from sabotage damage * Sabotage kills hog instantly when health reaches 0 * Reliably prevent using of Lonely Cries and baseball bat specials when usage not allowed * Don't explode Anno 1302 and Medicine if drowning * Don't play “Missed” and “Laugh” taunt when those don't make sense * Major rewrite of ALL strings for better usability * Add custom weapon tooltips * Major refactoring * Improve audiovisual effects * Show message when hog receives new continent ammo * Sabotaged hedgehogs also emit smoke when it's not their turn * Can switch continent in reverse order with [Precise]+[Switch] * Fix retreat timer not turning red for some weapons

# - Try to find the Glasgow Haskell Compiler executable
# Once done this will define
#
#  GHC_VERSION        - GHC version
#  GHC_EXECUTABLE     - GHC executable
#  GHC_PKG_VERSION    - ghc-pkg version
#  GHC_PKG_EXECUTABLE - ghc-pkg executable
#
# Copyright (c) 2013, Vittorio Giovara <vittorio.giovara@gmail.com>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.


find_program(GHC_EXECUTABLE
    NAMES ghc
    PATHS /opt/local/bin /usr/local/bin /usr/bin
    )

find_program(GHC_PKG_EXECUTABLE
    NAMES ghc-pkg
    PATHS /opt/local/bin /usr/local/bin /usr/bin
    )

if (GHC_EXECUTABLE)
    # check ghc version
    execute_process(COMMAND ${GHC_EXECUTABLE} -V
                    OUTPUT_VARIABLE GHC_VERSION_OUTPUT
                    ERROR_VARIABLE GHC_VERSION_ERROR
                    RESULT_VARIABLE GHC_VERSION_RESULT
                    OUTPUT_STRIP_TRAILING_WHITESPACE
                    )

    if(${GHC_VERSION_RESULT} EQUAL 0)
        string(REGEX MATCH "([0-9]+)" GHC_VERSION ${GHC_VERSION_OUTPUT})
    else()
        message(SEND_ERROR "Command \"${GHC_EXECUTABLE} -V\" failed with output: ${GHC_VERSION_ERROR}")
    endif()
endif()

if (GHC_PKG_EXECUTABLE)
    # check ghc-pkg version
    execute_process(COMMAND ${GHC_PKG_EXECUTABLE} -V
                    OUTPUT_VARIABLE GHC_PKG_VERSION_OUTPUT
                    ERROR_VARIABLE GHC_PKG_VERSION_ERROR
                    RESULT_VARIABLE GHC_PKG_VERSION_RESULT
                    OUTPUT_STRIP_TRAILING_WHITESPACE
                    )

    if(${GHC_PKG_VERSION_RESULT} EQUAL 0)
        string(REGEX MATCH "([0-9]+)" GHC_PKG_VERSION ${GHC_PKG_VERSION_OUTPUT})
    else()
        message(SEND_ERROR "Command \"${GHC_PKG_EXECUTABLE} -V\" failed with output: ${GHC_PKG_VERSION_ERROR}")
    endif()
endif()

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(GHC DEFAULT_MSG GHC_EXECUTABLE GHC_VERSION)
mark_as_advanced(GHC_VERSION)