CMakeLists.txt 865 B

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