Skip to content
This repository has been archived by the owner on Mar 7, 2023. It is now read-only.

Compilation (Conan)

Speak2Erase edited this page Mar 22, 2021 · 9 revisions

Barebones with Conan

This method is not recommended. You mostly have to install dependencies manually, and it needs a lot of storage space. Luckily, we've already patched conanfile.py's syntax errors so you don't have to.

Dependencies

VS Components

  • NuGet package manager
  • Text Template Transformation
  • C# and Visual Basic Roslyn compilers
  • C++ 2019 Redistributable Update
  • C++ CMake tools for Windows
  • MSBuild
  • MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.23)
  • C++ profiling tools
  • Just-In_Time debugger
  • Test Adapter for Boost.Test
  • Test Adapter for Google Test
  • C++ core features
  • IntelliCode
  • Live Share
  • Graphics debugger and GPU profiler for DirectX
  • C++ ATL for latest v142 build tools (x86 & x64)
  • Windows 10 SDK (10.0.18362.0)
  • Windows Universal C Runtime

Other dependencies

  • OpenAL
  • Git
  • Ruby
  • Conan (Obviously)
  • Pip
  • Python
  • gVim
  • Cmake
  • Chocolatey (Not chocohex, chocolatey)
  • Patience

NOTE: This is only what worked for me. It is NOT a complete list.

Okay, not that you have all those dependencies installed and added to the path, let's get compiling. (Recommended to do this in PowerShell.) First, add the Conan remotes.

conan remote add eliza "https://api.bintray.com/conan/eliza/conan"

conan remote add bincrafters "https://api.bintray.com/conan/bincrafters/public-conan"

Next, navigate to your cloned directory. Rename it to mkxp-oneshot.

cd C:/Documents/Github

ren Modshot-Core mkxp-oneshot

Now create the builds directory.

cd mkxp-oneshot

mkdir build

cd build

Great! Now that that's done, let's install the other hundreds of deps. WARNING THIS TAKES AN INCREDIBLY LONG TIME.

conan install .. --build=missing

Assuming you ran into no errors, you will never need to run that command again hopefully! Now we are ready to build the project with

conan build ..

Now you have compiled oneshot with the most overly complicated method.