Flags.cmake.in 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. set(src "@CMAKE_CURRENT_SOURCE_DIR@/FortranC")
  2. set(bld "@CMAKE_CURRENT_BINARY_DIR@/FortranC/Flags")
  3. # Create wrapper scripts for the compilers that check for expected
  4. # flags, remove them, and invoke the real compiler.
  5. set(ID "CC")
  6. set(COMMAND "@CMAKE_C_COMPILER@")
  7. configure_file("${src}/test_opt.sh.in" "${bld}/cc.sh" @ONLY)
  8. set(ID "FC")
  9. set(COMMAND "@CMAKE_Fortran_COMPILER@")
  10. configure_file("${src}/test_opt.sh.in" "${bld}/fc.sh" @ONLY)
  11. set(ID)
  12. set(COMMAND)
  13. set(make_program "@CMake_TEST_EXPLICIT_MAKE_PROGRAM@")
  14. if(make_program)
  15. set(maybe_make_program "-DCMAKE_MAKE_PROGRAM=${make_program}")
  16. endif()
  17. execute_process(
  18. WORKING_DIRECTORY "${bld}"
  19. COMMAND ${CMAKE_COMMAND} "${src}" -G "@CMAKE_GENERATOR@"
  20. -A "@CMAKE_GENERATOR_PLATFORM@"
  21. -T "@CMAKE_GENERATOR_TOOLSET@"
  22. ${maybe_make_program}
  23. "-DFortranC_TEST_FLAGS=1"
  24. "-DCMAKE_C_COMPILER=${bld}/cc.sh"
  25. "-DCMAKE_C_FLAGS:STRING=@CMAKE_C_FLAGS@"
  26. "-DCMAKE_Fortran_COMPILER=${bld}/fc.sh"
  27. "-DCMAKE_Fortran_FLAGS:STRING=@CMAKE_Fortran_FLAGS@"
  28. RESULT_VARIABLE result
  29. )
  30. if(NOT "${result}" STREQUAL "0")
  31. message(FATAL_ERROR "Configuration failed: ${result}")
  32. endif()