diff options
author | Brad King <brad.king@kitware.com> | 2016-09-22 18:46:54 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-09-23 12:51:06 (GMT) |
commit | b66bc6606e87c79e3adef55aa963570a5b8f78f2 (patch) | |
tree | 37d624724e696d8c40a2e0ec127954f65a396be0 /Tests/FortranModules/CMakeLists.txt | |
parent | 6757e6608992354300d635a96fed29800a4856c3 (diff) | |
download | CMake-b66bc6606e87c79e3adef55aa963570a5b8f78f2.zip CMake-b66bc6606e87c79e3adef55aa963570a5b8f78f2.tar.gz CMake-b66bc6606e87c79e3adef55aa963570a5b8f78f2.tar.bz2 |
Tests: Add Fortran submodule tests
Co-Author: Damian Rouson <damian@sourceryinstitute.org>
Issue: #16234
Diffstat (limited to 'Tests/FortranModules/CMakeLists.txt')
-rw-r--r-- | Tests/FortranModules/CMakeLists.txt | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/Tests/FortranModules/CMakeLists.txt b/Tests/FortranModules/CMakeLists.txt index b406df3..ff12771 100644 --- a/Tests/FortranModules/CMakeLists.txt +++ b/Tests/FortranModules/CMakeLists.txt @@ -5,6 +5,33 @@ if(NOT DEFINED CMake_TEST_NESTED_MAKE_PROGRAM AND NOT CMAKE_GENERATOR MATCHES "V set(CMake_TEST_NESTED_MAKE_PROGRAM "${CMAKE_MAKE_PROGRAM}") endif() +if("x${CMake_TEST_Fortran_SUBMODULES}" STREQUAL "x" + AND NOT CMAKE_VERSION VERSION_LESS 3.6.20160923 # for CheckFortranSourceCompiles SRC_EXT + ) + include(CheckFortranSourceCompiles) + CHECK_Fortran_SOURCE_COMPILES([[ +module parent + interface + module function id(x) + real, intent(in) :: x + real :: id + end function id + end interface +end module parent +submodule ( parent ) child +contains + module procedure id + f = x + end procedure id +end submodule child +program main +end program +]] HAVE_SUBMODULES SRC_EXT F90) + set(CMake_TEST_Fortran_SUBMODULES ${HAVE_SUBMODULES}) +elseif(CMake_TEST_Fortran_SUBMODULES) + message(STATUS "Enabling Fortran submodule tests by explicit request.") +endif() + add_executable(test_module test_module_main.f90 test_module_implementation.f90 @@ -76,3 +103,7 @@ endif() add_subdirectory(Library) add_subdirectory(Subdir) add_subdirectory(Executable) + +if(CMake_TEST_Fortran_SUBMODULES) + add_subdirectory(Submodules) +endif() |