Files
Kmake/lib/kmake/Exporters/CLionExporter.js
2026-05-26 23:36:42 -07:00

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