I've given it a try myself now. I've got to say, the process is not entirely straightforward, even with the dependencies already installed. I'm not suggesting that you start over; just listing the steps I took for reference:
Downloaded the Master of Mana Xtended snapshot from SourceForge. (Didn't verify that this is really the latest version of the mod, but the last revision being from June 2019 is a good sign.) Unzipped, renamed to "CvGameCoreDLL".
Threw out CvTextScreen.cpp, resource.h (doesn't hurt, but, since the mod has removed CvGameCoreDLL.rc, it's useless) and CvGameCoreDLL better AI.suo (always better to let Visual Studio generate that). Also set aside the original .sln, .vcxproj and makefile to make sure that they don't get in the way.
Downloaded Nightinggale's makefile-2.5 archive and extracted it into a newly created folder "project" inside CvGameCoreDLL. I much prefer having a separate folder for the project files. The SOURCE_DIR variable needs to be set accordingly (see below).
Created a folder "bin" in project and moved fastdep.exe there because that's where the makefile looks for fastdep.exe.
Commented out YOURMOD in the makefile (because I didn't install the mod's assets). Set CIV4_PATH=$(PROGRAMFILES)\Sid Meier's Civilization 4\Beyond the Sword
– I guess I moved my boost and python libraries at some point; anyway, they're in my BtS install directory. The other paths (TOOLKIT, PSDK) happened to be correct already.
Opened the .sln file in VS 2010. Added all the files in CvGameCoreDLL so that I can access them in the VS code editor if needs be: right-clicked on the project (Civ4DLL) in the Solution Explorer, "Add->Existing item", marked everything in CvGameCoreDLL, added it.
F7 to compile. That failed, predictably, but created Makefile.project. Set
SOURCE_DIR = ..
in Makefile.project so that the makefile goes one folder up to find the source code.
Compiled again and it worked:
Since I didn't set YOURMOD, the (debug) DLL was created in project\Debug.
Finally, for tidiness, moved all my path settings from the makefile over to Makefile.settings.
Now, is there anything in the original makefile or VS files that is worth merging into Nightinggale's? Hard to say; I haven't spotted anything. Certainly, in the VS files (.sln, .vcxproj), there isn't much to see.
Downloaded the Master of Mana Xtended snapshot from SourceForge. (Didn't verify that this is really the latest version of the mod, but the last revision being from June 2019 is a good sign.) Unzipped, renamed to "CvGameCoreDLL".
Threw out CvTextScreen.cpp, resource.h (doesn't hurt, but, since the mod has removed CvGameCoreDLL.rc, it's useless) and CvGameCoreDLL better AI.suo (always better to let Visual Studio generate that). Also set aside the original .sln, .vcxproj and makefile to make sure that they don't get in the way.
Downloaded Nightinggale's makefile-2.5 archive and extracted it into a newly created folder "project" inside CvGameCoreDLL. I much prefer having a separate folder for the project files. The SOURCE_DIR variable needs to be set accordingly (see below).
Created a folder "bin" in project and moved fastdep.exe there because that's where the makefile looks for fastdep.exe.
Commented out YOURMOD in the makefile (because I didn't install the mod's assets). Set CIV4_PATH=$(PROGRAMFILES)\Sid Meier's Civilization 4\Beyond the Sword
– I guess I moved my boost and python libraries at some point; anyway, they're in my BtS install directory. The other paths (TOOLKIT, PSDK) happened to be correct already.
Opened the .sln file in VS 2010. Added all the files in CvGameCoreDLL so that I can access them in the VS code editor if needs be: right-clicked on the project (Civ4DLL) in the Solution Explorer, "Add->Existing item", marked everything in CvGameCoreDLL, added it.
F7 to compile. That failed, predictably, but created Makefile.project. Set
SOURCE_DIR = ..
in Makefile.project so that the makefile goes one folder up to find the source code.
Compiled again and it worked:
Code:
Linking DLL
1> Creating library temp_files\Debug\CvGameCoreDLL.lib and object temp_files\Debug\CvGameCoreDLL.exp
1> COPY "temp_files\Debug\CvGameCoreDLL.dll" "Debug\CvGameCoreDLL.dll"
1> 1 file(s) copied.
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
Finally, for tidiness, moved all my path settings from the makefile over to Makefile.settings.
Now, is there anything in the original makefile or VS files that is worth merging into Nightinggale's? Hard to say; I haven't spotted anything. Certainly, in the VS files (.sln, .vcxproj), there isn't much to see.