cmake_modules/FindFreepascal.cmake
changeset 8195 37d47f09f981
parent 8188 4c166505e5c8
child 8283 af97cdbb7713
equal deleted inserted replaced
8193:10144ac42d1c 8195:37d47f09f981
    11 if (FPC_EXECUTABLE)
    11 if (FPC_EXECUTABLE)
    12     exec_program(${FPC_EXECUTABLE} ARGS "-v" OUTPUT_VARIABLE FPC_VERSION_FULL)
    12     exec_program(${FPC_EXECUTABLE} ARGS "-v" OUTPUT_VARIABLE FPC_VERSION_FULL)
    13 
    13 
    14     string(REGEX MATCH "[0-9]+\\.[0-9]+" FPC_VERSION_LONG "${FPC_VERSION_FULL}")
    14     string(REGEX MATCH "[0-9]+\\.[0-9]+" FPC_VERSION_LONG "${FPC_VERSION_FULL}")
    15     string(REGEX REPLACE "([0-9]+\\.[0-9]+)" "\\1" FPC_VERSION "${FPC_VERSION_LONG}")
    15     string(REGEX REPLACE "([0-9]+\\.[0-9]+)" "\\1" FPC_VERSION "${FPC_VERSION_LONG}")
       
    16     message(STATUS "Found Freepascal: ${FPC_EXECUTABLE} (version ${FPC_VERSION}")
    16 else()
    17 else()
    17     message(FATAL_ERROR "Freepascal not found (required for hedgewars)")
    18     message(FATAL_ERROR "Could NOT find Freepascal")
    18 endif()
    19 endif()
    19 
    20 
    20 # Check for noexecstack flag support
    21 # Check for noexecstack flag support
    21 set(NOEXECSTACK_FLAGS "-k-z" "-knoexecstack")
    22 set(NOEXECSTACK_FLAGS "-k-z" "-knoexecstack")
    22 file(WRITE ${EXECUTABLE_OUTPUT_PATH}/checkstack.pas "begin end.")
    23 file(WRITE ${EXECUTABLE_OUTPUT_PATH}/checkstack.pas "begin end.")
    30     set(NOEXECSTACK_FLAGS "")
    31     set(NOEXECSTACK_FLAGS "")
    31     message(STATUS "Checking whether linker needs explicit noexecstack -- no")
    32     message(STATUS "Checking whether linker needs explicit noexecstack -- no")
    32 else(TEST_NOEXECSTACK)
    33 else(TEST_NOEXECSTACK)
    33     message(STATUS "Checking whether linker needs explicit noexecstack -- yes")
    34     message(STATUS "Checking whether linker needs explicit noexecstack -- yes")
    34 endif(TEST_NOEXECSTACK)
    35 endif(TEST_NOEXECSTACK)
       
    36