Fix pad compile

This commit is contained in:
luboslenco
2025-02-27 16:12:24 +01:00
parent 9247860f4a
commit e7ebcef901
44 changed files with 92 additions and 85 deletions
+73 -73
View File
@@ -19,7 +19,7 @@ flags.with_eval = true;
let project = new Project("Base");
let dir = flags.name.toLowerCase();
{
if (!flags.lite) {
project.add_define("IDLE_SLEEP");
if (graphics === "vulkan") {
@@ -50,85 +50,85 @@ let dir = flags.name.toLowerCase();
}
project.add_define("WITH_PLUGINS");
project.add_cfiles("sources/plugin_api.c");
project.add_project("../" + dir + "/plugins");
project.add_project("plugins");
}
project.add_tsfiles("sources/ts");
project.add_tsfiles("sources/ts/nodes");
project.add_shaders("shaders/*.glsl");
project.add_shaders("shaders/draw/*.glsl");
project.add_assets("assets/*", { destination: "data/{name}" });
project.add_assets("assets/locale/*", { destination: "data/locale/{name}" });
project.add_assets("assets/licenses/**", { destination: "data/licenses/{name}" });
project.add_assets("assets/plugins/*", { destination: "data/plugins/{name}" });
project.add_assets("assets/themes/*.json", { destination: "data/themes/{name}" });
project.add_tsfiles("sources/ts");
project.add_tsfiles("sources/ts/iron");
project.add_tsfiles("sources/ts/nodes");
project.add_shaders("shaders/*.glsl");
project.add_shaders("shaders/draw/*.glsl");
project.add_assets("assets/*", { destination: "data/{name}" });
project.add_assets("assets/locale/*", { destination: "data/locale/{name}" });
project.add_assets("assets/licenses/**", { destination: "data/licenses/{name}" });
project.add_assets("assets/plugins/*", { destination: "data/plugins/{name}" });
project.add_assets("assets/themes/*.json", { destination: "data/themes/{name}" });
if (platform === "linux" && fs_exists(os_cwd() + "/icon.png")) {
project.add_assets("../" + dir + "/icon.png", { destination: "{name}", noprocessing: true });
}
if (flags.embed) {
project.add_define("WITH_EMBED");
project.add_define("arm_embed");
}
else {
project.add_assets("assets/extra/*", { destination: "data/{name}" });
}
if (flags.physics) {
project.add_define("arm_physics");
}
// project.add_define("arm_skin");
// project.add_define("arm_audio");
if (flags.android) {
project.add_define("arm_android_rmb");
}
if (flags.raytrace) {
project.add_assets("assets/raytrace/*", { destination: "data/{name}" });
if (flags.d3d12) {
project.add_assets("shaders/raytrace/*.cso", { destination: "data/{name}" });
if (platform === "linux" && fs_exists(os_cwd() + "/icon.png")) {
project.add_assets("../" + dir + "/icon.png", { destination: "{name}", noprocessing: true });
}
else if (flags.vulkan) {
project.add_assets("shaders/raytrace/*.spirv", { destination: "data/{name}" });
}
else if (flags.metal) {
project.add_assets("shaders/raytrace/*.metal", { destination: "data/{name}" });
}
}
let export_version_info = true;
if (export_version_info) {
let dir = "../" + flags.name.toLowerCase() + "/build";
let sha = os_popen(`git log --pretty=format:"%h" -n 1`).stdout.substr(1, 7);
let date = new Date().toISOString().split("T")[0];
let data = `{ "sha": "${sha}", "date": "${date}" }`;
fs_ensuredir(dir);
fs_writefile(dir + "/version.json", data);
// Adds version.json to embed.txt list
project.add_assets(dir + "/version.json", { destination: "data/{name}" });
}
if (flags.embed) {
project.add_define("WITH_EMBED");
project.add_define("arm_embed");
}
else {
project.add_assets("assets/extra/*", { destination: "data/{name}" });
}
let export_data_list = flags.android; // .apk contents
if (export_data_list) {
let root = "../" + flags.name.toLowerCase();
let data_list = {
"/data/plugins": fs_readdir("../base/assets/plugins").concat(fs_readdir(root + "/assets/plugins")).join(","),
"/data/export_presets": fs_readdir(root + "/assets/export_presets").join(","),
"/data/keymap_presets": fs_readdir(root + "/assets/keymap_presets").join(","),
"/data/locale": fs_readdir("../base/assets/locale").join(","),
"/data/meshes": fs_readdir(root + "/assets/meshes").join(","),
"/data/themes": fs_readdir("../base/assets/themes").join(","),
};
let dir = "../" + flags.name.toLowerCase() + "/build";
fs_ensuredir(dir);
fs_writefile(dir + "/data_list.json", JSON.stringify(data_list));
project.add_assets(dir + "/data_list.json", { destination: "data/{name}" });
if (flags.physics) {
project.add_define("arm_physics");
}
// project.add_define("arm_skin");
// project.add_define("arm_audio");
if (flags.android) {
project.add_define("arm_android_rmb");
}
if (flags.raytrace) {
project.add_assets("assets/raytrace/*", { destination: "data/{name}" });
if (flags.d3d12) {
project.add_assets("shaders/raytrace/*.cso", { destination: "data/{name}" });
}
else if (flags.vulkan) {
project.add_assets("shaders/raytrace/*.spirv", { destination: "data/{name}" });
}
else if (flags.metal) {
project.add_assets("shaders/raytrace/*.metal", { destination: "data/{name}" });
}
}
let export_version_info = true;
if (export_version_info) {
let dir = "../" + flags.name.toLowerCase() + "/build";
let sha = os_popen(`git log --pretty=format:"%h" -n 1`).stdout.substr(1, 7);
let date = new Date().toISOString().split("T")[0];
let data = `{ "sha": "${sha}", "date": "${date}" }`;
fs_ensuredir(dir);
fs_writefile(dir + "/version.json", data);
// Adds version.json to embed.txt list
project.add_assets(dir + "/version.json", { destination: "data/{name}" });
}
let export_data_list = flags.android; // .apk contents
if (export_data_list) {
let root = "../" + flags.name.toLowerCase();
let data_list = {
"/data/plugins": fs_readdir("../base/assets/plugins").concat(fs_readdir(root + "/assets/plugins")).join(","),
"/data/export_presets": fs_readdir(root + "/assets/export_presets").join(","),
"/data/keymap_presets": fs_readdir(root + "/assets/keymap_presets").join(","),
"/data/locale": fs_readdir("../base/assets/locale").join(","),
"/data/meshes": fs_readdir(root + "/assets/meshes").join(","),
"/data/themes": fs_readdir("../base/assets/themes").join(","),
};
let dir = "../" + flags.name.toLowerCase() + "/build";
fs_ensuredir(dir);
fs_writefile(dir + "/data_list.json", JSON.stringify(data_list));
project.add_assets(dir + "/data_list.json", { destination: "data/{name}" });
}
}
{