forked from LeenkxTeam/Kmake
28 lines
1.4 KiB
JavaScript
28 lines
1.4 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.CLionExporter = void 0;
|
|
const fs = require("kmake/fsextra");
|
|
const path = require("path");
|
|
const Exporter_1 = require("kmake/Exporters/Exporter");
|
|
const CMakeExporter_1 = require("kmake/Exporters/CMakeExporter");
|
|
class CLionExporter extends Exporter_1.Exporter {
|
|
constructor(options) {
|
|
super(options);
|
|
this.cmake = new CMakeExporter_1.CMakeExporter(options);
|
|
}
|
|
async exportSolution(project, from, to, platform, vrApi, options) {
|
|
let name = project.getSafeName();
|
|
fs.ensureDirSync(path.resolve(to, name, '.idea'));
|
|
let misc = require('fs').getEmbeddedData()['linux_idea_misc_xml'];
|
|
misc = misc.replace(/{root}/g, path.resolve(from));
|
|
fs.writeFileSync(path.join(to, name, '.idea', 'misc.xml'), misc, 'utf8');
|
|
let workspace = require('fs').getEmbeddedData()['linux_idea_workspace_xml'];
|
|
workspace = workspace.replace(/{workingdir}/g, path.resolve(project.getDebugDir()));
|
|
workspace = workspace.replace(/{project}/g, name);
|
|
workspace = workspace.replace(/{target}/g, name);
|
|
fs.writeFileSync(path.join(to, name, '.idea', 'workspace.xml'), workspace, 'utf8');
|
|
this.cmake.exportSolution(project, from, to, platform, vrApi, options);
|
|
}
|
|
}
|
|
exports.CLionExporter = CLionExporter;
|
|
//# sourceMappingURL=CLionExporter.js.map
|