MCPcopy Create free account
hub / github.com/Kitware/CMake / GetSuffixVariableInternal

Method GetSuffixVariableInternal

Source/cmTarget.cxx:2926–2968  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2924}
2925
2926char const* cmTarget::GetSuffixVariableInternal(
2927 cmStateEnums::ArtifactType artifact) const
2928{
2929 switch (this->GetType()) {
2930 case cmStateEnums::STATIC_LIBRARY:
2931 return "CMAKE_STATIC_LIBRARY_SUFFIX";
2932 case cmStateEnums::SHARED_LIBRARY:
2933 switch (artifact) {
2934 case cmStateEnums::RuntimeBinaryArtifact:
2935 return this->IsArchivedAIXSharedLibrary()
2936 ? "CMAKE_SHARED_LIBRARY_ARCHIVE_SUFFIX"
2937 : "CMAKE_SHARED_LIBRARY_SUFFIX";
2938 case cmStateEnums::ImportLibraryArtifact:
2939 return this->IsApple() ? "CMAKE_APPLE_IMPORT_FILE_SUFFIX"
2940 : "CMAKE_IMPORT_LIBRARY_SUFFIX";
2941 }
2942 break;
2943 case cmStateEnums::MODULE_LIBRARY:
2944 switch (artifact) {
2945 case cmStateEnums::RuntimeBinaryArtifact:
2946 return "CMAKE_SHARED_MODULE_SUFFIX";
2947 case cmStateEnums::ImportLibraryArtifact:
2948 return "CMAKE_IMPORT_LIBRARY_SUFFIX";
2949 }
2950 break;
2951 case cmStateEnums::EXECUTABLE:
2952 switch (artifact) {
2953 case cmStateEnums::RuntimeBinaryArtifact:
2954 // Android GUI application packages store the native
2955 // binary as a shared library.
2956 return (this->IsAndroidGuiExecutable()
2957 ? "CMAKE_SHARED_LIBRARY_SUFFIX"
2958 : "CMAKE_EXECUTABLE_SUFFIX");
2959 case cmStateEnums::ImportLibraryArtifact:
2960 return (this->impl->IsAIX ? "CMAKE_AIX_IMPORT_FILE_SUFFIX"
2961 : "CMAKE_IMPORT_LIBRARY_SUFFIX");
2962 }
2963 break;
2964 default:
2965 break;
2966 }
2967 return "";
2968}
2969
2970char const* cmTarget::GetPrefixVariableInternal(
2971 cmStateEnums::ArtifactType artifact) const

Callers 1

GetFileSuffixInternalMethod · 0.80

Calls 4

GetTypeMethod · 0.95
IsAppleMethod · 0.95

Tested by

no test coverage detected