What is [PublicAdditionalShadowFiles] in build.cs?

Hi

Some plugin’s build.cs has [PublicAdditionalShadowFiles].


				PublicAdditionalShadowFiles.Add(UEBuildConfiguration.UEThirdPartySourceDirectory + "FreeType2/FreeType2-2.4.12/Lib/TVOS/Device/libfreetype2412.a");

		else if (Target.Platform == UnrealTargetPlatform.Mac)
		{
			string DylibPath = SdkBase + "/bin/osx32/libopenvr_api.dylib";
			PublicDelayLoadDLLs.Add(DylibPath);
			PublicAdditionalShadowFiles.Add(DylibPath);

        else if (Target.Platform == UnrealTargetPlatform.IOS)
        {
			if (Target.Architecture == "-simulator")
            {
                PublicLibraryPaths.Add(libPNGPath + "/lib/ios/Simulator");
                PublicAdditionalShadowFiles.Add(UEBuildConfiguration.UEThirdPartySourceDirectory + "libPNG/libPNG-1.5.2/lib/ios/Simulator/libpng152.a");
            }
            else
            {
                PublicLibraryPaths.Add(libPNGPath + "/lib/ios/Device");
                PublicAdditionalShadowFiles.Add(UEBuildConfiguration.UEThirdPartySourceDirectory + "libPNG/libPNG-1.5.2/lib/ios/Device/libpng152.a");
            }

            PublicAdditionalLibraries.Add("png152");
        }

		string libJPGPath = UEBuildConfiguration.UEThirdPartySourceDirectory + "libJPG";
		PublicIncludePaths.Add(libJPGPath);

        // cpp files being used like header files in implementation
        PublicAdditionalShadowFiles.Add(libJPGPath + "/jpgd.cpp");
        PublicAdditionalShadowFiles.Add(libJPGPath + "/jpge.cpp");

like that.

  1. What is PublicAdditionalShadowFiles?
  2. When using PublicAdditionalShadowFiles?
  3. Why using PublicAdditionalShadowFiles?
  4. How to use PublicAdditionalShadowFiles??..