Skip to content

Support running NeuG on Windows #743

Description

@lnfjpt

Enable native Windows support for NeuG.

This could be achieved through the following adaptation tasks:

  • Build System Adaptation (CMake):
    • Update CMakeLists.txt to properly detect and support the MSVC compiler and Windows SDK.
    • Fix compiler-specific flags (e.g., replacing -Wall -Werror with /W4 /WX, handling /O2 vs -O3).
  • OS Abstraction Layer (System Calls & I/O):
    • Abstract POSIX-specific memory mapping (e.g., mmap / munmap) and provide Win32 equivalents (CreateFileMapping / MapViewOfFile).
    • Replace or wrap Linux-specific file I/O and directory operations with std::filesystem or cross-platform wrappers.
    • Adapt threading and synchronization primitives if pthread is heavily used (migrate to std::thread, std::mutex, or Windows SRWLock).
  • Dependency Management:
    • Ensure third-party C++ dependencies are cross-platform.
    • (Optional) Provide vcpkg or conan integration to easily fetch Windows-compatible binaries for dependencies.
  • CI/CD Integration:
    • Add a Windows runner (e.g., windows-latest with MSVC) to GitHub Actions to continuously verify Windows builds and prevent future regressions.

Metadata

Metadata

Assignees

Labels

clientClient bindingsengineStorage and execution engine

Projects

Status
To do

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions