Skip to content

Enable native Windows build flow and add non-admin native Windows setup script#92

Draft
Copilot wants to merge 9 commits intomasterfrom
copilot/add-window-support-native
Draft

Enable native Windows build flow and add non-admin native Windows setup script#92
Copilot wants to merge 9 commits intomasterfrom
copilot/add-window-support-native

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 7, 2026

Projekt był praktycznie Linux-only na poziomie core build flow (bash/POSIX w komendach CMake), co blokowało natywne uruchamianie na Windows. Ten PR przenosi krytyczne ścieżki budowania na przenośne mechanizmy CMake, bez zmiany istniejącego workflow na Linux.

  • Portable CMake build path (bez bash/POSIX)

    • zastąpiono Linux-specyficzne bash -c, ls, /dev/null w kluczowych custom commandach przenośnymi skryptami CMake:
      • scripts/create_modules_dmp.cmake
      • scripts/embed_modules_dmp.cmake
      • scripts/require_file.cmake
    • modules/CMakeLists.txt i CMakeLists.txt używają teraz tych helperów zamiast shell one-linerów.
  • Cross-platform interpreter/tool invocation

    • w root CMakeLists.txt dodano find_package(Python3 REQUIRED COMPONENTS Interpreter) i zamieniono twarde python3 na ${Python3_EXECUTABLE}.
    • eliminuje to zależność od nazwy binarki specyficznej dla Linux.
  • Windows-aware monitor executable paths

    • obsługa .exe dla dmlog_monitor w:
      • CMakeLists.txt
      • scripts/run_monitor.cmake
      • scripts/run_monitor_gdb.cmake
  • Renode connect bez Bash

    • scripts/targets.cmake nie uruchamia już renode_connect.sh; target connect wywołuje renode bezpośrednio.
    • usuwa twardą zależność od shella Bash w trybie emulacji.
  • Nowy skrypt konfiguracji natywnego Windows (bez instalacji globalnej)

    • dodano scripts/setup-windows-env.ps1, analogiczny do Linuxowego setupu, który:
      • pobiera portable narzędzia do katalogu użytkownika (bez admina),
      • rozpakowuje je lokalnie,
      • generuje skrypt aktywacji PATH (activate-dmboot-tools.ps1),
      • opcjonalnie dopina aktywację do profilu PowerShell użytkownika.
    • skrypt został utwardzony pod kątem:
      • obsługi błędów pobierania,
      • bezpiecznej obsługi profilu PowerShell,
      • unikania duplikowania wpisów w profilu,
      • detekcji katalogów po rozpakowaniu.
  • Dokumentacja natywnego Windows

    • docs/windows-environment-setup.md zaktualizowano o użycie setup-windows-env.ps1 oraz rozdział narzędzi pobieranych przez skrypt vs. wymaganych osobno.
    • README.md zawiera quick start do nowego skryptu.

Przykład (przed/po) dla helper scripts:

# before (Linux-only)
COMMAND bash -c "if [ -f ${MODULES_DMP_FILE} ]; then ...; else ... /dev/null ...; fi"

# after (portable)
COMMAND ${CMAKE_COMMAND}
  -DINPUT_DMP="${MODULES_DMP_FILE}"
  -DOUTPUT_OBJECT="${MODULES_DMP_OBJECT}"
  -DOBJCOPY_EXECUTABLE="${CMAKE_OBJCOPY}"
  -P "${CMAKE_CURRENT_SOURCE_DIR}/scripts/embed_modules_dmp.cmake"

Copilot AI changed the title [WIP] Add native Windows support for the project Enable native Windows build flow by removing Linux-only CMake dependencies May 7, 2026
Copilot AI requested a review from JohnAmadis May 7, 2026 14:51
@JohnAmadis
Copy link
Copy Markdown
Contributor

@copilot brakuje skryptu konfigurującego natywny windows, taki jak jest dla linuxa też - tylko nie instaluj paczek wymaganych, tylko je pobieraj w jakies miejsce gdzie nie jest potrzebny administrator

Copilot AI and others added 6 commits May 7, 2026 15:05
Agent-Logs-Url: https://github.com/choco-technologies/dmod-boot/sessions/f4e1137d-9b68-4599-a9a9-5fedc243d753

Co-authored-by: JohnAmadis <17320783+JohnAmadis@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 7, 2026

@copilot brakuje skryptu konfigurującego natywny windows, taki jak jest dla linuxa też - tylko nie instaluj paczek wymaganych, tylko je pobieraj w jakies miejsce gdzie nie jest potrzebny administrat...

Dodałem natywny skrypt konfiguracji Windows bez instalacji pakietów z uprawnieniami administratora: scripts/setup-windows-env.ps1. Skrypt pobiera i rozpakowuje portable toolchain do katalogu użytkownika oraz tworzy skrypt aktywacji PATH. Zmiana jest w commitach od 6582e97 (z poprawkami do 4fa5799).

Copilot AI changed the title Enable native Windows build flow by removing Linux-only CMake dependencies Enable native Windows build flow and add non-admin native Windows setup script May 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Przygotować projekt pod natywne działanie pod windows

2 participants