ShikyoKira/Project-New-Reign---Nemesis-Main

Rewrite the outdated build instructions in README.md and redo the CMakeLists.txt files to fix errors.

ClementineAccount opened this issue · 3 comments

The following issues must be addressed for the project to be maintainable by other contributors in its current state.

  1. Instructions for the README.md should be rewritten to be clearer and easy to follow, leaving no room for ambiguity.
  2. The CMakeList.txt should be as 'plug and play' as possible. Simply running it from Visual Code or Visual Studio on Windows while following the README.md instructions should be enough to get a working build running as soon as possible. The least time is wasted attempting to get the project to build, the more time can be spent on fixing other issues, bugs or adding features.

The rest of this post is a write up of the varius concerns that I have noticed about the current state of the project when it comes to building. As of writing this issue, I am still unable to successfully build Nemesis for my own development.


Note that this issue is similar to the following opened issues:

Resolving this issue will resolve these three other issues automatically.

README.md is outdated

The README.md references a version of the repo that was dependant on Visual Studios and a different version of CPython. This is no longer the case, making the Readme unhelpful for new contributors.


The current CMakeLists files references Python 3.8.2 while the README.md references Python 3.5.6
(Inconsistent Python versions)

image

image


Qt5 5.14.1 is not as easily accessible

The version of Qt5 set by the current CMakeLists.txt is not easily accessible using the Qt Online Installer. There are also no instructions on obtaining the correct Qt5 version for the project.
image

image

Boost.cmake is broken

Boost.cmake leads to a now dead page.. This link must be replaced with one to a publicly accessible repo.
image


This creates several, very difficult to resolve build errors with CMake, predictably, as developers have to make guesses and assumptions as to how the project is intended to be built. The following are examples of Build errors I have encountered in my attempt to build Nemesis, which require non-trivial fixes and research from the developer to modify.

image
image

(libftfi-7.lib is likely caused by Python.cmake)


Note for anyone reading from the bounty

I will do the payout even if the issue is resolved by replacing CMakeLists.txt entirely with a different build method. Possiblities include reverting back to .Sln files (since the project makes one using CMake anyways) or Meson. As long as the project can be built easily with the revised instructions and methods.

A bigger problem TBH is the fact that this thing links directly against the 32-bit 2010 Havok SDK. I don't even understand how he was managing that with VS2019, let alone how anyone would manage it with VS2022.

Feel like it can't be really necessary given there's no way FNIS was doing that for example.

I wouldn't expect expect a response for Shiyko anytime soon though. Dude doesn't care enough to even bother showing up to fix absolute gems such as this and also this.