Update kmake/src/Exporters/MacOSExporter.ts

This commit is contained in:
2026-05-30 19:05:54 +00:00
parent 883c91e6db
commit bb7c5077b5

View File

@ -32,21 +32,25 @@ export class MacOSExporter extends Exporter {
outputExtension = '.dylib';
}
const macLibsLine = (project: Project): string => {
let libs = '';
for (let lib of project.getLibs()) {
if (['OpenGL', 'Cocoa', 'IOKit', 'AppKit', 'CoreAudio', 'CoreData', 'CoreMedia', 'CoreVideo', 'AVFoundation', 'Foundation', 'Metal', 'MetalKit'].includes(lib)) {
libs += ' -framework ' + lib;
} else {
libs += ' -l' + lib;
}
}
return libs;
};
this.ninja = new NinjaExporter(options, this.getCCompiler(), this.getCPPCompiler(), '', '', linkerFlags, outputExtension);
this.make = new MakeExporter(options, this.getCCompiler(), this.getCPPCompiler(), '', '', linkerFlags, outputExtension);
this.make = new MakeExporter(options, this.getCCompiler(), this.getCPPCompiler(), '', '', linkerFlags, outputExtension, macLibsLine);
this.clion = new CLionExporter(options);
this.compileCommands = new CompilerCommandsExporter(options);
}
async exportSolution(project: Project, from: string, to: string, platform: string, vrApi: any, options: any) {
// Debug: log .m files before export
console.log('MacOSExporter: Total files:', project.getFiles().length);
for (let fileobject of project.getFiles()) {
if (fileobject.file.endsWith('.m') || fileobject.file.endsWith('.mm')) {
console.log('MacOSExporter: Found .m file:', fileobject.file);
}
}
this.ninja.exportSolution(project, from, to, platform, vrApi, options);
this.make.exportSolution(project, from, to, platform, vrApi, options);
this.clion.exportSolution(project, from, to, platform, vrApi, options);