model {
	components {
		JSON(NativeLibrarySpec) {
			sources {
				rc {
					source {
						srcDir '..'
						include 'DLLVersion.rc'
					}
				}
				c {
					source {
						srcDir 'src'
						include '**/*.c'
					}
					exportedHeaders {
						srcDir 'include'
					}
					lib project: ':Foundation', library: 'Foundation'
				}
				cpp {
					source {
						srcDir 'src'
						include '**/*.cpp'
					}
					exportedHeaders {
						srcDir 'include'
					}
					lib project: ':Foundation', library: 'Foundation'
				}
			}
		}
	}
	binaries {
		all {
			if (toolChain in VisualCpp) {
				cCompiler.args "/TP"
			}
		}
		withType(SharedLibraryBinarySpec) {
			if (toolChain in VisualCpp) {
				 cppCompiler.define "JSON_EXPORTS"
			}
		}
	}
}
task poco { dependsOn "assemble" }

