use of org.gradle.language.cpp.CppLibrary in project gradle by gradle.
the class VisualStudioPlugin method applyVisualStudioCurrentModelRules.
private void applyVisualStudioCurrentModelRules(final VisualStudioExtensionInternal extension) {
project.getComponents().withType(CppApplication.class).all(new Action<CppApplication>() {
@Override
public void execute(final CppApplication cppApplication) {
cppApplication.getBinaries().whenElementFinalized(CppExecutable.class, new Action<CppExecutable>() {
@Override
public void execute(CppExecutable executable) {
extension.getProjectRegistry().addProjectConfiguration(new CppApplicationVisualStudioTargetBinary(project.getName(), project.getPath(), cppApplication, executable));
}
});
}
});
project.getComponents().withType(CppLibrary.class).all(new Action<CppLibrary>() {
@Override
public void execute(final CppLibrary cppLibrary) {
cppLibrary.getBinaries().whenElementFinalized(CppSharedLibrary.class, new Action<CppSharedLibrary>() {
@Override
public void execute(CppSharedLibrary library) {
extension.getProjectRegistry().addProjectConfiguration(new CppSharedLibraryVisualStudioTargetBinary(project.getName(), project.getPath(), cppLibrary, library));
}
});
cppLibrary.getBinaries().whenElementFinalized(CppStaticLibrary.class, new Action<CppStaticLibrary>() {
@Override
public void execute(CppStaticLibrary library) {
extension.getProjectRegistry().addProjectConfiguration(new CppStaticLibraryVisualStudioTargetBinary(project.getName(), project.getPath(), cppLibrary, library));
}
});
}
});
}
Aggregations