| apply plugin: 'c' |
| apply plugin: 'sdk-files' |
| apply plugin: 'native-setup' |
| |
| executables { |
| mksdcard {} |
| } |
| |
| sources { |
| mksdcard { |
| c { |
| source { |
| srcDir "src/source" |
| include "**/*.c" |
| } |
| } |
| } |
| } |
| |
| binaries.all { |
| cCompiler.args "-D_FILE_OFFSET_BITS=64" |
| if (Os.isFamily(Os.FAMILY_WINDOWS)) { |
| linker.args "-static-libgcc" |
| } |
| } |
| |
| sdk { |
| mac { |
| item( { getExeName("darwin") } ) { |
| executable true |
| builtBy 'darwinMksdcardExecutable' |
| } |
| } |
| linux { |
| item( { getExeName("linux") } ) { |
| executable true |
| builtBy 'linuxMksdcardExecutable' |
| } |
| } |
| windows { |
| item( { getExeName("windows32") } ) { |
| name 'mksdcard.exe' |
| builtBy 'windows32MksdcardExecutable' |
| } |
| } |
| } |
| |
| def getExeName(String platform) { |
| // binaries will return a set of binaries |
| def binaries = executables.mksdcard.binaries.matching { it.name == "${platform}MksdcardExecutable" } |
| // calling .exeFile on the set returns an array with the result from each item in the set... |
| return binaries.executableFile.get(0) |
| } |
| |