diff options
author | Brad King <brad.king@kitware.com> | 2024-11-21 23:36:28 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2024-11-21 23:44:25 (GMT) |
commit | f923463f2b6d76abef735ec084672d9c88942d57 (patch) | |
tree | ea0f37bcb72615397e96fba867b51c5c823e6a0d /Source | |
parent | eb281d34548f4234e68ff31d1050aca7e8441d86 (diff) | |
download | CMake-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.cxx | 12 |
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( |