Tests/FortranModules: add test for TARGET_OBJECTS-as-linked-items module usage
Test module usage across a `$<TARGET_OBJECTS>`-as-linked-items use case. See: #25425
This commit is contained in:
parent
7c1e52be87
commit
9d2769ecbd
@ -141,3 +141,5 @@ add_subdirectory(Issue25365-target-objects-iface)
|
||||
# Issue#25425
|
||||
add_subdirectory(ModulesViaTargetObjectsSource)
|
||||
add_subdirectory(ModulesViaSubdirTargetObjectsSource)
|
||||
add_subdirectory(ModulesViaTargetObjectsLink)
|
||||
add_subdirectory(ModulesViaSubdirTargetObjectsLink)
|
||||
|
@ -0,0 +1,7 @@
|
||||
add_subdirectory(subdir)
|
||||
|
||||
add_library(mvstol_lib dummy.f90)
|
||||
target_link_libraries(mvstol_lib PRIVATE "$<TARGET_OBJECTS:mvstol_obj>")
|
||||
target_include_directories(mvstol_lib PUBLIC "${CMAKE_CURRENT_BINARY_DIR}/subdir")
|
||||
add_library(mvstol_use use.f90)
|
||||
target_link_libraries(mvstol_use PRIVATE mvstol_lib)
|
@ -0,0 +1,3 @@
|
||||
pure real function dummy()
|
||||
dummy = 4*atan(1.)
|
||||
end function
|
@ -0,0 +1 @@
|
||||
add_library(mvstol_obj STATIC obj.f90)
|
@ -0,0 +1,11 @@
|
||||
module m1
|
||||
|
||||
implicit none
|
||||
|
||||
contains
|
||||
|
||||
pure real function pi()
|
||||
pi = 4*atan(1.)
|
||||
end function
|
||||
|
||||
end module m1
|
@ -0,0 +1,13 @@
|
||||
module lib
|
||||
|
||||
use m1, only : pi
|
||||
|
||||
implicit none
|
||||
|
||||
contains
|
||||
|
||||
pure real function func()
|
||||
func = pi()
|
||||
end function
|
||||
|
||||
end module
|
@ -0,0 +1,5 @@
|
||||
add_library(mvtol_obj STATIC obj.f90)
|
||||
add_library(mvtol_lib dummy.f90)
|
||||
target_link_libraries(mvtol_lib PRIVATE "$<TARGET_OBJECTS:mvtol_obj>")
|
||||
add_library(mvtol_use use.f90)
|
||||
target_link_libraries(mvtol_use PRIVATE mvtol_lib)
|
@ -0,0 +1,3 @@
|
||||
pure real function dummy()
|
||||
dummy = 4*atan(1.)
|
||||
end function
|
11
Tests/FortranModules/ModulesViaTargetObjectsLink/obj.f90
Normal file
11
Tests/FortranModules/ModulesViaTargetObjectsLink/obj.f90
Normal file
@ -0,0 +1,11 @@
|
||||
module m1
|
||||
|
||||
implicit none
|
||||
|
||||
contains
|
||||
|
||||
pure real function pi()
|
||||
pi = 4*atan(1.)
|
||||
end function
|
||||
|
||||
end module m1
|
13
Tests/FortranModules/ModulesViaTargetObjectsLink/use.f90
Normal file
13
Tests/FortranModules/ModulesViaTargetObjectsLink/use.f90
Normal file
@ -0,0 +1,13 @@
|
||||
module lib
|
||||
|
||||
use m1, only : pi
|
||||
|
||||
implicit none
|
||||
|
||||
contains
|
||||
|
||||
pure real function func()
|
||||
func = pi()
|
||||
end function
|
||||
|
||||
end module
|
Loading…
Reference in New Issue
Block a user