summaryrefslogtreecommitdiffstats
path: root/Tests
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2023-03-27 13:51:45 (GMT)
committerKitware Robot <kwrobot@kitware.com>2023-03-27 13:51:59 (GMT)
commit367aa65a9f874f87eea21ee1adce70d65007beb4 (patch)
tree80ef582c69f5351d3b157eb19f7807531d916639 /Tests
parentd0ba94707025275579e41636e67052d287d275b2 (diff)
parent01d7860fdb078dae5198056930e8cfd2ce532d84 (diff)
downloadCMake-367aa65a9f874f87eea21ee1adce70d65007beb4.zip
CMake-367aa65a9f874f87eea21ee1adce70d65007beb4.tar.gz
CMake-367aa65a9f874f87eea21ee1adce70d65007beb4.tar.bz2
Merge topic 'module-depends-static-lib-cycle'
01d7860fdb Ninja,Makefile: Restore Fortran module scanning in static library cycle 846baa7c5b cmGlobalGenerator: Factor out helper to check target ordering Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8363
Diffstat (limited to 'Tests')
-rw-r--r--Tests/FortranModules/Executable/CMakeLists.txt1
-rw-r--r--Tests/FortranModules/Executable/main.f904
-rw-r--r--Tests/FortranModules/Library/CMakeLists.txt7
-rw-r--r--Tests/FortranModules/Library/cycleA1.f903
-rw-r--r--Tests/FortranModules/Library/cycleA2.f905
-rw-r--r--Tests/FortranModules/Library/cycleB1.f903
-rw-r--r--Tests/FortranModules/Library/cycleB2.f905
7 files changed, 27 insertions, 1 deletions
diff --git a/Tests/FortranModules/Executable/CMakeLists.txt b/Tests/FortranModules/Executable/CMakeLists.txt
index f31a3e6..182e23a 100644
--- a/Tests/FortranModules/Executable/CMakeLists.txt
+++ b/Tests/FortranModules/Executable/CMakeLists.txt
@@ -6,3 +6,4 @@ add_executable(subdir_exe2 main.f90)
target_link_libraries(subdir_exe2 subdir_mods subdir_mods2)
add_dependencies(subdir_exe2 ExternalTarget)
target_link_libraries(subdir_exe2 myext)
+target_link_libraries(subdir_exe2 cycleA)
diff --git a/Tests/FortranModules/Executable/main.f90 b/Tests/FortranModules/Executable/main.f90
index 640259c..218eee6 100644
--- a/Tests/FortranModules/Executable/main.f90
+++ b/Tests/FortranModules/Executable/main.f90
@@ -3,5 +3,9 @@ PROGRAM MAINF90
USE libraryModuleB
USE subdirModuleA
USE externalMod
+ USE libraryCycleA
+ USE libraryCycleB
CALL printExtModGreeting
+ CALL libraryCycleA2
+ CALL libraryCycleB2
END PROGRAM MAINF90
diff --git a/Tests/FortranModules/Library/CMakeLists.txt b/Tests/FortranModules/Library/CMakeLists.txt
index 17438ca..e525208 100644
--- a/Tests/FortranModules/Library/CMakeLists.txt
+++ b/Tests/FortranModules/Library/CMakeLists.txt
@@ -3,9 +3,14 @@ add_library(subdir_mods a.f90 b.f90)
add_executable(subdir_exe main.f90)
target_link_libraries(subdir_exe subdir_mods)
+add_library(cycleA STATIC cycleA1.f90 cycleA2.f90)
+add_library(cycleB STATIC cycleB1.f90 cycleB2.f90)
+target_link_libraries(cycleA PRIVATE cycleB)
+target_link_libraries(cycleB PRIVATE cycleA)
+
# Test module output directory if available.
if(CMAKE_Fortran_MODDIR_FLAG)
- set_target_properties(subdir_mods PROPERTIES
+ set_target_properties(subdir_mods cycleA cycleB PROPERTIES
Fortran_MODULE_DIRECTORY modules
)
endif()
diff --git a/Tests/FortranModules/Library/cycleA1.f90 b/Tests/FortranModules/Library/cycleA1.f90
new file mode 100644
index 0000000..cceebe2
--- /dev/null
+++ b/Tests/FortranModules/Library/cycleA1.f90
@@ -0,0 +1,3 @@
+subroutine cycleA1
+use libraryCycleA
+end subroutine
diff --git a/Tests/FortranModules/Library/cycleA2.f90 b/Tests/FortranModules/Library/cycleA2.f90
new file mode 100644
index 0000000..a2e432e
--- /dev/null
+++ b/Tests/FortranModules/Library/cycleA2.f90
@@ -0,0 +1,5 @@
+module libraryCycleA
+contains
+ subroutine libraryCycleA2
+ end subroutine
+end module
diff --git a/Tests/FortranModules/Library/cycleB1.f90 b/Tests/FortranModules/Library/cycleB1.f90
new file mode 100644
index 0000000..d6680fa
--- /dev/null
+++ b/Tests/FortranModules/Library/cycleB1.f90
@@ -0,0 +1,3 @@
+subroutine cycleB1
+use libraryCycleB
+end subroutine
diff --git a/Tests/FortranModules/Library/cycleB2.f90 b/Tests/FortranModules/Library/cycleB2.f90
new file mode 100644
index 0000000..07c774e
--- /dev/null
+++ b/Tests/FortranModules/Library/cycleB2.f90
@@ -0,0 +1,5 @@
+module libraryCycleB
+contains
+ subroutine libraryCycleB2
+ end subroutine
+end module