| # |
| #//===----------------------------------------------------------------------===// |
| #// |
| #// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| #// See https://llvm.org/LICENSE.txt for license information. |
| #// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| #// |
| #//===----------------------------------------------------------------------===// |
| # |
| |
| # Checking a fortran compiler flag |
| # There is no real trivial way to do this in CMake, so we implement it here |
| # this will have ${boolean} = TRUE if the flag succeeds, otherwise false. |
| function(libomp_check_fortran_flag flag boolean) |
| if(NOT DEFINED "${boolean}") |
| set(retval TRUE) |
| set(fortran_source |
| " program hello |
| print *, \"Hello World!\" |
| end program hello") |
| |
| # Compiling as a part of runtimes introduces ARCH-unknown-linux-gnu as a |
| # part of a working directory. So adding a guard for unknown. |
| set(failed_regexes "[Ee]rror;[Uu]nknown[^-];[Ss]kipping") |
| include(CheckFortranSourceCompiles) |
| check_fortran_source_compiles("${fortran_source}" ${boolean} FAIL_REGEX "${failed_regexes}") |
| set(${boolean} ${${boolean}} PARENT_SCOPE) |
| endif() |
| endfunction() |