cmake: fix regression in FindGLEW
Use patches as applied upstream (as far as possible).
This commit is contained in:
@@ -1,45 +0,0 @@
|
||||
diff -urN cmake-3.23.2/Modules/FindMPI.cmake.orig cmake-3.23.2/Modules/FindMPI.cmake
|
||||
--- cmake-3.23.2/Modules/FindMPI.cmake.orig 2022-05-25 15:42:51.000000000 +0200
|
||||
+++ cmake-3.23.2/Modules/FindMPI.cmake 2022-06-13 12:41:25.379247700 +0200
|
||||
@@ -775,7 +775,8 @@
|
||||
MPI_LIBNAMES "${MPI_LINK_CMDLINE}")
|
||||
|
||||
foreach(_MPI_LIB_NAME IN LISTS MPI_LIBNAMES)
|
||||
- string(REGEX REPLACE "^ ?${CMAKE_LINK_LIBRARY_FLAG}" "" _MPI_LIB_NAME "${_MPI_LIB_NAME}")
|
||||
+ # also match flags starting with "-l:" here
|
||||
+ string(REGEX REPLACE "^ ?${CMAKE_LINK_LIBRARY_FLAG}(\:lib|\:)?" "" _MPI_LIB_NAME "${_MPI_LIB_NAME}")
|
||||
string(REPLACE "\"" "" _MPI_LIB_NAME "${_MPI_LIB_NAME}")
|
||||
list(APPEND MPI_LIB_NAMES_WORK "${_MPI_LIB_NAME}")
|
||||
endforeach()
|
||||
@@ -788,7 +789,7 @@
|
||||
set(_MPI_LIB_SUFFIX_REGEX "${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
if(DEFINED CMAKE_IMPORT_LIBRARY_SUFFIX)
|
||||
if(NOT ("${CMAKE_IMPORT_LIBRARY_SUFFIX}" STREQUAL "${CMAKE_STATIC_LIBRARY_SUFFIX}"))
|
||||
- string(APPEND _MPI_SUFFIX_REGEX "|${CMAKE_IMPORT_LIBRARY_SUFFIX}")
|
||||
+ string(APPEND _MPI_LIB_SUFFIX_REGEX "|${CMAKE_IMPORT_LIBRARY_SUFFIX}")
|
||||
endif()
|
||||
else()
|
||||
string(APPEND _MPI_LIB_SUFFIX_REGEX "|${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||
@@ -798,12 +799,16 @@
|
||||
|
||||
string(REGEX MATCHALL "${_MPI_LIB_NAME_REGEX}" MPI_LIBNAMES "${MPI_LINK_CMDLINE}")
|
||||
foreach(_MPI_LIB_NAME IN LISTS MPI_LIBNAMES)
|
||||
- string(REGEX REPLACE "^ +\"?|\"? +$" "" _MPI_LIB_NAME "${_MPI_LIB_NAME}")
|
||||
- get_filename_component(_MPI_LIB_PATH "${_MPI_LIB_NAME}" DIRECTORY)
|
||||
- if(NOT "${_MPI_LIB_PATH}" STREQUAL "")
|
||||
- list(APPEND MPI_LIB_FULLPATHS_WORK "${_MPI_LIB_NAME}")
|
||||
- else()
|
||||
- list(APPEND MPI_LIB_NAMES_WORK "${_MPI_LIB_NAME}")
|
||||
+ # Do not match "-l:" flags
|
||||
+ string(REGEX MATCH "^ ?${CMAKE_LINK_LIBRARY_FLAG}:" _MPI_LIB_NAME_TEST "${_MPI_LIB_NAME}")
|
||||
+ if(_MPI_LIB_NAME_TEST STREQUAL "")
|
||||
+ string(REGEX REPLACE "^ +\"?|\"? +$" "" _MPI_LIB_NAME "${_MPI_LIB_NAME}")
|
||||
+ get_filename_component(_MPI_LIB_PATH "${_MPI_LIB_NAME}" DIRECTORY)
|
||||
+ if(NOT "${_MPI_LIB_PATH}" STREQUAL "")
|
||||
+ list(APPEND MPI_LIB_FULLPATHS_WORK "${_MPI_LIB_NAME}")
|
||||
+ else()
|
||||
+ list(APPEND MPI_LIB_NAMES_WORK "${_MPI_LIB_NAME}")
|
||||
+ endif()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
--- cmake-3.23.2/Modules/FindGLEW.cmake.orig 2022-05-25 15:42:51.000000000 +0200
|
||||
+++ cmake-3.23.2/Modules/FindGLEW.cmake 2022-06-19 19:38:40.745804600 +0200
|
||||
@@ -68,6 +68,27 @@
|
||||
|
||||
if(GLEW_FOUND)
|
||||
find_package_handle_standard_args(GLEW DEFAULT_MSG GLEW_CONFIG)
|
||||
+ get_target_property(GLEW_INCLUDE_DIRS GLEW::GLEW INTERFACE_INCLUDE_DIRECTORIES)
|
||||
+ set(GLEW_INCLUDE_DIR ${GLEW_INCLUDE_DIRS})
|
||||
+ get_target_property(_GLEW_DEFS GLEW::GLEW INTERFACE_COMPILE_DEFINITIONS)
|
||||
+ if("${_GLEW_DEFS}" MATCHES "GLEW_STATIC")
|
||||
+ get_target_property(GLEW_LIBRARY_DEBUG GLEW::GLEW IMPORTED_LOCATION_DEBUG)
|
||||
+ get_target_property(GLEW_LIBRARY_RELEASE GLEW::GLEW IMPORTED_LOCATION_RELEASE)
|
||||
+ else()
|
||||
+ get_target_property(GLEW_LIBRARY_DEBUG GLEW::GLEW IMPORTED_IMPLIB_DEBUG)
|
||||
+ get_target_property(GLEW_LIBRARY_RELEASE GLEW::GLEW IMPORTED_IMPLIB_RELEASE)
|
||||
+ endif()
|
||||
+ get_target_property(_GLEW_LINK_INTERFACE GLEW::GLEW IMPORTED_LINK_INTERFACE_LIBRARIES_RELEASE) # same for debug and release
|
||||
+ list(APPEND GLEW_LIBRARIES ${_GLEW_LINK_INTERFACE})
|
||||
+ list(APPEND GLEW_LIBRARY ${_GLEW_LINK_INTERFACE})
|
||||
+ select_library_configurations(GLEW)
|
||||
+ if("${_GLEW_DEFS}" MATCHES "GLEW_STATIC")
|
||||
+ set(GLEW_STATIC_LIBRARIES ${GLEW_LIBRARIES})
|
||||
+ else()
|
||||
+ set(GLEW_SHARED_LIBRARIES ${GLEW_LIBRARIES})
|
||||
+ endif()
|
||||
+ unset(_GLEW_DEFS)
|
||||
+ unset(_GLEW_LINK_INTERFACE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
35
mingw-w64-cmake/0012-fix-find-glew.patch
Normal file
35
mingw-w64-cmake/0012-fix-find-glew.patch
Normal file
@@ -0,0 +1,35 @@
|
||||
From 6c8789af757e295bd1a42e6eb44260c1f79b8382 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Markus=20M=C3=BCtzel?= <markus.muetzel@gmx.de>
|
||||
Date: Sun, 26 Jun 2022 10:38:11 +0200
|
||||
Subject: [PATCH] FindGLEW: select_library_configuration might be used before
|
||||
it is defined
|
||||
|
||||
Fixes a regression from a31b27078595fce911b2469937ac12934555644a
|
||||
---
|
||||
Modules/FindGLEW.cmake | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Modules/FindGLEW.cmake b/Modules/FindGLEW.cmake
|
||||
index a0fda1fba8..bfde40b3db 100644
|
||||
--- a/Modules/FindGLEW.cmake
|
||||
+++ b/Modules/FindGLEW.cmake
|
||||
@@ -63,6 +63,7 @@ This module defines the following variables:
|
||||
#]=======================================================================]
|
||||
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
|
||||
+include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
|
||||
|
||||
find_package(GLEW CONFIG QUIET)
|
||||
|
||||
@@ -195,8 +196,6 @@ find_library(GLEW_STATIC_LIBRARY_DEBUG
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ${__GLEW_CURRENT_FIND_LIBRARY_SUFFIXES})
|
||||
unset(__GLEW_CURRENT_FIND_LIBRARY_SUFFIXES)
|
||||
|
||||
-include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
|
||||
-
|
||||
select_library_configurations(GLEW_SHARED)
|
||||
select_library_configurations(GLEW_STATIC)
|
||||
|
||||
--
|
||||
2.35.3.windows.1
|
||||
|
||||
@@ -7,12 +7,12 @@ _realname=cmake
|
||||
pkgbase=mingw-w64-${_realname}
|
||||
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
|
||||
pkgver=3.23.2
|
||||
pkgrel=3
|
||||
pkgrel=4
|
||||
pkgdesc="A cross-platform open-source make system (mingw-w64)"
|
||||
arch=('any')
|
||||
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64')
|
||||
url="https://www.cmake.org/"
|
||||
license=("MIT")
|
||||
license=("spdx:MIT")
|
||||
makedepends=("${MINGW_PACKAGE_PREFIX}-bzip2"
|
||||
"${MINGW_PACKAGE_PREFIX}-ncurses"
|
||||
"${MINGW_PACKAGE_PREFIX}-python-sphinx"
|
||||
@@ -46,23 +46,26 @@ source=("https://github.com/Kitware/CMake/releases/download/v${pkgver}/${_realna
|
||||
"0002-Do-not-install-Qt-bundle-in-cmake-gui.patch"
|
||||
"0004-Output-line-numbers-in-callstacks.patch"
|
||||
"0005-Default-to-ninja-generator.patch"
|
||||
"https://gitlab.kitware.com/cmake/cmake/-/merge_requests/7105.patch"
|
||||
# https://gitlab.kitware.com/cmake/cmake/-/merge_requests/7161
|
||||
"0006-fix-find-glut.patch"
|
||||
"https://gitlab.kitware.com/cmake/cmake/-/merge_requests/7162.patch"
|
||||
"0007-No-hardcoded-gcc-with-MINGW-or-MSYS-Makefiles.patch"
|
||||
"0008-fix-find-mpi.patch"
|
||||
"0009-fix-find-glew.patch")
|
||||
"0008-fix-find-mpi.patch"::https://gitlab.kitware.com/cmake/cmake/-/commit/97c273161ea3753d173f315b6eb452adbb274815.patch
|
||||
"0009-fix-find-glew.patch"::https://gitlab.kitware.com/cmake/cmake/-/commit/a31b27078595fce911b2469937ac12934555644a.patch
|
||||
"0010-fix-find-wxwidgets.patch"::https://gitlab.kitware.com/cmake/cmake/-/commit/359d7c19e522465b7ceadcfc69a25ffc799d344f.patch
|
||||
"0011-fix-find-hdf5.patch"::https://gitlab.kitware.com/cmake/cmake/-/commit/1e2338458053082f254170f5fa579cf4c54d69d3.patch
|
||||
"0012-fix-find-glew.patch")
|
||||
sha256sums=('f316b40053466f9a416adf981efda41b160ca859e97f6a484b447ea299ff26aa'
|
||||
'25793edcbac05bb6d17fa9947b52ace4a6b5ccccf7758e22ae9ae022ed089061'
|
||||
'f6cf6a6f2729db2b9427679acd09520af2cd79fc26900b19a49cead05a55cd1a'
|
||||
'15fdf3fb1a0f1c153c8cfbdd2b5c64035b7a04de618bfe61d7d74ced0d6a5c4b'
|
||||
'426818278090704d2a12f62ef3dfd94c47b11fa2784bb842989b7f6a09ee7aa2'
|
||||
'5b96f14a455b46f08aea1631407528ad5238150cc4087beecad40f3afca10214'
|
||||
'04d526b1ec86de7e633d0a802cef8452e33bc18c8425aa2065dc901a7c868026'
|
||||
'bfff814b848c51e9733af7c435a51a9ff2ccfdf862b5a70113dc0a71c0360b13'
|
||||
'62074a0de9ac9a9224ffda01992aaa34e5f7fa2e2c6b1cb327ebe9b452452364'
|
||||
'0a18245a80fc3a4f5ef6eb96cd0508f341331390c5ff289c642153d96d732253'
|
||||
'a66254d1385e3a70e45cacd20bfea0e376493b72c9c41657f9ce40296b646c26')
|
||||
'337ba525e960ed42c0fb8476c18713a99449aacb0eb124256965fc04f836f25f'
|
||||
'7b46eb236916a65522d59f9d72f86726485a6f97056740e64f3c9a01eec05cf0'
|
||||
'bfff814b848c51e9733af7c435a51a9ff2ccfdf862b5a70113dc0a71c0360b13'
|
||||
'5b96f14a455b46f08aea1631407528ad5238150cc4087beecad40f3afca10214'
|
||||
'b6089d2d303ab0faa0134b8c56940008746faeae452a8a8296ec6f9fb2d16b9f')
|
||||
|
||||
# Helper macros to help make tasks easier #
|
||||
apply_patch_with_msg() {
|
||||
@@ -90,13 +93,12 @@ prepare() {
|
||||
0001-Disable-response-files-for-MSYS-Generator.patch \
|
||||
0002-Do-not-install-Qt-bundle-in-cmake-gui.patch \
|
||||
0004-Output-line-numbers-in-callstacks.patch \
|
||||
0008-fix-find-mpi.patch \
|
||||
0009-fix-find-glew.patch
|
||||
# https://gitlab.kitware.com/cmake/cmake/-/merge_requests/{7105,7161,7162}
|
||||
apply_patch_with_msg \
|
||||
7105.patch \
|
||||
0006-fix-find-glut.patch \
|
||||
7162.patch
|
||||
0008-fix-find-mpi.patch \
|
||||
0009-fix-find-glew.patch \
|
||||
0010-fix-find-wxwidgets.patch \
|
||||
0011-fix-find-hdf5.patch \
|
||||
0012-fix-find-glew.patch
|
||||
|
||||
# We want cmake to default to something useful and not MSVC
|
||||
apply_patch_with_msg \
|
||||
|
||||
Reference in New Issue
Block a user