task cleanup(type: Delete) { delete fileTree(dir: 'build', exclude: 'lib/') } task cmake(type: Exec) { workingDir './build' commandLine 'cmake', '../' } task make(type: Exec) { workingDir './build' commandLine 'make' } task fullBuild(type: GradleBuild) { tasks = ['cleanup', 'cmake', 'make'] } build.dependsOn tasks.fullBuild