mirror of
https://github.com/godotengine/buildroot.git
synced 2026-01-04 06:10:16 +03:00
cmake-3.7 has a bug in how it handles rpath, linking with libraries from
the host.
Until we completely understand the issue, just blacklist cmake-3.7.
The issue has been reported upstream:
http://public.kitware.com/pipermail/cmake/2017-February/064970.html
Reported-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Jörg Krause <joerg.krause@embedded.rocks>
Cc: Ben Boeckel <mathstuf@gmail.com>
Cc: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
48 lines
1.1 KiB
Bash
Executable File
48 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
candidate="${1}"
|
|
version_min="${2}"
|
|
|
|
major_min="${version_min%.*}"
|
|
minor_min="${version_min#*.}"
|
|
|
|
# cmake-3.7 incorrectly handles rpath, linking to host libraries
|
|
blacklist_version="3.7"
|
|
|
|
cmake=`which ${candidate}`
|
|
if [ ! -x "${cmake}" ]; then
|
|
# echo nothing: no suitable cmake found
|
|
exit 1
|
|
fi
|
|
|
|
# Extract version X.Y from versions in the form X.Y or X.Y.Z
|
|
# with X, Y and Z numbers with one or more digits each, e.g.
|
|
# 3.2 -> 3.2
|
|
# 3.2.3 -> 3.2
|
|
# 3.2.42 -> 3.2
|
|
# 3.10 -> 3.10
|
|
# 3.10.4 -> 3.10
|
|
# 3.10.42 -> 3.10
|
|
version="$(${cmake} --version \
|
|
|sed -r -e '/.* ([[:digit:]]+\.[[:digit:]]+).*$/!d;' \
|
|
-e 's//\1/'
|
|
)"
|
|
major="${version%.*}"
|
|
minor="${version#*.}"
|
|
|
|
if [ "${version}" = "${blacklist_version}" ]; then
|
|
# echo nothing: no suitable cmake found
|
|
exit 1
|
|
fi
|
|
|
|
if [ ${major} -gt ${major_min} ]; then
|
|
echo "${cmake}"
|
|
else
|
|
if [ ${major} -eq ${major_min} -a ${minor} -ge ${minor_min} ]; then
|
|
echo "${cmake}"
|
|
else
|
|
# echo nothing: no suitable cmake found
|
|
exit 1
|
|
fi
|
|
fi
|