summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2024-11-21 23:36:28 (GMT)
committerBrad King <brad.king@kitware.com>2024-11-21 23:44:25 (GMT)
commitf923463f2b6d76abef735ec084672d9c88942d57 (patch)
treeea0f37bcb72615397e96fba867b51c5c823e6a0d /Source
parenteb281d34548f4234e68ff31d1050aca7e8441d86 (diff)
downloadCMake-f923463f2b6d76abef735ec084672d9c88942d57.zip
CMake-f923463f2b6d76abef735ec084672d9c88942d57.tar.gz
CMake-f923463f2b6d76abef735ec084672d9c88942d57.tar.bz2
AIX: Disallow TARGET_SONAME_* genex for AIX_SHARED_LIBRARY_ARCHIVE targets
AIX shared library archives have no filesystem artifact named with their SONAME because it is in an archive.
Diffstat (limited to 'Source')
-rw-r--r--Source/cmGeneratorExpressionNode.cxx12
1 files changed, 12 insertions, 0 deletions
diff --git a/Source/cmGeneratorExpressionNode.cxx b/Source/cmGeneratorExpressionNode.cxx
index 7f4e4ac..80eedf5 100644
--- a/Source/cmGeneratorExpressionNode.cxx
+++ b/Source/cmGeneratorExpressionNode.cxx
@@ -3592,6 +3592,12 @@ struct TargetFilesystemArtifactResultCreator<ArtifactSonameTag>
"SHARED libraries.");
return std::string();
}
+ if (target->IsArchivedAIXSharedLibrary()) {
+ ::reportError(context, content->GetOriginalExpression(),
+ "TARGET_SONAME_FILE is not allowed for "
+ "AIX_SHARED_LIBRARY_ARCHIVE libraries.");
+ return std::string();
+ }
std::string result = cmStrCat(target->GetDirectory(context->Config), '/',
target->GetSOName(context->Config));
return result;
@@ -3618,6 +3624,12 @@ struct TargetFilesystemArtifactResultCreator<ArtifactSonameImportTag>
"SHARED libraries.");
return std::string();
}
+ if (target->IsArchivedAIXSharedLibrary()) {
+ ::reportError(context, content->GetOriginalExpression(),
+ "TARGET_SONAME_IMPORT_FILE is not allowed for "
+ "AIX_SHARED_LIBRARY_ARCHIVE libraries.");
+ return std::string();
+ }
if (target->HasImportLibrary(context->Config)) {
return cmStrCat(target->GetDirectory(