summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/CheckSourceRuns/CheckSourceRunsFortran.cmake
blob: fc5506a51bceaf6df42e3154ed362cf18c266e6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24


enable_language (Fortran)
include(CheckSourceRuns)

set(Fortran 1) # test that this is tolerated

# lfortran < 1.24 cannot handle long file names.
if(CMAKE_Fortran_COMPILER_ID STREQUAL "LCC" AND CMAKE_Fortran_COMPILER_VERSION VERSION_LESS "1.24")
  string(LENGTH "${CMAKE_CURRENT_BINARY_DIR}" _CCBD_LEN)
  if(_CCBD_LEN GREATER_EQUAL 35)
    return()
  endif()
endif()

check_source_runs(Fortran [=[
      PROGRAM TEST_HAVE_PRINT
        PRINT *, 'Hello'
      END
]=] SHOULD_BUILD)

if(NOT SHOULD_BUILD)
  message(SEND_ERROR "Test fail for valid Fortran source.")
endif()