const path = require('path'); let project = new Project('datachannel', __dirname); project.addFile('cpp/src/datachannel.c'); project.addFile('cpp/src/ssl3.c'); project.addFile('cpp/src/aegis128x4.c'); project.addIncludeDir('cpp/libdatachannel/include'); project.addIncludeDir('cpp/libdatachannel/deps/mbedtls/include'); project.addDefine('RTC_STATIC'); project.addDefine('MBEDTLS_ALLOW_PRIVATE_ACCESS'); project.addDefine('MBEDTLS_SSL_DTLS_SRTP'); project.addLibFor('x64', path.join(__dirname, 'lib/datachannel-static')); project.addLibFor('x64', path.join(__dirname, 'lib/juice-static')); project.addLibFor('x64', path.join(__dirname, 'lib/usrsctp')); project.addLibFor('x64', path.join(__dirname, 'lib/MbedTLS')); if (platform === Platform.Windows) { project.addLib('ws2_32'); project.addLib('Crypt32'); project.addLib('bcrypt'); } if (parentProject) { for (let sub of parentProject.subProjects) { if (sub.name === 'Kha') { sub.addExclude('hl/include/mbedtls/**'); sub.addExclude('hl/libs/ssl/ssl.c'); sub.includeDirs = sub.includeDirs.filter( dir => dir !== 'hl/include/mbedtls/include'); break; } } } resolve(project);