diff --git a/paint/plugins/project.c b/paint/plugins/project.c new file mode 100644 index 000000000..1f539c5d3 --- /dev/null +++ b/paint/plugins/project.c @@ -0,0 +1,21 @@ +#include "../../base/tools/amake/amake.h" + +project_t *main() { + project_t *project = project_create("plugins"); + add_cfiles(project, "plugins.c"); + add_cfiles(project, "io_svg/**"); + add_cfiles(project, "io_exr/**"); + add_cfiles(project, "io_psd/**"); + add_cfiles(project, "io_gltf/**"); + add_cfiles(project, "io_fbx/**"); + add_cfiles(project, "io_tiff/**"); + + if (fs_exists("external")) { + add_cfiles(project, "external/**"); + add_shaders(project, "external/*.shader"); + add_assets(project, "external/assets/*", "data/{name}", 0); + add_define(project, "WITH_EXTERNAL"); + } + + return project; +} diff --git a/paint/plugins/project.js b/paint/plugins/project.js deleted file mode 100644 index 6fcb5f4b8..000000000 --- a/paint/plugins/project.js +++ /dev/null @@ -1,18 +0,0 @@ -let project = new Project("plugins"); - -project.add_cfiles("plugins.c"); -project.add_cfiles("io_svg/**"); -project.add_cfiles("io_exr/**"); -project.add_cfiles("io_psd/**"); -project.add_cfiles("io_gltf/**"); -project.add_cfiles("io_fbx/**"); -project.add_cfiles("io_tiff/**"); - -if (fs_exists(os_cwd() + "/../paint/plugins/external")) { - project.add_cfiles("external/**"); - project.add_shaders("external/*.shader"); - project.add_assets("external/assets/*", {destination : "data/{name}"}); - project.add_define("WITH_EXTERNAL"); -} - -return project; diff --git a/paint/project.c b/paint/project.c new file mode 100644 index 000000000..ea7cc23bf --- /dev/null +++ b/paint/project.c @@ -0,0 +1,47 @@ +#include "../base/tools/amake/amake.h" + +project_t *main() { + flags->name = "ArmorPaint"; + flags->package = "org.armorpaint"; + flags->embed = has_arg("--embed"); // !has_arg("--debug"); // clang 19 + flags->with_physics = true; + flags->with_d3dcompiler = true; + flags->with_nfd = true; + flags->with_compress = platform != PLATFORM_ANDROID; + flags->with_image_write = true; + flags->with_video_write = !has_arg("tcc"); + flags->with_eval = true; + flags->with_plugins = true; + flags->with_kong = true; + flags->with_raytrace = true; + flags->with_bc7 = true; + flags->with_audio = platform == PLATFORM_LINUX || platform == PLATFORM_WINDOWS; + flags->idle_sleep = true; + flags->export_version_info = true; + flags->export_data_list = platform == PLATFORM_ANDROID; // .apk contents + + if (platform == PLATFORM_WASM) { + flags->with_nfd = false; + flags->with_compress = false; + flags->with_plugins = false; + flags->with_raytrace = false; + flags->export_data_list = true; + } + + project_t *project = project_create(flags->name); + add_project(project, "../base"); + add_cfiles(project, "sources/startup.c"); + add_cfiles(project, "sources/minic_api.c"); + add_cfiles(project, "sources/main.c"); + add_shaders(project, "shaders/*.shader"); + add_assets(project, "assets/*", "data/{name}", 0); + add_assets(project, "assets/export_presets/*", "data/export_presets/{name}", 0); + add_assets(project, "assets/keymap_presets/*", "data/keymap_presets/{name}", 0); + add_assets(project, "assets/licenses/**", "data/licenses/{name}", 0); + add_assets(project, "assets/plugins/*", "data/plugins/{name}", 0); + add_assets(project, "assets/meshes/*", "data/meshes/{name}", ASSET_NOEMBED); + add_assets(project, "assets/meshes/default/*", "data/meshes/{name}", 0); // Embed default mesh + add_assets(project, "assets/locale/*", "data/locale/{name}", 0); + add_assets(project, "assets/readme/readme.txt", "{name}", 0); + return project; +} diff --git a/paint/project.js b/paint/project.js deleted file mode 100644 index 9b08f39d5..000000000 --- a/paint/project.js +++ /dev/null @@ -1,45 +0,0 @@ - -let flags = globalThis.flags; -flags.name = "ArmorPaint"; -flags.package = "org.armorpaint"; -flags.embed = os_argv().indexOf("--embed") >= 0; // os_argv().indexOf("--debug") == -1; // clang 19 -flags.with_physics = true; -flags.with_d3dcompiler = true; -flags.with_nfd = true; -flags.with_compress = platform != "android"; -flags.with_image_write = true; -flags.with_video_write = os_argv().indexOf("tcc") == -1; -flags.with_eval = true; -flags.with_plugins = true; -flags.with_kong = true; -flags.with_raytrace = true; -flags.with_bc7 = true; -flags.with_audio = platform == "linux" || platform == "windows"; -flags.idle_sleep = true; -flags.export_version_info = true; -flags.export_data_list = platform == "android"; // .apk contents - -if (platform == "wasm") { - flags.with_nfd = false; - flags.with_compress = false; - flags.with_plugins = false; - flags.with_raytrace = false; - flags.export_data_list = true; -} - -let project = new Project(flags.name); -project.add_project("../base"); -project.add_cfiles("sources/startup.c"); -project.add_cfiles("sources/minic_api.c"); -project.add_cfiles("sources/main.c"); -project.add_shaders("shaders/*.shader"); -project.add_assets("assets/*", {destination : "data/{name}"}); -project.add_assets("assets/export_presets/*", {destination : "data/export_presets/{name}"}); -project.add_assets("assets/keymap_presets/*", {destination : "data/keymap_presets/{name}"}); -project.add_assets("assets/licenses/**", {destination : "data/licenses/{name}"}); -project.add_assets("assets/plugins/*", {destination : "data/plugins/{name}"}); -project.add_assets("assets/meshes/*", {destination : "data/meshes/{name}", noembed : true}); -project.add_assets("assets/meshes/default/*", {destination : "data/meshes/{name}"}); // embed default mesh -project.add_assets("assets/locale/*", {destination : "data/locale/{name}"}); -project.add_assets("assets/readme/readme.txt", {destination : "{name}"}); -return project;