Skip to content

Conversation

@bscottm
Copy link
Contributor

@bscottm bscottm commented Oct 29, 2025

  • Make vcpkg a Git submodule, simplifying new-to-SIMH-on-Windows users' lives. vcpkg is automagically initialized and updated by the CMake configure phase.

  • Issue vcpkg now requires a builtin-baseline entry in vcpkg.json (or a separate vcpkg-configuration.json file) #446: Visual Studio comes with its own built-in vcpkg that requires 'builtin-baseline' in vcpkg.json to nail down the Git release hash. This complicates future open-simh maintenance because the GitHub vcpkg project does monthly release tags, which would require updating the 'builtin-baseline' hash periodically.

    Visual Studio exports the VisualStudioVersion environment variable when it invokes the CMake configuration phase. Detect this environment variable and redirect VCPKG_ROOT to the open-simh vcpkg submodule to avoid the 'builtin-baseline' issue.

  • Issue Unnecessary static linking of zlib in cmake infrastructure #481: Linking with static zlib should only happen on Windows and only if building BUILD_SHARED_DEPS=False.

    Re-evaluate BUILD_SHARED_DEPS for Windows builds, ensuring that the option is respected if set to True by the user (i.e., don't force static dependency linking.)

  • Add an intial set of CMake presets, suggested by @LegalizeAdulthood. 'cmake --list-presets' lists the current set of presets.

  • cmake/cmake-cleaner.ps1: PowerShell script to clean build directories, build artifacts and the vcpkg archive to produce a clean Windows build environment. Useful when testing out BUILD_SHARED_DEPS=True and then reverting back to BUILD_SHARED_DEPS=False.

- Make vcpkg a Git submodule, simplifying new-to-SIMH-on-Windows users'
  lives.  vcpkg is automagically initialized and updated by the CMake
  configure phase.

- Issue open-simh#446: Visual Studio comes with its own built-in vcpkg that
  requires 'builtin-baseline' in vcpkg.json to nail down the Git release
  hash. This complicates future open-simh maintenance because the GitHub
  vcpkg project does monthly release tags, which would require updating
  the 'builtin-baseline' hash periodically.

  Visual Studio exports the VisualStudioVersion environment variable
  when it invokes the CMake configuration phase. Detect this environment
  variable and redirect VCPKG_ROOT to the open-simh vcpkg submodule to
  avoid the 'builtin-baseline' issue.

- Issue open-simh#481: Linking with static zlib should only happen on Windows and
  only if building BUILD_SHARED_DEPS=False.

  Re-evaluate BUILD_SHARED_DEPS for Windows builds, ensuring that the
  option is respected if set to True by the user (i.e., don't force
  static dependency linking.)

- Add an intial set of CMake presets, suggested by @LegalizeAdulthood.
  'cmake --list-presets' lists the current set of presets.

- cmake/cmake-cleaner.ps1: PowerShell script to clean build directories,
  build artifacts and the vcpkg archive to produce a clean Windows build
  environment. Useful when testing out BUILD_SHARED_DEPS=True and then
  reverting back to BUILD_SHARED_DEPS=False.
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.

1 participant