summaryrefslogtreecommitdiffstats
path: root/Tests/Fortran
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2007-12-30 21:11:38 (GMT)
committerBrad King <brad.king@kitware.com>2007-12-30 21:11:38 (GMT)
commitb2e8c07af8bca0122d4dfe62c8341dc58c0da2fa (patch)
treef6604b080cf5707dfb3998c276b72445b57659fe /Tests/Fortran
parentcd8a2bbab69af0b36076a7acb0af85dedc4f0f1c (diff)
downloadCMake-b2e8c07af8bca0122d4dfe62c8341dc58c0da2fa.zip
CMake-b2e8c07af8bca0122d4dfe62c8341dc58c0da2fa.tar.gz
CMake-b2e8c07af8bca0122d4dfe62c8341dc58c0da2fa.tar.bz2
ENH: Implemented Fortran module output directory and search path flags.
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)