apply plugin: 'c'
apply plugin: 'sdk-files'
apply plugin: 'windows-setup'

executables {
    avdLauncher {}
}

sources {
    avdLauncher {
        c {
            source {
                srcDir "src/source"
                include "**/*.c"
            }
        }
    }
}

sdk {
    windows {
        item( { getExeName("windows32AvdLauncherExecutable") } ) {
            into 'lib'
            name 'AVD Manager.exe'
            builtBy 'windows32AvdLauncherExecutable'
        }
    }
}

def getExeName(String name) {
    // binaries will return a set of binaries
    def binaries = executables.avdLauncher.binaries.matching { it.name == name }
    // calling .exeFile on the set returns an array with the result from each item in the set...
    return binaries.executableFile.get(0)
}

