Merge topic 'update-curl'
4eff1f4ac2 curl: Remove curlu library not needed for building within CMake
188c065e5a Merge branch 'upstream-curl' into update-curl
e2ab2da70a curl 2023-07-26 (50490c06)
1345c21275 curl: Update script to get curl 8.2.1
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8678
diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index d2d44ac..7fcc619 100644
--- a/Source/CMakeVersion.cmake
+++ b/Source/CMakeVersion.cmake
@@ -1,7 +1,7 @@
# CMake version number components.
set(CMake_VERSION_MAJOR 3)
set(CMake_VERSION_MINOR 27)
-set(CMake_VERSION_PATCH 20230801)
+set(CMake_VERSION_PATCH 20230802)
#set(CMake_VERSION_RC 0)
set(CMake_VERSION_IS_DIRTY 0)
diff --git a/Source/cmCommonTargetGenerator.cxx b/Source/cmCommonTargetGenerator.cxx
index e583daa..2d6ce98 100644
--- a/Source/cmCommonTargetGenerator.cxx
+++ b/Source/cmCommonTargetGenerator.cxx
@@ -173,13 +173,7 @@
this->GeneratorTarget->GetLinkInformation(config)) {
std::vector<cmGeneratorTarget const*> targets;
for (auto const& item : cli->GetItems()) {
- targets.push_back(item.Target);
- }
- for (auto const* target : cli->GetObjectLibrariesLinked()) {
- targets.push_back(target);
- }
-
- for (auto const* linkee : targets) {
+ auto const* linkee = item.Target;
if (linkee &&
!linkee->IsImported()
// Skip targets that build after this one in a static lib cycle.
diff --git a/Source/cmComputeLinkInformation.cxx b/Source/cmComputeLinkInformation.cxx
index be73fa3..ccd20a0 100644
--- a/Source/cmComputeLinkInformation.cxx
+++ b/Source/cmComputeLinkInformation.cxx
@@ -536,12 +536,6 @@
return this->SharedLibrariesLinked;
}
-const std::vector<const cmGeneratorTarget*>&
-cmComputeLinkInformation::GetObjectLibrariesLinked() const
-{
- return this->ObjectLibrariesLinked;
-}
-
bool cmComputeLinkInformation::Compute()
{
// Skip targets that do not link.
@@ -1164,12 +1158,7 @@
this->AddItem(BT<std::string>(libName, item.Backtrace));
}
} else if (tgt->GetType() == cmStateEnums::OBJECT_LIBRARY) {
- if (!tgt->HaveCxx20ModuleSources() && !tgt->HaveFortranSources(config)) {
- // Ignore object library!
- // Its object-files should already have been extracted for linking.
- } else {
- this->ObjectLibrariesLinked.push_back(entry.Target);
- }
+ this->Items.emplace_back(entry.Item, ItemIsPath::No, entry.Target);
} else if (this->GlobalGenerator->IsXcode() &&
!tgt->GetImportedXcFrameworkPath(config).empty()) {
this->Items.emplace_back(
diff --git a/Source/cmComputeLinkInformation.h b/Source/cmComputeLinkInformation.h
index e75423f..a988307 100644
--- a/Source/cmComputeLinkInformation.h
+++ b/Source/cmComputeLinkInformation.h
@@ -97,8 +97,6 @@
std::string GetRPathString(bool for_install) const;
std::string GetChrpathString() const;
std::set<cmGeneratorTarget const*> const& GetSharedLibrariesLinked() const;
- std::vector<cmGeneratorTarget const*> const& GetObjectLibrariesLinked()
- const;
std::vector<cmGeneratorTarget const*> const& GetRuntimeDLLs() const
{
return this->RuntimeDLLs;
@@ -136,7 +134,6 @@
std::vector<std::string> XcFrameworkHeaderPaths;
std::vector<std::string> RuntimeSearchPath;
std::set<cmGeneratorTarget const*> SharedLibrariesLinked;
- std::vector<cmGeneratorTarget const*> ObjectLibrariesLinked;
std::vector<cmGeneratorTarget const*> RuntimeDLLs;
// Context information.
diff --git a/Source/cmExportFileGenerator.cxx b/Source/cmExportFileGenerator.cxx
index 481c98f..41234f4 100644
--- a/Source/cmExportFileGenerator.cxx
+++ b/Source/cmExportFileGenerator.cxx
@@ -536,7 +536,7 @@
const cmComputeLinkInformation::ItemVector& deps = info->GetItems();
for (auto const& dep : deps) {
- if (!dep.Target) {
+ if (!dep.Target || dep.Target->GetType() == cmStateEnums::OBJECT_LIBRARY) {
continue;
}
getPropertyContents(dep.Target, "COMPATIBLE_INTERFACE_BOOL",
diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index 3be3697..8f1818d 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -5858,7 +5858,7 @@
static const std::string strNumMax = "COMPATIBLE_INTERFACE_NUMBER_MAX";
for (auto const& dep : deps) {
- if (!dep.Target) {
+ if (!dep.Target || dep.Target->GetType() == cmStateEnums::OBJECT_LIBRARY) {
continue;
}
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index da9d6ce..9834b64 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -3598,6 +3598,13 @@
continue;
}
for (auto const& libItem : cli->GetItems()) {
+ // Explicitly ignore OBJECT libraries as Xcode emulates them as static
+ // libraries without an artifact. Avoid exposing this to the rest of
+ // CMake's compilation model.
+ if (libItem.Target &&
+ libItem.Target->GetType() == cmStateEnums::OBJECT_LIBRARY) {
+ continue;
+ }
// We want to put only static libraries, dynamic libraries, frameworks
// and bundles that are built from targets that are not imported in "Link
// Binary With Libraries" build phase. Except if the target property
diff --git a/Source/cmLinkLineComputer.cxx b/Source/cmLinkLineComputer.cxx
index b7ee4fa..1f5005b 100644
--- a/Source/cmLinkLineComputer.cxx
+++ b/Source/cmLinkLineComputer.cxx
@@ -65,7 +65,8 @@
ItemVector const& items = cli.GetItems();
for (auto const& item : items) {
if (item.Target &&
- item.Target->GetType() == cmStateEnums::INTERFACE_LIBRARY) {
+ (item.Target->GetType() == cmStateEnums::INTERFACE_LIBRARY ||
+ item.Target->GetType() == cmStateEnums::OBJECT_LIBRARY)) {
continue;
}
diff --git a/Source/cmLinkLineDeviceComputer.cxx b/Source/cmLinkLineDeviceComputer.cxx
index b06dc3d..ded6466 100644
--- a/Source/cmLinkLineDeviceComputer.cxx
+++ b/Source/cmLinkLineDeviceComputer.cxx
@@ -115,6 +115,7 @@
switch (item.Target->GetType()) {
case cmStateEnums::SHARED_LIBRARY:
case cmStateEnums::MODULE_LIBRARY:
+ case cmStateEnums::OBJECT_LIBRARY:
case cmStateEnums::INTERFACE_LIBRARY:
skip = true;
break;
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx
index ef8a7e2..7b02c56 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -1318,7 +1318,8 @@
fout << (lib.HasFeature() ? lib.GetFormattedItem(rel).Value : rel)
<< " ";
} else if (!lib.Target ||
- lib.Target->GetType() != cmStateEnums::INTERFACE_LIBRARY) {
+ (lib.Target->GetType() != cmStateEnums::INTERFACE_LIBRARY &&
+ lib.Target->GetType() != cmStateEnums::OBJECT_LIBRARY)) {
fout << lib.Value.Value << " ";
}
}
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index f930223..1559420 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -4603,7 +4603,8 @@
: path);
}
} else if (!l.Target ||
- l.Target->GetType() != cmStateEnums::INTERFACE_LIBRARY) {
+ (l.Target->GetType() != cmStateEnums::INTERFACE_LIBRARY &&
+ l.Target->GetType() != cmStateEnums::OBJECT_LIBRARY)) {
libVec.push_back(l.Value.Value);
}
}