Evita finestres de consola a Windows als subprocessos (CREATE_NO_WINDOW)
This commit is contained in:
@@ -4,6 +4,7 @@ from __future__ import annotations
|
||||
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
from collections.abc import Callable
|
||||
from pathlib import Path
|
||||
|
||||
@@ -12,6 +13,11 @@ from .paths import repo_dir
|
||||
|
||||
LogFn = Callable[[str], None]
|
||||
|
||||
# Windows: evita que la compilación/ejecución (shell + make/gcc, apps de consola)
|
||||
# abra ventanas negras cuando el lanzador corre como GUI sin consola (el .exe).
|
||||
# En el resto de SO es 0 (sin efecto).
|
||||
_NO_WINDOW = subprocess.CREATE_NO_WINDOW if sys.platform == "win32" else 0
|
||||
|
||||
# Directorios habituales de herramientas de línea de comandos (Homebrew, MacPorts…).
|
||||
# Una .app de macOS lanzada desde Finder/Dock NO hereda el PATH del shell de login,
|
||||
# así que herramientas como cmake, instaladas con Homebrew en /opt/homebrew/bin
|
||||
@@ -90,6 +96,7 @@ def _stream(cmd: str, cwd: Path, log: LogFn) -> int:
|
||||
text=True,
|
||||
bufsize=1,
|
||||
env=_launch_env(),
|
||||
creationflags=_NO_WINDOW,
|
||||
)
|
||||
assert proc.stdout is not None
|
||||
for line in proc.stdout:
|
||||
|
||||
Reference in New Issue
Block a user