"use strict"; const path = require("path"); function qgisPaths(qgisApp) { if (process.platform === "darwin") { const macosDir = path.join(qgisApp, "Contents", "MacOS"); const resourcesDir = path.join(qgisApp, "Contents", "Resources"); return { python: path.join(macosDir, "python3.12"), ogr2ogr: path.join(macosDir, "ogr2ogr"), ogrinfo: path.join(macosDir, "ogrinfo"), prefix: macosDir, env: { PROJ_LIB: path.join(resourcesDir, "qgis", "proj"), GDAL_DATA: path.join(resourcesDir, "qgis", "gdal"), }, pythonEnv: { PYTHONHOME: path.join(qgisApp, "Contents", "Frameworks"), PYTHONPATH: [ path.join(resourcesDir, "python"), path.join(resourcesDir, "python3.11", "site-packages"), ].join(path.delimiter), DYLD_LIBRARY_PATH: [macosDir, path.join(qgisApp, "Contents", "Frameworks")].join(path.delimiter), }, }; } const binDir = path.join(qgisApp, "bin"); const shareDir = path.join(qgisApp, "share"); return { python: path.join(binDir, "python3"), ogr2ogr: path.join(binDir, "ogr2ogr"), ogrinfo: path.join(binDir, "ogrinfo"), prefix: qgisApp, env: { PROJ_LIB: path.join(shareDir, "proj"), GDAL_DATA: path.join(shareDir, "gdal"), }, pythonEnv: { PYTHONPATH: [ path.join(shareDir, "qgis", "python"), path.join(shareDir, "qgis", "python", "plugins"), ].join(path.delimiter), }, }; } function blenderExecutable(blenderApp) { return process.platform === "darwin" ? path.join(blenderApp, "Contents", "MacOS", "Blender") : blenderApp; } module.exports = { blenderExecutable, qgisPaths, };