Build cross-platform release v1.0.0 (Windows & Linux binaries)

This commit is contained in:
2026-04-20 23:26:24 -03:00
parent 7af9f38181
commit 65b41d4d0b
69 changed files with 485455 additions and 27 deletions
+23
View File
@@ -26,6 +26,19 @@
#include <errno.h>
#include <sys/stat.h>
#ifdef _WIN32
#include <io.h>
#include <process.h>
#define F_OK 0
#define W_OK 2
#define R_OK 4
#define access _access
#define unlink _unlink
#define getpid _getpid
#else
#include <unistd.h>
#endif
// ── Banner ─────────────────────────────────────────────────────────
static void print_banner(void) {
printf("\n");
@@ -159,6 +172,15 @@ static int untar_file(const char *tar_path, const char *output_dir) {
// Create output directory if needed
char cmd[VKZ_MAX_FILENAME * 3];
#ifdef _WIN32
if (output_dir) {
snprintf(cmd, sizeof(cmd),
"if not exist \"%s\" mkdir \"%s\" && tar xf \"%s\" -C \"%s\"",
output_dir, output_dir, tar_path, output_dir);
} else {
snprintf(cmd, sizeof(cmd), "tar xf \"%s\"", tar_path);
}
#else
if (output_dir) {
snprintf(cmd, sizeof(cmd),
"mkdir -p '%s' && tar xf '%s' -C '%s' 2>/dev/null", output_dir,
@@ -166,6 +188,7 @@ static int untar_file(const char *tar_path, const char *output_dir) {
} else {
snprintf(cmd, sizeof(cmd), "tar xf '%s' 2>/dev/null", tar_path);
}
#endif
int ret = system(cmd);
return (ret == 0) ? 0 : -1;