# Distributed under the OSI-approved BSD 3-Clause License. See accompanying | |
# file Copyright.txt or https://cmake.org/licensing for details. | |
cmake_minimum_required(VERSION ${CMAKE_VERSION}) | |
project(VerifyFortranC C Fortran) | |
option(VERIFY_CXX "Whether to verify C++ and Fortran" OFF) | |
if(VERIFY_CXX) | |
enable_language(CXX) | |
set(VerifyCXX VerifyCXX.cxx) | |
add_definitions(-DVERIFY_CXX) | |
endif() | |
include(FortranCInterface) | |
FortranCInterface_HEADER(VerifyFortran.h SYMBOLS VerifyFortran) | |
include_directories(${VerifyFortranC_BINARY_DIR}) | |
add_library(VerifyFortran STATIC VerifyFortran.f) | |
add_executable(VerifyFortranC main.c VerifyC.c ${VerifyCXX}) | |
target_link_libraries(VerifyFortranC VerifyFortran) | |
if(NOT VERIFY_CXX) | |
# The entry point (main) is defined in C; link with the C compiler. | |
set_property(TARGET VerifyFortranC PROPERTY LINKER_LANGUAGE C) | |
endif() |