in src/langs/cpp/package_info.js [124:161]
generateMainFiles() {
let param_scope = _toSnakeCase(this.config.scope);
let param_package = _avoidKeywords(_toSnakeCase(this.config.name));
let template;
if (this.config.withTest) {
template = fs.readFileSync(path.join(__dirname, './files/main/CMakeLists.txt.test.tmpl'), 'utf-8');
let tests_main_path = path.join(this.config.dir, 'tests/main.cpp');
if (!fs.existsSync(tests_main_path)) {
this.renderAuto(
path.join(__dirname, './files/main/tests.main.cpp.tmpl'),
tests_main_path, {
test_code: this.renderTestCode()
}
);
}
template = _render(template, {
with_test: _render(fs.readFileSync(path.join(__dirname, './files/main/with_test.CMakeLists.txt.tmpl'), 'utf-8'), {
param_scope,
param_package,
}),
param_import: this.imports.join(' ')
});
} else if (this.config.exec) {
template = fs.readFileSync(path.join(__dirname, './files/main/CMakeLists.txt.exec.tmpl'), 'utf-8');
template = _render(template, { with_test: '' });
} else {
template = fs.readFileSync(path.join(__dirname, './files/main/CMakeLists.txt.tmpl'), 'utf-8');
template = _render(template, { with_test: '' });
}
this.renderContent(
template,
path.join(this.config.dir, 'CMakeLists.txt'), {
param_scope,
param_package,
param_import: this.imports.join(' ')
}
);
}