- update to 3.19.2:

* various Apple-Silicon support fixes
  * The CMAKE_ISPC_HEADER_SUFFIX variable and corresponding ISPC_HEADER_SUFFIX
  target property were added to control the header suffix used by ISPC
  compiler generated headers. 
- remove 5556.patch (upstream)

OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/cmake?expand=0&rev=439
This commit is contained in:
Dirk Mueller 2020-12-19 09:34:31 +00:00 committed by Git OBS Bridge
parent 38e4944110
commit 72c8ec353a
9 changed files with 40 additions and 230 deletions

View File

@ -1,198 +0,0 @@
From 38bcb5c0a3accd2dd29fb7632c6b3bf31b990d82 Mon Sep 17 00:00:00 2001
From: Deniz Bahadir <dbahadir@benocs.com>
Date: Tue, 1 Dec 2020 00:25:39 +0100
Subject: [PATCH] export: Do not fail generation for separate namelink only
case
Update the change from commit 64690f6df0 (export: Do not fail generation
for namelink-only case, 2020-10-09, v3.19.0-rc1~7^2) to also handle
separate namelink-only and namelink-skip calls.
Fixes: #21529
---
Source/cmExportBuildFileGenerator.cxx | 3 +++
Source/cmExportInstallFileGenerator.cxx | 3 +++
Source/cmInstallCommand.cxx | 19 +++++++++++--------
Source/cmTargetExport.h | 2 ++
Tests/RunCMake/export/RunCMakeTest.cmake | 1 +
.../export/SeparateNamelinkExport.cmake | 16 ++++++++++++++++
.../install/EXPORT-SeparateNamelink.cmake | 19 +++++++++++++++++++
Tests/RunCMake/install/RunCMakeTest.cmake | 1 +
8 files changed, 56 insertions(+), 8 deletions(-)
create mode 100644 Tests/RunCMake/export/SeparateNamelinkExport.cmake
create mode 100644 Tests/RunCMake/install/EXPORT-SeparateNamelink.cmake
diff --git a/Source/cmExportBuildFileGenerator.cxx b/Source/cmExportBuildFileGenerator.cxx
index dd700c5edf..1a31ae4afd 100644
--- a/Source/cmExportBuildFileGenerator.cxx
+++ b/Source/cmExportBuildFileGenerator.cxx
@@ -288,6 +288,9 @@ void cmExportBuildFileGenerator::GetTargets(
if (this->ExportSet) {
for (std::unique_ptr<cmTargetExport> const& te :
this->ExportSet->GetTargetExports()) {
+ if (te->NamelinkOnly) {
+ continue;
+ }
targets.push_back(te->TargetName);
}
return;
diff --git a/Source/cmExportInstallFileGenerator.cxx b/Source/cmExportInstallFileGenerator.cxx
index 987ec9ea7b..0b9b183d54 100644
--- a/Source/cmExportInstallFileGenerator.cxx
+++ b/Source/cmExportInstallFileGenerator.cxx
@@ -42,6 +42,9 @@ bool cmExportInstallFileGenerator::GenerateMainFile(std::ostream& os)
std::string sep;
for (std::unique_ptr<cmTargetExport> const& te :
this->IEGen->GetExportSet()->GetTargetExports()) {
+ if (te->NamelinkOnly) {
+ continue;
+ }
expectedTargets += sep + this->Namespace + te->Target->GetExportName();
sep = " ";
if (this->ExportedTargets.insert(te->Target).second) {
diff --git a/Source/cmInstallCommand.cxx b/Source/cmInstallCommand.cxx
index b99e6a3c6c..ff08ee41ef 100644
--- a/Source/cmInstallCommand.cxx
+++ b/Source/cmInstallCommand.cxx
@@ -461,6 +461,13 @@ bool HandleTargetsMode(std::vector<std::string> const& args,
std::unique_ptr<cmInstallFilesGenerator> publicHeaderGenerator;
std::unique_ptr<cmInstallFilesGenerator> resourceGenerator;
+ // Avoid selecting default destinations for PUBLIC_HEADER and
+ // PRIVATE_HEADER if any artifacts are specified.
+ bool artifactsSpecified = false;
+
+ // Track whether this is a namelink-only rule.
+ bool namelinkOnly = false;
+
auto addTargetExport = [&]() {
// Add this install rule to an export if one was specified.
if (!exports.empty()) {
@@ -475,20 +482,13 @@ bool HandleTargetsMode(std::vector<std::string> const& args,
te->ObjectsGenerator = objectGenerator.get();
te->InterfaceIncludeDirectories =
cmJoin(includesArgs.GetIncludeDirs(), ";");
-
+ te->NamelinkOnly = namelinkOnly;
helper.Makefile->GetGlobalGenerator()
->GetExportSets()[exports]
.AddTargetExport(std::move(te));
}
};
- // Avoid selecting default destinations for PUBLIC_HEADER and
- // PRIVATE_HEADER if any artifacts are specified.
- bool artifactsSpecified = false;
-
- // Track whether this is a namelink-only rule.
- bool namelinkOnly = false;
-
switch (target.GetType()) {
case cmStateEnums::SHARED_LIBRARY: {
// Shared libraries are handled differently on DLL and non-DLL
@@ -497,6 +497,7 @@ bool HandleTargetsMode(std::vector<std::string> const& args,
if (target.IsDLLPlatform()) {
// When in namelink only mode skip all libraries on Windows.
if (namelinkMode == cmInstallTargetGenerator::NamelinkModeOnly) {
+ namelinkOnly = true;
addTargetExport();
continue;
}
@@ -529,6 +530,7 @@ bool HandleTargetsMode(std::vector<std::string> const& args,
if (target.IsFrameworkOnApple()) {
// When in namelink only mode skip frameworks.
if (namelinkMode == cmInstallTargetGenerator::NamelinkModeOnly) {
+ namelinkOnly = true;
addTargetExport();
continue;
}
@@ -574,6 +576,7 @@ bool HandleTargetsMode(std::vector<std::string> const& args,
if (target.IsFrameworkOnApple()) {
// When in namelink only mode skip frameworks.
if (namelinkMode == cmInstallTargetGenerator::NamelinkModeOnly) {
+ namelinkOnly = true;
addTargetExport();
continue;
}
diff --git a/Source/cmTargetExport.h b/Source/cmTargetExport.h
index cb4d8dae44..1e38d84923 100644
--- a/Source/cmTargetExport.h
+++ b/Source/cmTargetExport.h
@@ -31,4 +31,6 @@ public:
cmInstallFilesGenerator* HeaderGenerator;
std::string InterfaceIncludeDirectories;
///@}
+
+ bool NamelinkOnly = false;
};
diff --git a/Tests/RunCMake/export/RunCMakeTest.cmake b/Tests/RunCMake/export/RunCMakeTest.cmake
index 95c8d5cf45..0e6020f0f4 100644
--- a/Tests/RunCMake/export/RunCMakeTest.cmake
+++ b/Tests/RunCMake/export/RunCMakeTest.cmake
@@ -17,3 +17,4 @@ run_cmake(DependOnNotExport)
run_cmake(DependOnDoubleExport)
run_cmake(UnknownExport)
run_cmake(NamelinkOnlyExport)
+run_cmake(SeparateNamelinkExport)
diff --git a/Tests/RunCMake/export/SeparateNamelinkExport.cmake b/Tests/RunCMake/export/SeparateNamelinkExport.cmake
new file mode 100644
index 0000000000..b006aea128
--- /dev/null
+++ b/Tests/RunCMake/export/SeparateNamelinkExport.cmake
@@ -0,0 +1,16 @@
+enable_language(CXX)
+add_library(foo SHARED empty.cpp)
+install(TARGETS foo EXPORT fooExport
+ RUNTIME DESTINATION bin
+ LIBRARY
+ DESTINATION lib
+ COMPONENT runtime
+ NAMELINK_SKIP
+)
+install(TARGETS foo EXPORT fooExport
+ LIBRARY
+ DESTINATION lib
+ COMPONENT development
+ NAMELINK_ONLY
+)
+export(EXPORT fooExport FILE "${CMAKE_CURRENT_BINARY_DIR}/foo.cmake")
diff --git a/Tests/RunCMake/install/EXPORT-SeparateNamelink.cmake b/Tests/RunCMake/install/EXPORT-SeparateNamelink.cmake
new file mode 100644
index 0000000000..5c6fa10d18
--- /dev/null
+++ b/Tests/RunCMake/install/EXPORT-SeparateNamelink.cmake
@@ -0,0 +1,19 @@
+enable_language(C)
+add_library(foo SHARED empty.c)
+install(TARGETS foo EXPORT fooExport
+ RUNTIME DESTINATION bin
+ LIBRARY
+ DESTINATION lib
+ COMPONENT runtime
+ NAMELINK_SKIP
+)
+install(TARGETS foo EXPORT fooExport
+ LIBRARY
+ DESTINATION lib
+ COMPONENT development
+ NAMELINK_ONLY
+)
+install(EXPORT fooExport
+ DESTINATION "lib/cmake/"
+ FILE "foo.cmake"
+)
diff --git a/Tests/RunCMake/install/RunCMakeTest.cmake b/Tests/RunCMake/install/RunCMakeTest.cmake
index 5aab88ca80..d64d88b770 100644
--- a/Tests/RunCMake/install/RunCMakeTest.cmake
+++ b/Tests/RunCMake/install/RunCMakeTest.cmake
@@ -78,6 +78,7 @@ run_cmake(TARGETS-DESTINATION-bad)
run_cmake(EXPORT-OldIFace)
run_cmake(EXPORT-UnknownExport)
run_cmake(EXPORT-NamelinkOnly)
+run_cmake(EXPORT-SeparateNamelink)
run_cmake(CMP0062-OLD)
run_cmake(CMP0062-NEW)
run_cmake(CMP0062-WARN)
--
GitLab

View File

@ -1,10 +0,0 @@
86badd442edd749231cc1d890dd7980b67edeadc01e9b0774ec949f1f0613ef0 cmake-3.19.1-Darwin-x86_64.dmg
8b1caf1da7bc738a27c820ca8dc2ddb610b7526b4507095de87d79cd5a27028b cmake-3.19.1-Darwin-x86_64.tar.gz
380f05c859e43d8e8cf8c8d8e929101c5dcf24cf32db2406f97f3199cfd793a3 cmake-3.19.1-Linux-x86_64.sh
587fb2d882214511f4b260329800de7903eba7827498f06a0dee234ed579bdc3 cmake-3.19.1-Linux-x86_64.tar.gz
4aa9b1e5cd03f0e495425d40bac6bfe1fbc14ec91e447fdd6d6f21533142adad cmake-3.19.1-win32-x86.msi
7c01b9cc29a0e5051c11c605b7dd43d187fb25b277e7a3dc4085b9eaf36a0387 cmake-3.19.1-win32-x86.zip
81ea6906118586207e7b95e6e62cee14a9cdbb39340ce2fcb5800f958e2ecd6f cmake-3.19.1-win64-x64.msi
e95d70549f306adb46e0f131dcecdbcbc6412d3a1e073c2c0078812391bf21d3 cmake-3.19.1-win64-x64.zip
1d266ea3a76ef650cdcf16c782a317cb4a7aa461617ee941e389cb48738a3aba cmake-3.19.1.tar.gz
d3c8fc07b3207c6826b49e46b8194fcdbaab95eaba75dd735e348230efd4400d cmake-3.19.1.zip

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEExsJlMku+vcNQtRPQLSzvEDSSFoQFAl+9HCkACgkQLSzvEDSS
FoQGqw/8DQcY294EVPKuPYYgG37jJwjxasfGYBiQHIWqZrjl7v6u+MUZK0j5wgAk
u4NxYFXnlfYlGT20Cwh2/aPP+gAS1DZhgZUIchlVqqIBLpa6JVKPzOGShbebLm2A
27iy7jOJwoeGxzTc3ZLRj1T8oU0Na+BUJSxcTq5bLWX9Tsy/ngrBh+loAkSjsW0y
C9FyaEro7fedEBCqYjGb29thh+psOi0eN/7OP28rG2mSkZeMzt0Z60pNt9hIrKEQ
RimdNlPUGo01MRPRvpWr8/bCwV4kloSEH3I+vXm23ExaJQ86zRibvFe8fsFEUdHT
fflkTP7QZBq5sBz8rXLXiCB6JTP977VQ3X/NnflJjagbbgLKGJUqyWpDpSW+lqHB
szKczr2AEJojsuqsFWYbcKLcGqjldHB0nwoUfd4vDUevYUfRSOotJ0i1w6uIQfUv
4PgETLJNRmxT28l5pX4BZuVSUxsfOYkBkbi+lro1hPVUalqAvSQmWOcjhiawIp4S
z2ZGyIJzkc8Yuf0RBPEzpH+OAWLBYBv5ipbYIsPNX5nYHDPc5HMZshYjtEY/CbA0
367mzN1qDm6QeTwAspD08vuBkLdYFtvL/x4EzWMdWzjVdmC4T/afqIaHWh0bI+pw
87HZO9yJk+8xOESDZKCcFyjEpAMQxL8kld7GVSBxS0cvHLd3TAo=
=lo02
-----END PGP SIGNATURE-----

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1d266ea3a76ef650cdcf16c782a317cb4a7aa461617ee941e389cb48738a3aba
size 9256956

10
cmake-3.19.2-SHA-256.txt Normal file
View File

@ -0,0 +1,10 @@
2fc84c1bd5a5fa8850426905a76147fbf897cf67ef324b009bcdb7eceafa9662 cmake-3.19.2-Linux-x86_64.sh
4d8a6d852c530f263b22479aad196416bb4406447e918bd9759c6593b7f5f3f9 cmake-3.19.2-Linux-x86_64.tar.gz
df15a1836107b44623720e2766970216588e670f11f83fa2bc6d25885e6ac96f cmake-3.19.2-macos-universal.dmg
50afa2cb66bea6a0314ef28034f3ff1647325e30cf5940f97906a56fd9640bd8 cmake-3.19.2-macos-universal.tar.gz
7abfea6278b7bf3f6eb1d3b13f9df79fd675d274ac88a680831b81df26c92611 cmake-3.19.2-win32-x86.msi
f39dbe56f1a574c6679b6c3ec25d4815dcf5389a985de4fd99ad3b1b58a2f0de cmake-3.19.2-win32-x86.zip
508e7ff21549b632014944060577c6774496d63c3d9c3f2aa15ca49b1e5e4752 cmake-3.19.2-win64-x64.msi
a6fdf509d7a39f1c08b429eaa3ea0012744365a731d00fb770ae88b4d6549ff3 cmake-3.19.2-win64-x64.zip
e3e0fd3b23b7fb13e1a856581078e0776ffa2df4e9d3164039c36d3315e0c7f0 cmake-3.19.2.tar.gz
73a95fe82b85caf2058d697260750ef1ca7b106c8fb76134e841965db6ff2b26 cmake-3.19.2.zip

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEExsJlMku+vcNQtRPQLSzvEDSSFoQFAl/aCrMACgkQLSzvEDSS
FoS2yxAAoIVFOTXQntqqeKKSChx+zjT0EJ0DjpjyHw6SxuCZqtuFOW19uWBxre6q
N1b//t9HlLOWrasJDTFTCjx8tkMM6ngv8ZjNfOEAmmQJRloZtKn1HZtmtdslzncd
Rh35I7Cna3XPHjUhIv+/e0XZrwtWzYLVQjTEjYvuTUSh2Oq40+BQk47X/z/sG27Y
IgBKmkEsSWjewoM7iJsWAxYIWIByoICDBgYw3W0hCzd136Fk4fpeYmVQ4vau37PM
hqha75Iiim4NznDvO/3RMx2/UR3dP/0/4WGqbUcIjzGw6rjQTd8tD6issroTXKpy
UxtruLl+1BKsnjN4QjK2vkRDcPEyq9HaU6XO1KsSANo7QeWp5Umm5hkQKU1q0lPc
dU/6ojaNMzRTgOjv5Ny1NQ64mJCWwm5bEJ6PbJqsRvIGeRRn0Vs1cOcnWKGcjyKM
uExLg9r6xB8DHhNGuNMF6i+iCS/cTkynF4DPL4jzYmheUj8MBkhpZiWRqi05/sr7
FMjH/J/+Lg3gB1sv5ZjL7xn365MHU6rnHIl/VBv/8bqJSO+GuSWDPEysfTp3xjg3
HTn2U9/hkFBXa1NsBCz4+ZPv/xpIMN5d4sXj0V3VisAUd3jl2AZSIxnojASQz0sA
Y4zkB/7Ih0eqX9rmFrlmWvUqFDo/f3BMWVZ3ID6NIA/67ycxcOo=
=k3YQ
-----END PGP SIGNATURE-----

3
cmake-3.19.2.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e3e0fd3b23b7fb13e1a856581078e0776ffa2df4e9d3164039c36d3315e0c7f0
size 9264414

View File

@ -1,3 +1,13 @@
-------------------------------------------------------------------
Sat Dec 19 09:33:17 UTC 2020 - Dirk Mueller <dmueller@suse.com>
- update to 3.19.2:
* various Apple-Silicon support fixes
* The CMAKE_ISPC_HEADER_SUFFIX variable and corresponding ISPC_HEADER_SUFFIX
target property were added to control the header suffix used by ISPC
compiler generated headers.
- remove 5556.patch (upstream)
-------------------------------------------------------------------
Tue Dec 15 15:58:39 UTC 2020 - Dominique Leuenberger <dimstar@opensuse.org>

View File

@ -37,7 +37,7 @@
%endif
%define shortversion 3.19
Name: cmake%{?psuffix}
Version: 3.19.1
Version: 3.19.2
Release: 0
Summary: Cross-platform make system
License: BSD-3-Clause
@ -55,8 +55,6 @@ Patch0: cmake-fix-ruby-test.patch
# Search for python interpreters from newest to oldest rather then picking up /usr/bin/python as first choice
Patch1: feature-suse-python-interp-search-order.patch
Patch2: cmake-fix-png-include-dir.patch
# PATCH-FIX-UPSTREAM 5556.patch dimstar@opensuse.org -- export: Do not fail generation for separate namelink only case
Patch3: https://gitlab.kitware.com/cmake/cmake/-/merge_requests/5556.patch
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: pkgconfig