Skip to content

v1.8.5 | Swift Everywhere

Compare
Choose a tag to compare
@furby-tm furby-tm released this 31 Oct 07:57
· 5 commits to main since this release
e381050

What's New

🎧swift on.

Bring support for Microsoft Windows.

  • Support for Microsoft Windows in MetaverseKit was brought in a while back, but shortly after, Microsoft released a MSVC update which made their STL incompatible with the version of clang embedded in all current releases of Swift, this release adds a workaround which allows Swift/C++ interop to work again on Microsoft Windows, regardless.

  • Ensure all source code in this repo has their respective licenses.

  • Removed SwiftBundler as a package dependency, we are working on getting the bundler in shape to build cross-platform apps (namely SwiftUSD & UsdView) across Linux, visionOS, iOS, macOS, and Windows, the recommended method to use the bundler is for users to install the bundler locally following these instructions.

  • Due to a bug in Swift, you must ensure you do not have TBB installed on your system via (pending this PR to Swift to fix this):

    sudo apt remove libtbb-dev

Usage

Add MetaverseKit as a package dependency to your own Swift project's Package.swift file:

// swift-tools-version: 5.10

dependencies: [
  .package(url: "https://github.com/wabiverse/MetaverseKit", from: "1.8.5")
]

Linux

For Linux, these are the only dependencies required, as MetaverseKit provides everything else.

Tip

If you are on a distro like Ubuntu there is a good chance you already have most of these installed.

Important

If you have installed TBB on your Linux system, it will break the entire std library on Linux, so you must ensure you do not have TBB installed on your system via (ex. sudo apt remove libtbb-dev), (pending this PR to Swift to fix this).

Dependency CentOS Ubuntu
Boost boost-devel libboost-all-dev
Python python3-devel python3-dev
BZ2 bzip2-devel libbz2-dev
ZLib zlib-devel zlib1g-dev
FreeGLUT freeglut-devel freeglut3-dev
DEFLATE libdeflate-devel libdeflate-dev
Expat libexpat-devel libexpat1-dev
Xcursor libXcursor-devel libxcursor-dev
Xt libXt-devel libxt-dev
Xi libXi-devel libxi-dev
Xinerama libXinerama-devel libxinerama-dev
Xrandr libXrandr-devel libxrandr-dev