-
Notifications
You must be signed in to change notification settings - Fork 9
Compilation (Conan)
There are 3 main ways of compilation.
- Barebones with Conan
This method is not recommended. You mostly have to install deps manually, and it needs a lot of storage space. Luckily, we've already patched conanfile.py so you won't have to worry about modifying it.
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
This is just what worked for me. I recommend doing this on a fresh windows VM to avoid complications. I would recommend using Hyper V, or Virtualbox.
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 reps. 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.