Interface VisualStudioProject

All Superinterfaces:
Buildable, Named

@Incubating public interface VisualStudioProject extends Named, Buildable
A visual studio project, created from one or more native binaries.

The content and location of the generate project file can be modified by the supplied methods:

 apply plugin: "cpp"
 apply plugin: "visual-studio"
 model {
     visualStudio {
         projects.all {
             projectFile.location = "vs/${name}.vcxproj"
             projectFile.withXml {
                 asNode().appendNode('PropertyGroup', [Label: 'Custom'])
                         .appendNode('ProjectDetails', "Project is named ${project.name}")
             }
         }
     }
 }
  • Method Details

    • getProjectFile

      @Internal XmlConfigFile getProjectFile()
      Configuration for the generated project file.
    • getFiltersFile

      @Internal XmlConfigFile getFiltersFile()
      Configuration for the generated filters file.
    • getBuildDependencies

      @Internal TaskDependency getBuildDependencies()
      Description copied from interface: Buildable
      Returns a dependency which contains the tasks which build this artifact. All Buildable implementations must ensure that the returned dependency object is live, so that it tracks changes to the dependencies of this buildable.
      Specified by:
      getBuildDependencies in interface Buildable
      Returns:
      The dependency. Never returns null. Returns an empty dependency when this artifact is not built by any tasks.
    • getName

      @Input String getName()
      Description copied from interface: Named
      The object's name.

      Must be constant for the life of the object.

      Specified by:
      getName in interface Named
      Returns:
      The name. Never null.