blob: 98cdeb75043b1b7535df264b39c00b4f1addc100 [file] [log] [blame]
Karthik Ravindran1b735972017-08-23 12:01:14 -07001# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
2# file Copyright.txt or https://cmake.org/licensing for details.
3
4cmake_minimum_required(VERSION ${CMAKE_VERSION})
5project(VerifyFortranC C Fortran)
6
7option(VERIFY_CXX "Whether to verify C++ and Fortran" OFF)
8if(VERIFY_CXX)
9 enable_language(CXX)
10 set(VerifyCXX VerifyCXX.cxx)
11 add_definitions(-DVERIFY_CXX)
12endif()
13
14include(FortranCInterface)
15
16FortranCInterface_HEADER(VerifyFortran.h SYMBOLS VerifyFortran)
17include_directories(${VerifyFortranC_BINARY_DIR})
18
19add_library(VerifyFortran STATIC VerifyFortran.f)
20add_executable(VerifyFortranC main.c VerifyC.c ${VerifyCXX})
21target_link_libraries(VerifyFortranC VerifyFortran)
22
23if(NOT VERIFY_CXX)
24 # The entry point (main) is defined in C; link with the C compiler.
25 set_property(TARGET VerifyFortranC PROPERTY LINKER_LANGUAGE C)
26endif()