model {
	components {
		data(NativeExecutableSpec) {
			sources {
				cpp.source { srcDir 'data/src' include '**/*.cpp' }
				cpp.lib project: ':XML', library: 'XML', linkage: 'shared'				
				cpp.lib project: ':Foundation', library: 'Foundation', linkage: 'shared'				
			}
		}
		DOMParser(NativeExecutableSpec) {
			sources {
				cpp.source { srcDir 'DOMParser/src' include '**/*.cpp' }
				cpp.lib project: ':XML', library: 'XML', linkage: 'shared'				
				cpp.lib project: ':Foundation', library: 'Foundation', linkage: 'shared'				
			}
		}
		DOMWriter(NativeExecutableSpec) {
			sources {
				cpp.source { srcDir 'DOMWriter/src' include '**/*.cpp' }
				cpp.lib project: ':XML', library: 'XML', linkage: 'shared'				
				cpp.lib project: ':Foundation', library: 'Foundation', linkage: 'shared'				
			}
		}
		PrettyPrint(NativeExecutableSpec) {
			sources {
				cpp.source { srcDir 'PrettyPrint/src' include '**/*.cpp' }
				cpp.lib project: ':XML', library: 'XML', linkage: 'shared'				
				cpp.lib project: ':Foundation', library: 'Foundation', linkage: 'shared'				
			}
		}
//		RoundTrip(NativeExecutableSpec) {
//			sources {
//				cpp.source { srcDir 'RoundTrip/src' include '**/*.cpp' }
//				cpp.lib project: ':XML', library: 'XML', linkage: 'shared'				
//				cpp.lib project: ':Foundation', library: 'Foundation', linkage: 'shared'				
//			}
//		}
		SAXParser(NativeExecutableSpec) {
			sources {
				cpp.source { srcDir 'SAXParser/src' include '**/*.cpp' }
				cpp.lib project: ':XML', library: 'XML', linkage: 'shared'				
				cpp.lib project: ':Foundation', library: 'Foundation', linkage: 'shared'				
			}
		}
	}
}
task samples { dependsOn "assemble" }


