cmake_modules/FindFreepascal.cmake
branchflibqtfrontend
changeset 8304 620560c89284
parent 8285 a1500ffdc343
equal deleted inserted replaced
8282:1f81bcce3ee6 8304:620560c89284
    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     message(STATUS "Found Freepascal: ${FPC_EXECUTABLE} (version ${FPC_VERSION})")
    17 else()
    17 else()
    18     message(FATAL_ERROR "Could NOT find Freepascal")
    18     message(FATAL_ERROR "Could NOT find Freepascal")
    19 endif()
    19 endif()
    20 
    20 
    21 # Check for noexecstack flag support
    21 # Check for noexecstack flag support
       
    22 message(STATUS "Checking whether linker needs explicit noexecstack")
    22 set(NOEXECSTACK_FLAGS "-k-z" "-knoexecstack")
    23 set(NOEXECSTACK_FLAGS "-k-z" "-knoexecstack")
    23 file(WRITE ${EXECUTABLE_OUTPUT_PATH}/checkstack.pas "begin end.")
    24 file(WRITE ${EXECUTABLE_OUTPUT_PATH}/checkstack.pas "begin end.")
    24 
    25 
    25 execute_process(COMMAND ${FPC_EXECUTABLE} ${NOEXECSTACK_FLAGS} checkstack.pas
    26 execute_process(COMMAND ${FPC_EXECUTABLE} ${NOEXECSTACK_FLAGS} checkstack.pas
    26     WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}
    27     WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}