Using NuGet packages
Introduction
The Mako SDK distribution includes NuGet packages for the following platforms and languages. Those with Apex in their name also include the Apex GPU renderer.
Platform | Language | Static or Dynamic | Example filename (LittleCMS-based color manager) | Example filename (ColorLogic-based color manager) |
---|---|---|---|---|
Windows x64 | C++ | Dynamic | MakoCore.OEM.Win-x64.VS2019.8.1.0.102.nupkg | MakoCore.OEM.Win-x64.VS2019.CL.8.1.0.98.nupkg |
MakoCore.OEM.Apex.Win-x64.VS2019.8.1.0.102.nupkg | MakoCore.OEM.Apex.Win-x64.VS2019.CL.8.1.0.98.nupkg | |||
Static | MakoCore.OEM.Win-x64.VS2019.Static.8.1.0.89.nupkg | MakoCore.OEM.Win-x64.VS2019.Static.CL.8.1.0.101.nupkg | ||
MakoCore.OEM.Apex.Win-x64.VS2019.Static.8.1.0.89.nupkg | MakoCore.OEM.Apex.Win-x64.VS2019.Static.CL.8.1.0.101.nupkg | |||
Windows x86 | C++ | Dynamic | MakoCore.OEM.Win-x86.VS2019.8.1.0.100.nupkg | |
Static | MakoCore.OEM.Win-x86.VS2019.Static.8.1.0.100.nupkg | |||
Windows ARM64 | C++ | Dynamic | MakoCore.OEM.Win-arm64.VS2022.8.1.0.103.nupkg | |
Static | MakoCore.OEM.Win-arm64.VS2022.Static.8.1.0.101.nupkg | |||
Windows UWP | C++ | - | MakoCore.OEM.UWP.x64.8.1.0.89.nupkg | |
Windows x64 | C++ | Dynamic | MakoCore.OEM.Win-x64.VS2017.8.1.0.102.nupkg | |
Static | MakoCore.OEM.Win-x64.VS2017.Static.8.1.0.104.nupkg | |||
Windows | C# | - | MakoCore.Net.Windows.8.1.0.226.nupkg | MakoCore.OEM.Net.Windows.CL.8.1.0.94.nupkg |
MakoCore.OEM.Net.Apex.Windows.8.1.0.226.nupkg | MakoCore.OEM.Net.Apex.Windows.CL.8.1.0.94.nupkg | |||
macOS | C# | - | MakoCore.OEM.Net.macOS.ub.8.1.0.110.nupkg | |
MakoCore.OEM.Net.Apex.macOS.ub.8.1.0.110.nupkg | ||||
Linux (GNU) | C# | - | MakoCore.OEM.Net.Linux.8.1.0.109.nupkg | |
MakoCore.OEM.Net.Apex.Linux.8.1.0.109.nupkg | ||||
Linux - Ubuntu | C# | - | MakoCore.OEM.Net.Ubuntu.8.1.0.119.nupkg | |
MakoCore.OEM.Net.Apex.Ubuntu.8.1.0.119.nupkg | ||||
Linux - Alpine | C# | - | MakoCore.OEM.Net.Alpine.8.1.0.121.nupkg | |
MakoCore.OEM.Net.Apex.Alpine.8.1.0.121.nupkg | ||||
Linux - Centos8 | C# | - | MakoCore.OEM.Net.Centos8.8.1.0.213.nupkg |
* deprecated in Mako 8.1.0
How to use them
The Mako NuGet packages are not available from an online source. You will need to copy the packages you need from the Mako distribution to an accessible folder on your system or local network. Make this location known to your IDE. In Visual Studio, click the gear icon in the Manage Nuget Packages view. In Rider, click the NuGet package icon on the left-hand side, then select the Sources tab. On the right, you can add a new feed:
![]() Microsoft Visual Studio | ![]() JetBrains Rider |
NuGet.config
Another way to reference an offline NuGet package is to provide a NuGet.config
file with your project. This approach is more portable, since you can include the NuGet package with your project when you check it into a source control system or share the project with a colleague.
First copy the required package(s) to a named folder, such as
LocalPackages
, alongside your project in the same folder as the solution (.sln
) file.Then add a
NuGet.config
file at the same location to inform the IDE of an additional source of packages.
A NuGet.config
file is written like this:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="LocalPackages" value="./LocalPackages" />
</packageSources>
<activePackageSource>
<!-- this tells that all of them are active -->
<add key="All" value="(Aggregate source)" />
</activePackageSource>
<disabledPackageSources>
<!-- Optionally disable sources if needed -->
</disabledPackageSources>
</configuration>
NuGet configuration files are recognized by both Microsoft Visual Studio and Rider, the cross-platform IDE from JetBrains.
C++
This page shows you how to load a NuGet package into a C++ project using Visual Studio.