Orvid/Caprica

Building/Compiling

fireundubh opened this issue · 2 comments

Please note that this is developed against MSVC 2015, so other compilers may not work, and earlier versions of MSVC almost certainly won't due to C++11 support.

That's what the readme says, but Caprica.vcxproj is configured for ToolsVersion="15.0" and <PlatformToolset>v141</PlatformToolset>.

The project also contains paths for boost_1_58_0, but CMakeLists.txt is looking for:

find_package(Boost 1.52.0 COMPONENTS filesystem program_options REQUIRED)

Just trying to open the project in VS2015 was a pain, but opening the project in VS2017 was a breeze. That said, I can't get Caprica to compile due to a wide assortment of errors. I was wondering if you could fix this project up so that it can be compiled, as well as some build instructions.

Looks like a number of changes were made recently to support VS2017.

Code Change

Line 65 in main.cpp:

      if (filenameRef != "." && filenameRef != "..") {

Change to:

      if (filenameRef.compare(".") != 0 && filenameRef.compare("..") != 0) {

Project Changes

  • Add _HAS_AUTO_PTR_ETC; to preprocessor definitions. (Might need only the second one.)
  • Fix the include path to Boost.
  • Build Boost. (Steps below.)
  • Add D:/dev/boost_1_58_0/stage/lib; to the linker library directories.

Building and Configuring Boost

  1. Run VS2017 Developer Tools.
  2. Change the directory to where Boost was extracted (e.g., cd D:\dev\boost_1_58_0).
  3. Run bootstrap.
  4. Run b2 address-model=64.
  5. Run b2 build-type=complete.
Orvid commented

The code for Caprica hasn't been touched in > 2.5 years at this point, and I'd strongly recommend using the official Papyrus compiler included in the Creation Kit rather than Caprica. Caprica was only ever designed to be a workaround when the Creation Kit hadn't yet released.

I would accept PRs if you want to get it back up and running, but I have no plans to do so myself.