You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
989 B
26 lines
989 B
cmake_minimum_required(VERSION 3.5)
|
|
project(FortranC C Fortran)
|
|
|
|
# Skip this test for compilers not known to be compatible.
|
|
if(NOT (CMAKE_C_COMPILER_ID STREQUAL CMAKE_Fortran_COMPILER_ID OR
|
|
"${CMAKE_C_COMPILER_ID}-${CMAKE_Fortran_COMPILER_ID}" MATCHES "^(MSVC-Intel|(GNU|Clang)-LLVMFlang)$"))
|
|
message(STATUS "${CMAKE_C_COMPILER_ID} C and ${CMAKE_Fortran_COMPILER_ID} Fortran not known to be compatible!")
|
|
return()
|
|
endif()
|
|
|
|
# Wipe out all FortranCInterface information to ensure it re-runs.
|
|
file(REMOVE_RECURSE ${CMAKE_BINARY_DIR}/CMakeFiles/FortranCInterface)
|
|
|
|
if(FortranC_TEST_FLAGS)
|
|
# Test whether FortranCInterface checks see C flags.
|
|
set(ENV{TEST_OPT_CC} "--test-opt-cc=1")
|
|
set(CMAKE_C_FLAGS "$ENV{TEST_OPT_CC} ${CMAKE_C_FLAGS}")
|
|
|
|
# Test whether FortranCInterface checks see Fortran flags.
|
|
set(ENV{TEST_OPT_FC} "--test-opt-fc=1")
|
|
set(CMAKE_Fortran_FLAGS "$ENV{TEST_OPT_FC} ${CMAKE_Fortran_FLAGS}")
|
|
endif()
|
|
|
|
include(FortranCInterface)
|
|
FortranCInterface_VERIFY()
|