| 2924 | } |
| 2925 | |
| 2926 | char 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 | |
| 2970 | char const* cmTarget::GetPrefixVariableInternal( |
| 2971 | cmStateEnums::ArtifactType artifact) const |
no test coverage detected