ports/games/spring/files/patch-rts-build-cmake-Util
Adriaan de Groot ec85543d07 Pre-emptively fix games/spring before CMake 3.12 arrives.
file(GLOB .. FOLLOW_SYMLINKS ..) was never documented to work; in
3.12-rc1 this has become an error. That in itself is considered
a regression in CMake [1], but the use is wrong anyway, so patch
it away. The change has been accepted upstream [2] already.

Not bumping PORTREVISION because no code actually changes,
it just removes a cmake-time no-op.

[1] https://gitlab.kitware.com/cmake/cmake/issues/18097
[2] https://springrts.com/mantis/view.php?id=6005

PR:		229101
Reviewed by:	tcberner
Differential Revision:	https://reviews.freebsd.org/D15878
2018-06-19 21:08:33 +00:00

32 lines
1.4 KiB
Text

Modified for CMake 3.12 to drop FOLLOW_SYMLINKS in file(GLOB ...).
Obtained via: https://springrts.com/mantis/view.php?id=4679
From 9e0db5f602407de4e7875ca85761b41782c1bb9c Mon Sep 17 00:00:00 2001
From: Johan Rehnberg <cleanrock@gmail.com>
Date: Wed, 31 Dec 2014 11:35:19 +0100
Subject: [PATCH] fix GetListOfSubModules to support GLOB returning both "//"
and "/"
I needed this when building on archlinux with cmake 3.1.0 where GLOB returns "/"
...
--- rts/build/cmake/Util.cmake.orig 2014-10-07 20:09:51 UTC
+++ rts/build/cmake/Util.cmake
@@ -165,11 +165,12 @@ EndFunction (MakeGlobal)
# Find all CMakeLists.txt files in sub-directories
Macro (GetListOfSubModules list_var)
- File(GLOB ${list_var} RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" FOLLOW_SYMLINKS "${CMAKE_CURRENT_SOURCE_DIR}/*/CMakeLists.txt")
-
+ File(GLOB ${list_var} RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/*/CMakeLists.txt")
# Strip away the "/CMakeLists.txt" parts, so we end up with just a list of dirs,
# for example: AAI;RAI;KAIK
- String(REPLACE "//CMakeLists.txt" "" ${list_var} "${${list_var}}")
+ # GLOB can prefix with "//" or "/" (perhaps changed in cmake 3.1.0), this double replace will support both "//" and "/"
+ String(REPLACE "/CMakeLists.txt" "" ${list_var} "${${list_var}}")
+ String(REPLACE "/" "" ${list_var} "${${list_var}}")
EndMacro (GetListOfSubModules list_var)