ci: add macOS build workflow (#114)

* ci: add macOS build workflow

* macos: add POSIX compatibility guards

* ci: select Xcode 26 for macOS

* macos: add kernel POSIX compatibility

* launcher: support macOS process startup

* ci: fix macOS architecture verification

* ci: cache glslang on Windows

---------

Co-authored-by: Abdullah K. <akjee204@gmail.com>
This commit is contained in:
nmzik
2026-07-27 22:01:50 +02:00
committed by GitHub
parent c71bb9fc9e
commit 8fe4765f9e
10 changed files with 150 additions and 19 deletions
+12 -9
View File
@@ -26,7 +26,7 @@
#include "ui_main_dialog.h"
#ifndef __linux__
#if defined(_WIN32)
#include <windows.h> // IWYU pragma: keep
#endif
@@ -36,20 +36,20 @@
class QWidget;
#ifdef __linux__
constexpr char EMULATOR_EXE[] = "kyty_emulator";
#else
#if defined(_WIN32)
constexpr char EMULATOR_EXE[] = "kyty_emulator.exe";
#else
constexpr char EMULATOR_EXE[] = "kyty_emulator";
#endif
#ifndef __linux__
#if defined(_WIN32)
constexpr char CMD_EXE[] = "cmd.exe";
#else
#elif defined(__linux__)
constexpr char GNOME[] = "gnome-terminal";
constexpr char XTERM[] = "xterm";
constexpr char KYTY_BASH_FILE[] = "kyty_run.sh";
#endif
#ifndef __linux__
#if defined(_WIN32)
constexpr DWORD CMD_X_CHARS = 175;
constexpr DWORD CMD_Y_CHARS = 1000;
#endif
@@ -292,7 +292,7 @@ void MainDialog::RunInterpreter(QProcess* process, const Configuration& info) {
process->setProgram(GNOME);
process->setArguments({"--", "bash", "-c", bash_file_name});
}
#else
#elif defined(_WIN32)
{
process->setProgram(CMD_EXE);
QStringList process_args;
@@ -300,9 +300,12 @@ void MainDialog::RunInterpreter(QProcess* process, const Configuration& info) {
process_args += args;
process->setArguments(process_args);
}
#else
process->setProgram(interpreter);
process->setArguments(args);
#endif
process->setWorkingDirectory(dir.path());
#ifndef __linux__
#if defined(_WIN32)
process->setCreateProcessArgumentsModifier([](QProcess::CreateProcessArguments* args) {
args->flags |= static_cast<uint32_t>(CREATE_NEW_CONSOLE);
args->startupInfo->dwFlags &= ~static_cast<DWORD>(STARTF_USESTDHANDLES);