CMake/Tests/FortranC/CMakeLists.txt
Brad King 555fcbd2e2 Test FortranCInterface flag propagation
We create test FortranC.Flags to try passing per-language flags from a
project into its FortranCInterface detect/verify checks.  We wrap the
compilers with scripts that enforce presence of expected flags.
2009-12-14 12:36:25 -05:00

26 lines
933 B
CMake

cmake_minimum_required(VERSION 2.8)
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)$"))
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")
set(CMAKE_C_FLAGS "$ENV{TEST_OPT_CC}")
# Test whether FortranCInterface checks see Fortran flags.
set(ENV{TEST_OPT_FC} "--test-opt-fc")
set(CMAKE_Fortran_FLAGS "$ENV{TEST_OPT_FC}")
endif()
include(FortranCInterface)
FortranCInterface_VERIFY()