summaryrefslogtreecommitdiffstats
path: root/Source/cmComputeLinkInformation.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2019-07-17 13:15:56 (GMT)
committerKitware Robot <kwrobot@kitware.com>2019-07-17 13:16:07 (GMT)
commit44a6468304ad7b2e7d7b9e9b43bc04588f0ab918 (patch)
tree9369ac7e89bc5176f922e5be5464a3e5ef7b7762 /Source/cmComputeLinkInformation.cxx
parent74ad28fa6a05d033eb99db949eb095fc192c34ad (diff)
parent2fa920c0cd5c186d0991c9636c9af6691ead8dce (diff)
downloadCMake-44a6468304ad7b2e7d7b9e9b43bc04588f0ab918.zip
CMake-44a6468304ad7b2e7d7b9e9b43bc04588f0ab918.tar.gz
CMake-44a6468304ad7b2e7d7b9e9b43bc04588f0ab918.tar.bz2
Merge topic 'aix-exe-implib'
2fa920c0cd AIX: Create import library for executables with exports Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3561
Diffstat (limited to 'Source/cmComputeLinkInformation.cxx')
-rw-r--r--Source/cmComputeLinkInformation.cxx9
1 files changed, 9 insertions, 0 deletions
diff --git a/Source/cmComputeLinkInformation.cxx b/Source/cmComputeLinkInformation.cxx
index 5a03670..f696f28 100644
--- a/Source/cmComputeLinkInformation.cxx
+++ b/Source/cmComputeLinkInformation.cxx
@@ -616,6 +616,15 @@ void cmComputeLinkInformation::AddItem(std::string const& item,
// Pass the full path to the target file.
std::string lib = tgt->GetFullPath(config, artifact, true);
+ if (tgt->Target->IsAIX() && cmHasLiteralSuffix(lib, "-NOTFOUND") &&
+ artifact == cmStateEnums::ImportLibraryArtifact) {
+ // This is an imported executable on AIX that has ENABLE_EXPORTS
+ // but not IMPORTED_IMPLIB. CMake used to produce and accept such
+ // imported executables on AIX before we taught it to use linker
+ // import files. For compatibility, simply skip linking to this
+ // executable as we did before. It works with runtime linking.
+ return;
+ }
if (!this->LinkDependsNoShared ||
tgt->GetType() != cmStateEnums::SHARED_LIBRARY) {
this->Depends.push_back(lib);