model { components { dict(NativeExecutableSpec) { sources { cpp.source { srcDir 'dict/src' include '**/*.cpp' } cpp.lib project: ':Net', library: 'Net' cpp.lib project: ':Foundation', library: 'Foundation' } } download(NativeExecutableSpec) { sources { cpp.source { srcDir 'download/src' include '**/*.cpp' } cpp.lib project: ':Net', library: 'Net' cpp.lib project: ':Foundation', library: 'Foundation' } } EchoServer(NativeExecutableSpec) { sources { cpp.source { srcDir 'EchoServer/src' include '**/*.cpp' } cpp.lib project: ':Net', library: 'Net' cpp.lib project: ':Util', library: 'Util' cpp.lib project: ':Foundation', library: 'Foundation' } } HTTPFormServer(NativeExecutableSpec) { sources { cpp.source { srcDir 'HTTPFormServer/src' include '**/*.cpp' } cpp.lib project: ':Net', library: 'Net' cpp.lib project: ':Util', library: 'Util' cpp.lib project: ':Foundation', library: 'Foundation' } } httpget(NativeExecutableSpec) { sources { cpp.source { srcDir 'httpget/src' include '**/*.cpp' } cpp.lib project: ':Net', library: 'Net' cpp.lib project: ':Foundation', library: 'Foundation' } } HTTPLoadTest(NativeExecutableSpec) { sources { cpp.source { srcDir 'HTTPLoadTest/src' include '**/*.cpp' } cpp.lib project: ':Net', library: 'Net' cpp.lib project: ':Util', library: 'Util' cpp.lib project: ':Foundation', library: 'Foundation' } } HTTPTimeServer(NativeExecutableSpec) { sources { cpp.source { srcDir 'HTTPTimeServer/src' include '**/*.cpp' } cpp.lib project: ':Net', library: 'Net' cpp.lib project: ':Util', library: 'Util' cpp.lib project: ':Foundation', library: 'Foundation' } } ifconfig(NativeExecutableSpec) { sources { cpp.source { srcDir 'ifconfig/src' include '**/*.cpp' } cpp.lib project: ':Net', library: 'Net' cpp.lib project: ':Foundation', library: 'Foundation' } } Mail(NativeExecutableSpec) { sources { cpp.source { srcDir 'Mail/src' include '**/*.cpp' } cpp.lib project: ':Net', library: 'Net' cpp.lib project: ':Foundation', library: 'Foundation' } } Ping(NativeExecutableSpec) { sources { cpp.source { srcDir 'Ping/src' include '**/*.cpp' } cpp.lib project: ':Net', library: 'Net' cpp.lib project: ':Util', library: 'Util' cpp.lib project: ':Foundation', library: 'Foundation' } } SMTPLogger(NativeExecutableSpec) { sources { cpp.source { srcDir 'SMTPLogger/src' include '**/*.cpp' } cpp.lib project: ':Net', library: 'Net' cpp.lib project: ':Foundation', library: 'Foundation' } } TimeServer(NativeExecutableSpec) { sources { cpp.source { srcDir 'TimeServer/src' include '**/*.cpp' } cpp.lib project: ':Net', library: 'Net' cpp.lib project: ':Util', library: 'Util' cpp.lib project: ':Foundation', library: 'Foundation' } } WebSocketServer(NativeExecutableSpec) { sources { cpp.source { srcDir 'WebSocketServer/src' include '**/*.cpp' } cpp.lib project: ':Net', library: 'Net' cpp.lib project: ':Util', library: 'Util' cpp.lib project: ':Foundation', library: 'Foundation' } } } binaries { all { } withType(SharedLibraryBinarySpec) { lib project: ':Foundation', library: 'Foundation', linkage: 'shared' } withType(StaticLibraryBinarySpec) { lib project: ':Foundation', library: 'Foundation', linkage: 'static' } withType(NativeExecutableSpec) { lib project: ':Foundation', library: 'Foundation', linkage: 'static' } } } task samples { dependsOn "assemble" }