Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Feb 2021 11:21:31 +0000 (UTC)
From:      Adriaan de Groot <adridg@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r564851 - in head/devel/cmake: . files
Message-ID:  <202102101121.11ABLVNe030460@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: adridg
Date: Wed Feb 10 11:21:31 2021
New Revision: 564851
URL: https://svnweb.freebsd.org/changeset/ports/564851

Log:
  Backport a Fortran-with-CMake patch from CMake 3.20
  
  This is already merged upstream and slated for 3.20, but is convenient
  to have in ports now (with CMake 3.19.4). It allows propagating
  CMAKE_EXE_LINKER_FLAGS into fortran-compatibility-tests in the face
  of post-CMake-3.10 policy settings.
  
  Patch from yuri@, only massaged to avoid having an octothorpe in
  a filename.
  
  PR:		253381
  Submitted by:	yuri@
  Obtained from:	upstream

Added:
  head/devel/cmake/files/patch-cmake-issue-21408   (contents, props changed)
Modified:
  head/devel/cmake/Makefile

Modified: head/devel/cmake/Makefile
==============================================================================
--- head/devel/cmake/Makefile	Wed Feb 10 11:07:31 2021	(r564850)
+++ head/devel/cmake/Makefile	Wed Feb 10 11:21:31 2021	(r564851)
@@ -4,6 +4,7 @@
 PORTNAME=	cmake
 # Remember to update devel/cmake-doc and devel/cmake-gui as well.
 DISTVERSION=	3.19.4
+PORTREVISION=	1
 CATEGORIES=	devel
 MASTER_SITES=	https://github.com/Kitware/CMake/releases/download/v${DISTVERSION}/ \
 		https://www.cmake.org/files/v${PORTVERSION}/

Added: head/devel/cmake/files/patch-cmake-issue-21408
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cmake/files/patch-cmake-issue-21408	Wed Feb 10 11:21:31 2021	(r564851)
@@ -0,0 +1,59 @@
+- Backport https://gitlab.kitware.com/cmake/cmake/-/merge_requests/5483/diffs?commit_id=15e77fbd40e324fd0be394a73ed94800bb47ad2e that is schedueled for 3.20
+
+diff --git Modules/FortranCInterface.cmake Modules/FortranCInterface.cmake
+index 547346ba90782d765cac860f755641cfb55b6dcf..733c7232c737e1c9a721124fc8a5465eaf872d91 100644
+--- Modules/FortranCInterface.cmake
++++ Modules/FortranCInterface.cmake
+@@ -343,6 +343,13 @@ function(FortranCInterface_VERIFY)
+     set(_desc "Verifying Fortran/${lang} Compiler Compatibility")
+     message(CHECK_START "${_desc}")
+ 
++    cmake_policy(GET CMP0056 _FortranCInterface_CMP0056)
++    if(_FortranCInterface_CMP0056 STREQUAL "NEW")
++      set(_FortranCInterface_EXE_LINKER_FLAGS "-DCMAKE_EXE_LINKER_FLAGS:STRING=${CMAKE_EXE_LINKER_FLAGS}")
++    else()
++      set(_FortranCInterface_EXE_LINKER_FLAGS "")
++    endif()
++
+     # Build a sample project which reports symbols.
+     set(CMAKE_TRY_COMPILE_CONFIGURATION Release)
+     try_compile(FortranCInterface_VERIFY_${lang}_COMPILED
+@@ -358,6 +365,7 @@ function(FortranCInterface_VERIFY)
+                  "-DCMAKE_C_FLAGS_RELEASE:STRING=${CMAKE_C_FLAGS_RELEASE}"
+                  "-DCMAKE_CXX_FLAGS_RELEASE:STRING=${CMAKE_CXX_FLAGS_RELEASE}"
+                  "-DCMAKE_Fortran_FLAGS_RELEASE:STRING=${CMAKE_Fortran_FLAGS_RELEASE}"
++                 ${_FortranCInterface_EXE_LINKER_FLAGS}
+       OUTPUT_VARIABLE _output)
+     file(WRITE "${FortranCInterface_BINARY_DIR}/Verify${lang}/output.txt" "${_output}")
+ 
+diff --git Modules/FortranCInterface/Detect.cmake Modules/FortranCInterface/Detect.cmake
+index c75067b32e4b7eeba1edf7d6bc6acc3798032dd7..998faf1eccf92f654f78ea66f2a34a8b05b5f991 100644
+--- Modules/FortranCInterface/Detect.cmake
++++ Modules/FortranCInterface/Detect.cmake
+@@ -26,6 +26,14 @@ unset(FortranCInterface_VERIFIED_CXX CACHE)
+ 
+ set(_result)
+ 
++cmake_policy(GET CMP0056 _FortranCInterface_CMP0056)
++if(_FortranCInterface_CMP0056 STREQUAL "NEW")
++  set(_FortranCInterface_EXE_LINKER_FLAGS "-DCMAKE_EXE_LINKER_FLAGS:STRING=${CMAKE_EXE_LINKER_FLAGS}")
++else()
++  set(_FortranCInterface_EXE_LINKER_FLAGS "")
++endif()
++unset(_FortranCInterface_CMP0056)
++
+ # Build a sample project which reports symbols.
+ set(CMAKE_TRY_COMPILE_CONFIGURATION Release)
+ try_compile(FortranCInterface_COMPILED
+@@ -38,9 +46,11 @@ try_compile(FortranCInterface_COMPILED
+     "-DCMAKE_Fortran_FLAGS:STRING=${CMAKE_Fortran_FLAGS}"
+     "-DCMAKE_C_FLAGS_RELEASE:STRING=${CMAKE_C_FLAGS_RELEASE}"
+     "-DCMAKE_Fortran_FLAGS_RELEASE:STRING=${CMAKE_Fortran_FLAGS_RELEASE}"
++    ${_FortranCInterface_EXE_LINKER_FLAGS}
+   OUTPUT_VARIABLE FortranCInterface_OUTPUT)
+ set(FortranCInterface_COMPILED ${FortranCInterface_COMPILED})
+ unset(FortranCInterface_COMPILED CACHE)
++unset(_FortranCInterface_EXE_LINKER_FLAGS)
+ 
+ # Locate the sample project executable.
+ set(FortranCInterface_EXE)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202102101121.11ABLVNe030460>