예제 #1
0
        CompileAgainstPublicly <DependentModule>(
            CModule affectedSource,
            params CModule[] additionalSources) where DependentModule : CModule, new()
        {
            var dependent = Bam.Core.Graph.Instance.FindReferencedModule <DependentModule>();

            if (null == dependent)
            {
                return;
            }
            this.DependsOn(dependent);
            var sources = new CModule[additionalSources.Length + 1];

            sources[0] = affectedSource;
            if (additionalSources.Length > 0)
            {
                additionalSources.CopyTo(sources, 1);
            }
            foreach (var source in sources)
            {
                if (null == source)
                {
                    continue;
                }
                source.UsePublicPatches(dependent);
            }
            this.UsePublicPatches(dependent);
        }
예제 #2
0
        CompileAndLinkAgainst <DependentModule>(
            CModule affectedSource,
            params CModule[] additionalSources) where DependentModule : CModule, new()
        {
            var dependent = Bam.Core.Graph.Instance.FindReferencedModule <DependentModule>();

            if (null == dependent)
            {
                return;
            }
            this.addLinkDependency(dependent);
            this.addRuntimeDependency(dependent);
            var sources = new CModule[additionalSources.Length + 1];

            sources[0] = affectedSource;
            if (additionalSources.Length > 0)
            {
                additionalSources.CopyTo(sources, 1);
            }
            foreach (var source in sources)
            {
                if (null == source)
                {
                    continue;
                }
                source.UsePublicPatches(dependent);
            }
            this.LinkAllForwardedDependenciesFromLibraries(dependent);
            this.UsePublicPatchesPrivately(dependent);
        }
예제 #3
0
        CompilePubliclyAndLinkAgainst <DependentModule>(
            CModule affectedSource,
            params CModule[] additionalSources) where DependentModule : CModule, new()
        {
            var dependent = Bam.Core.Graph.Instance.FindReferencedModule <DependentModule>();

            if (null == dependent)
            {
                return;
            }
            if (dependent is C.DynamicLibrary || dependent is C.Cxx.DynamicLibrary)
            {
                this.forwardedDeps.AddUnique(dependent);
            }
            this.CompileAndLinkAgainst <DependentModule>(affectedSource, additionalSources);
            this.UsePublicPatches(dependent);
        }