cmake: update to 3.21.1.

This commit is contained in:
Đoàn Trần Công Danh 2021-07-24 09:30:48 +07:00 committed by Đoàn Trần Công Danh
parent 11ba276ac7
commit 8d3d86fe7e
4 changed files with 36 additions and 49 deletions

View File

@ -0,0 +1,20 @@
Fix darktable build
diff --git a/Source/cmNinjaNormalTargetGenerator.cxx b/Source/cmNinjaNormalTargetGenerator.cxx
index 5a4c6521d8..55b804d643 100644
--- a/Source/cmNinjaNormalTargetGenerator.cxx
+++ b/Source/cmNinjaNormalTargetGenerator.cxx
@@ -1157,7 +1157,13 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement(
this->AddModuleDefinitionFlag(linkLineComputer.get(), vars["LINK_FLAGS"],
config);
if (gt->GetPropertyAsBool("LINK_WHAT_YOU_USE")) {
- vars["LINK_FLAGS"] += " -Wl,--no-as-needed";
+ switch (targetType) {
+ case cmStateEnums::EXECUTABLE:
+ case cmStateEnums::SHARED_LIBRARY:
+ case cmStateEnums::MODULE_LIBRARY:
+ vars["LINK_FLAGS"] += " -Wl,--no-as-needed";
+ break;
+ }
}
vars["LINK_FLAGS"] = globalGen->EncodeLiteral(vars["LINK_FLAGS"]);

View File

@ -0,0 +1,13 @@
diff --git a/Tests/RunCMake/ParseImplicitLinkInfo/ParseImplicitLinkInfo.cmake b/Tests/RunCMake/ParseImplicitLinkInfo/ParseImplicitLinkInfo.cmake
index dcdc7f1b96..37e13b6c5c 100644
--- a/Tests/RunCMake/ParseImplicitLinkInfo/ParseImplicitLinkInfo.cmake
+++ b/Tests/RunCMake/ParseImplicitLinkInfo/ParseImplicitLinkInfo.cmake
@@ -11,7 +11,7 @@ project(Minimal NONE)
set(targets
aix-C-XL-13.1.3 aix-CXX-XL-13.1.3
aix-C-XLClang-16.1.0.1 aix-CXX-XLClang-16.1.0.1
- craype-C-Cray-8.7 craype-CXX-Cray-8.7 craype-Fortran-Cray-8.7
+ craype-Fortran-Cray-8.7
craype-C-Cray-9.0-hlist-ad craype-CXX-Cray-9.0-hlist-ad craype-Fortran-Cray-9.0-hlist-ad
craype-C-GNU-7.3.0 craype-CXX-GNU-7.3.0 craype-Fortran-GNU-7.3.0
craype-C-Intel-18.0.2.20180210 craype-CXX-Intel-18.0.2.20180210

View File

@ -1,41 +0,0 @@
From ce1cadd35a26bd44879675581d8e70b00ff8e0fc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Thu, 1 Apr 2021 20:14:06 +0700
Subject: [PATCH] Tests/ConfigSources: fix for non main stream CMAKE_BUILD_TYPE
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- None is a valid CMAKE_BUILD_TYPE
- Most of distros uses None as CMAKE_BUILD_TYPE
- When CMAKE_BUILD_TYPE=None, main_other.cpp will be compiled and linked
into final executable, this program requires some symbols only exist
when CUSTOM_CFG_OTHER is defined.
- And CMake also allows other CMAKE_BUILD_TYPE, too, CMake documentation
specificaly mentions funny CMAKE_BUILD_TYPE like ReLeAsE [1]
Let's define them when non main stream like None is specified as CMAKE_BUILD_TYPE.
[1]: https://cmake.org/cmake/help/v3.20/variable/CMAKE_BUILD_TYPE.html
---
Tests/ConfigSources/CMakeLists.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git Tests/ConfigSources/CMakeLists.txt Tests/ConfigSources/CMakeLists.txt
index a3d98f685f..f83759ca10 100644
--- a/Tests/ConfigSources/CMakeLists.txt
+++ b/Tests/ConfigSources/CMakeLists.txt
@@ -74,10 +74,10 @@ add_custom_command(APPEND
VERBATIM
)
foreach(n RANGE 1 5)
- set_property(SOURCE custom${n}_Debug.cpp PROPERTY COMPILE_DEFINITIONS CUSTOM_CFG_DEBUG)
- foreach(other Release RelWithDebInfo MinSizeRel)
+ foreach(other ${CMAKE_BUILD_TYPE} Release RelWithDebInfo MinSizeRel)
set_property(SOURCE custom${n}_${other}.cpp PROPERTY COMPILE_DEFINITIONS CUSTOM_CFG_OTHER)
endforeach()
+ set_property(SOURCE custom${n}_Debug.cpp PROPERTY COMPILE_DEFINITIONS CUSTOM_CFG_DEBUG)
endforeach()
add_library(Custom STATIC
custom1_$<CONFIG>.cpp

View File

@ -1,7 +1,6 @@
# Template file for 'cmake'
# FIXME: cmake is being rebuilt on do_install
pkgname=cmake
version=3.20.5
version=3.21.1
revision=1
build_style=cmake
configure_args="-DCMAKE_DOC_DIR=/share/doc/cmake
@ -17,14 +16,9 @@ maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
license="BSD-3-Clause, ICU"
homepage="https://www.cmake.org"
distfiles="https://www.cmake.org/files/v${version%.*}/${pkgname}-${version}.tar.gz"
checksum=12c8040ef5c6f1bc5b8868cede16bb7926c18980f59779e299ab52cbc6f15bb0
checksum=fac3915171d4dff25913975d712f76e69aef44bf738ba7b976793a458b4cfed4
replaces="cmake-bootstrap>=0"
# XXX: cmake is broken if cmake was built with -GNinja
# https://bugs.gentoo.org/596460
export CMAKE_GENERATOR="Unix Makefiles"
make_cmd=make
if [ "$CROSS_BUILD" ]; then
hostmakedepends+=" cmake"
fi
@ -35,6 +29,7 @@ pre_configure() {
mkdir -p build
cd build
../bootstrap --no-system-libs \
--generator=Ninja \
${XBPS_MAKEJOBS:+--parallel=$XBPS_MAKEJOBS}
# Make sure build directory is clean
for f in *; do