New upstream version 3.27.6
This commit is contained in:
parent
70c5390bb2
commit
d8bb5ae4fe
@ -285,8 +285,8 @@ Changes made since CMake 3.27.0 include the following.
|
||||
to select the Windows 8.1 SDK. In CMake 3.27.[0-1] the ``version=`` field
|
||||
was limited to selecting Windows 10 SDKs.
|
||||
|
||||
3.27.3, 3.27.4, 3.27.5
|
||||
----------------------
|
||||
3.27.3, 3.27.4, 3.27.5, 3.27.6
|
||||
------------------------------
|
||||
|
||||
* These versions made no changes to documented features or interfaces.
|
||||
Some implementation updates were made to support ecosystem changes
|
||||
|
@ -1,7 +1,7 @@
|
||||
# CMake version number components.
|
||||
set(CMake_VERSION_MAJOR 3)
|
||||
set(CMake_VERSION_MINOR 27)
|
||||
set(CMake_VERSION_PATCH 5)
|
||||
set(CMake_VERSION_PATCH 6)
|
||||
#set(CMake_VERSION_RC 0)
|
||||
set(CMake_VERSION_IS_DIRTY 0)
|
||||
|
||||
@ -21,7 +21,7 @@ endif()
|
||||
|
||||
if(NOT CMake_VERSION_NO_GIT)
|
||||
# If this source was exported by 'git archive', use its commit info.
|
||||
set(git_info [==[7d3b4868d0 CMake 3.27.5]==])
|
||||
set(git_info [==[51b34a5483 CMake 3.27.6]==])
|
||||
|
||||
# Otherwise, try to identify the current development source version.
|
||||
if(NOT git_info MATCHES "^([0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]?[0-9a-f]?)[0-9a-f]* "
|
||||
|
@ -539,8 +539,9 @@ bool cmComputeLinkInformation::Compute()
|
||||
this->Target->GetType() == cmStateEnums::SHARED_LIBRARY ||
|
||||
this->Target->GetType() == cmStateEnums::MODULE_LIBRARY ||
|
||||
this->Target->GetType() == cmStateEnums::STATIC_LIBRARY ||
|
||||
this->Target->HaveCxx20ModuleSources() ||
|
||||
this->Target->HaveFortranSources())) {
|
||||
(this->Target->CanCompileSources() &&
|
||||
(this->Target->HaveCxx20ModuleSources() ||
|
||||
this->Target->HaveFortranSources())))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -125,3 +125,12 @@ add_subdirectory(Executable)
|
||||
if(CMake_TEST_Fortran_SUBMODULES)
|
||||
add_subdirectory(Submodules)
|
||||
endif()
|
||||
|
||||
add_subdirectory(Issue25112)
|
||||
add_subdirectory(Issue25223)
|
||||
if( # Intel Fortran VS Integration breaks on custom targets with Fortran sources
|
||||
NOT CMAKE_GENERATOR MATCHES "Visual Studio")
|
||||
add_subdirectory(Issue25252)
|
||||
add_subdirectory(Issue25252-iface-target)
|
||||
endif()
|
||||
add_subdirectory(Issue25252-iface-sources)
|
||||
|
4
Tests/FortranModules/Issue25112/CMakeLists.txt
Normal file
4
Tests/FortranModules/Issue25112/CMakeLists.txt
Normal file
@ -0,0 +1,4 @@
|
||||
set(CMAKE_Fortran_MODULE_DIRECTORY "${PROJECT_BINARY_DIR}/include")
|
||||
add_library(objmod OBJECT objmod.f90)
|
||||
add_executable(objmain objmain.f90)
|
||||
target_link_libraries(objmain PRIVATE objmod)
|
15
Tests/FortranModules/Issue25223/CMakeLists.txt
Normal file
15
Tests/FortranModules/Issue25223/CMakeLists.txt
Normal file
@ -0,0 +1,15 @@
|
||||
# See https://gist.github.com/scivision/8e3070319f0577f7d3efcba863638cae
|
||||
set(CMAKE_Fortran_MODULE_DIRECTORY "${PROJECT_BINARY_DIR}/include")
|
||||
add_library(m1 OBJECT m1.f90)
|
||||
|
||||
add_library(m2 OBJECT m2.f90)
|
||||
target_link_libraries(m2 PRIVATE m1)
|
||||
|
||||
add_library(m3 OBJECT m3.f90)
|
||||
target_link_libraries(m3 PRIVATE m2)
|
||||
|
||||
add_library(m4 OBJECT m4.f90)
|
||||
target_link_libraries(m4 PRIVATE m3)
|
||||
|
||||
add_executable(main25223 main.f90)
|
||||
target_link_libraries(main25223 PRIVATE m4 m3 m2 m1)
|
11
Tests/FortranModules/Issue25223/m1.f90
Normal file
11
Tests/FortranModules/Issue25223/m1.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/Issue25223/m2.f90
Normal file
13
Tests/FortranModules/Issue25223/m2.f90
Normal file
@ -0,0 +1,13 @@
|
||||
module m2
|
||||
|
||||
use m1, only : pi
|
||||
|
||||
implicit none
|
||||
|
||||
contains
|
||||
|
||||
pure real function twopi()
|
||||
twopi = 2*pi()
|
||||
end function
|
||||
|
||||
end module
|
13
Tests/FortranModules/Issue25223/m3.f90
Normal file
13
Tests/FortranModules/Issue25223/m3.f90
Normal file
@ -0,0 +1,13 @@
|
||||
module m3
|
||||
|
||||
use m2, only : twopi
|
||||
|
||||
implicit none
|
||||
|
||||
contains
|
||||
|
||||
pure real function fourpi()
|
||||
fourpi = 2*twopi()
|
||||
end function
|
||||
|
||||
end module
|
13
Tests/FortranModules/Issue25223/m4.f90
Normal file
13
Tests/FortranModules/Issue25223/m4.f90
Normal file
@ -0,0 +1,13 @@
|
||||
module m4
|
||||
|
||||
use m3, only : fourpi
|
||||
|
||||
implicit none
|
||||
|
||||
contains
|
||||
|
||||
pure real function halfpi()
|
||||
halfpi = fourpi() / 8.0
|
||||
end function
|
||||
|
||||
end module
|
15
Tests/FortranModules/Issue25223/main.f90
Normal file
15
Tests/FortranModules/Issue25223/main.f90
Normal file
@ -0,0 +1,15 @@
|
||||
program main
|
||||
|
||||
use m1, only : pi
|
||||
use m4, only : halfpi
|
||||
|
||||
implicit none
|
||||
|
||||
real :: rpi, rhalfpi
|
||||
|
||||
rpi = pi() / 2
|
||||
rhalfpi = halfpi()
|
||||
|
||||
print '(a,ES15.8)', 'floating point precision loss: ', rpi - rhalfpi
|
||||
|
||||
end program
|
@ -0,0 +1,9 @@
|
||||
enable_language(C)
|
||||
|
||||
add_library(fortran_source_iface_sources STATIC lib.c)
|
||||
target_sources(fortran_source_iface_sources
|
||||
INTERFACE
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/iface.f90")
|
||||
|
||||
add_library(lib25252-iface-sources lib.f90)
|
||||
target_link_libraries(lib25252-iface-sources PRIVATE fortran_source_iface_sources)
|
11
Tests/FortranModules/Issue25252-iface-sources/iface.f90
Normal file
11
Tests/FortranModules/Issue25252-iface-sources/iface.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
|
4
Tests/FortranModules/Issue25252-iface-sources/lib.c
Normal file
4
Tests/FortranModules/Issue25252-iface-sources/lib.c
Normal file
@ -0,0 +1,4 @@
|
||||
int f()
|
||||
{
|
||||
return 0;
|
||||
}
|
13
Tests/FortranModules/Issue25252-iface-sources/lib.f90
Normal file
13
Tests/FortranModules/Issue25252-iface-sources/lib.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
|
@ -0,0 +1,5 @@
|
||||
add_library(fortran_source_iface INTERFACE
|
||||
iface.f90)
|
||||
|
||||
add_library(lib25252-iface-target lib.f90)
|
||||
add_dependencies(lib25252-iface-target fortran_source_iface)
|
5
Tests/FortranModules/Issue25252-iface-target/iface.f90
Normal file
5
Tests/FortranModules/Issue25252-iface-target/iface.f90
Normal file
@ -0,0 +1,5 @@
|
||||
program main
|
||||
|
||||
implicit none
|
||||
|
||||
end program
|
11
Tests/FortranModules/Issue25252-iface-target/lib.f90
Normal file
11
Tests/FortranModules/Issue25252-iface-target/lib.f90
Normal file
@ -0,0 +1,11 @@
|
||||
module lib
|
||||
|
||||
implicit none
|
||||
|
||||
contains
|
||||
|
||||
pure real function func()
|
||||
func = 1.0
|
||||
end function
|
||||
|
||||
end module
|
6
Tests/FortranModules/Issue25252/CMakeLists.txt
Normal file
6
Tests/FortranModules/Issue25252/CMakeLists.txt
Normal file
@ -0,0 +1,6 @@
|
||||
add_custom_target(custom_target_with_fortran
|
||||
COMMAND "${CMAKE_COMMAND}" -E echo "custom target with fortran sources"
|
||||
SOURCES custom_target.f90)
|
||||
|
||||
add_library(lib25252 lib.f90)
|
||||
add_dependencies(lib25252 custom_target_with_fortran)
|
5
Tests/FortranModules/Issue25252/custom_target.f90
Normal file
5
Tests/FortranModules/Issue25252/custom_target.f90
Normal file
@ -0,0 +1,5 @@
|
||||
program main
|
||||
|
||||
implicit none
|
||||
|
||||
end program
|
11
Tests/FortranModules/Issue25252/lib.f90
Normal file
11
Tests/FortranModules/Issue25252/lib.f90
Normal file
@ -0,0 +1,11 @@
|
||||
module lib
|
||||
|
||||
implicit none
|
||||
|
||||
contains
|
||||
|
||||
pure real function func()
|
||||
func = 1.0
|
||||
end function
|
||||
|
||||
end module
|
@ -186,9 +186,3 @@ if(CMAKE_Fortran_COMPILE_OPTIONS_PREPROCESS_OFF AND
|
||||
|
||||
set_property(SOURCE no_preprocess_source_upper.F no_preprocess_source_fpp.fpp PROPERTY Fortran_PREPROCESS OFF)
|
||||
endif()
|
||||
|
||||
# Issue 25112
|
||||
set(CMAKE_Fortran_MODULE_DIRECTORY "${PROJECT_BINARY_DIR}/include")
|
||||
add_library(objmod OBJECT objmod.f90)
|
||||
add_executable(objmain objmain.f90)
|
||||
target_link_libraries(objmain PRIVATE objmod)
|
||||
|
Loading…
x
Reference in New Issue
Block a user