| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- PROJECT(testf Fortran)
- SET(CMAKE_VERBOSE_MAKEFILE 1)
- MESSAGE("ENV_FLAGS = $ENV{FFLAGS}")
- MESSAGE("CMAKE_Fortran_COMPILER_INIT = ${CMAKE_Fortran_COMPILER_INIT}")
- MESSAGE("CMAKE_Fortran_COMPILER_FULLPATH = ${CMAKE_Fortran_COMPILER_FULLPATH}")
- MESSAGE("CMAKE_Fortran_COMPILER = ${CMAKE_Fortran_COMPILER}")
- MESSAGE("CMAKE_Fortran_FLAGS = ${CMAKE_Fortran_FLAGS}")
- ADD_EXECUTABLE(testf hello.f)
- SET(TEST_MODULE_DEPENDS 0)
- IF(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
- ADD_EXECUTABLE(test_module
- test_module_main.f90
- test_module_implementation.f90
- test_module_interface.f90)
- ADD_EXECUTABLE(test_use_in_comment_fixedform
- test_use_in_comment_fixedform.f)
- ADD_EXECUTABLE(test_use_in_comment_freeform
- test_use_in_comment_freeform.f90)
- ADD_EXECUTABLE(test_in_interface
- in_interface/main.f90
- in_interface/module.f90)
- SET(TEST_MODULE_DEPENDS 1)
- ENDIF(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
- IF(TEST_MODULE_DEPENDS)
- # Build the external project separately using a custom target.
- # Make sure it uses the same build configuration as this test.
- IF(CMAKE_CONFIGURATION_TYPES)
- SET(External_CONFIG_TYPE -C "${CMAKE_CFG_INTDIR}")
- ELSE(CMAKE_CONFIGURATION_TYPES)
- SET(External_CONFIG_TYPE)
- ENDIF(CMAKE_CONFIGURATION_TYPES)
- ADD_CUSTOM_COMMAND(
- OUTPUT ${testf_BINARY_DIR}/ExternalProject
- COMMAND ${CMAKE_CTEST_COMMAND}
- ARGS ${External_CONFIG_TYPE}
- --build-and-test
- ${testf_SOURCE_DIR}/External
- ${testf_BINARY_DIR}/External
- --build-noclean
- --build-two-config
- --build-project ExtFort
- --build-generator ${CMAKE_GENERATOR}
- --build-makeprogram ${CMAKE_MAKE_PROGRAM}
- --build-options -DCMAKE_Fortran_COMPILER:STRING=${CMAKE_Fortran_COMPILER}
- -DCMAKE_Fortran_FLAGS:STRING=${CMAKE_Fortran_FLAGS}
- -DCMAKE_Fortran_FLAGS_DEBUG:STRING=${CMAKE_Fortran_FLAGS_DEBUG}
- -DCMAKE_Fortran_FLAGS_RELEASE:STRING=${CMAKE_Fortran_FLAGS_RELEASE}
- -DCMAKE_Fortran_FLAGS_MINSIZEREL:STRING=${CMAKE_Fortran_FLAGS_MINSIZEREL}
- -DCMAKE_Fortran_FLAGS_RELWITHDEBINFO:STRING=${CMAKE_Fortran_FLAGS_RELWITHDEBINFO}
- )
- ADD_CUSTOM_TARGET(ExternalTarget ALL DEPENDS ${testf_BINARY_DIR}/ExternalProject)
- # Test module output directory if available.
- IF(CMAKE_Fortran_MODDIR_FLAG)
- SET(Library_MODDIR "${testf_BINARY_DIR}/Library/modules")
- ELSE(CMAKE_Fortran_MODDIR_FLAG)
- SET(Library_MODDIR "${testf_BINARY_DIR}/Library")
- ENDIF(CMAKE_Fortran_MODDIR_FLAG)
- ADD_SUBDIRECTORY(Library)
- ADD_SUBDIRECTORY(Executable)
- ENDIF(TEST_MODULE_DEPENDS)
|