summaryrefslogtreecommitdiffstats
path: root/Tests/Fortran
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/Fortran')
-rw-r--r--Tests/Fortran/CMakeLists.txt11
-rw-r--r--Tests/Fortran/Executable/CMakeLists.txt2
-rw-r--r--Tests/Fortran/Library/CMakeLists.txt8
3 files changed, 17 insertions, 4 deletions
diff --git a/Tests/Fortran/CMakeLists.txt b/Tests/Fortran/CMakeLists.txt
index de1c824..3a299b2 100644
--- a/Tests/Fortran/CMakeLists.txt
+++ b/Tests/Fortran/CMakeLists.txt
@@ -23,9 +23,7 @@ IF(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
in_interface/main.f90
in_interface/module.f90)
- IF(CMAKE_Fortran_COMPILER_ID MATCHES GNU)
- SET(TEST_MODULE_DEPENDS 1)
- ENDIF(CMAKE_Fortran_COMPILER_ID MATCHES GNU)
+ SET(TEST_MODULE_DEPENDS 1)
ENDIF(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
IF(TEST_MODULE_DEPENDS)
@@ -57,6 +55,13 @@ IF(TEST_MODULE_DEPENDS)
)
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)
diff --git a/Tests/Fortran/Executable/CMakeLists.txt b/Tests/Fortran/Executable/CMakeLists.txt
index 7596ff1..40114e4 100644
--- a/Tests/Fortran/Executable/CMakeLists.txt
+++ b/Tests/Fortran/Executable/CMakeLists.txt
@@ -1,4 +1,4 @@
-include_directories(${testf_BINARY_DIR}/Library)
+include_directories(${Library_MODDIR})
include_directories(${testf_BINARY_DIR}/External)
link_directories(${testf_BINARY_DIR}/External)
diff --git a/Tests/Fortran/Library/CMakeLists.txt b/Tests/Fortran/Library/CMakeLists.txt
index 8d62900..fe1368a 100644
--- a/Tests/Fortran/Library/CMakeLists.txt
+++ b/Tests/Fortran/Library/CMakeLists.txt
@@ -1,3 +1,11 @@
+INCLUDE_DIRECTORIES(${Library_MODDIR})
ADD_LIBRARY(subdir_mods a.f90 b.f90)
ADD_EXECUTABLE(subdir_exe main.f90)
TARGET_LINK_LIBRARIES(subdir_exe subdir_mods)
+
+# Test module output directory if available.
+IF(CMAKE_Fortran_MODDIR_FLAG)
+ SET_TARGET_PROPERTIES(subdir_mods PROPERTIES
+ Fortran_MODULE_DIRECTORY modules
+ )
+ENDIF(CMAKE_Fortran_MODDIR_FLAG)