v1.7.0
What's New
🎧 swift on.
- Fix Linux cross-platform compatibility.
- Targeting x86/64 now works and no longer causes build failures. 🎉🎉🎉
- Targeting aarch64 should now also work, in addition to x86/64 on CentOS.
EDIT (4.3.24)
Important
For Linux - I forgot to list some dependencies down below,
check the chart below for the correct packages to install on your platform.
Changelog
- We now conditionally apply sse2neon based on the chipset arch (ex.
arm64
,x86/64
) you're building on. - OpenColorIO needed to have target feature attributes added across all of its AVX and AVX2 functions.
- OCIOBundle was attempting to use
setenv()
(which overrides the OCIO env var with our provided configs), which apparently doesn't exist on Linux or uses some other function, opted to remove it for Linux since its assumed users on that platform likely already have OCIO configured to their preferences. - TBB needed to have target feature attributes added for a single function
prolonged_pause()
which uses WAITPKG. - HDF5 had a lowercased hdf5.h which Swift didn't see as an umbrella header on Linux because the target is uppercased, so Swift was attempting to (rather horribly incorrectly) generate one, renamed the file to HDF5.h and all was happy.
Usage
Add MetaverseKit as a package dependency to your own Swift project's Package.swift
file:
// swift-tools-version: 5.9
dependencies: [
.package(url: "https://github.com/wabiverse/MetaverseKit", from: "1.6.8")
]
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.
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 |