ianpatt / skse64

Skyrim SE Script Extender
https://skse.silverlock.org
Other
286 stars 40 forks source link

restore ability to build with Visual Studio (in addition to cmake) #6

Closed feeph closed 2 years ago

feeph commented 2 years ago

As part of the migration to CMake and changing the directory layout the code can't be built using skse64.sln anymore. This patch restores the functionality and allows building with both VisualStudio and cmake using the same directory layout.

If the solution files are considered legacy and it's not desired to be able to use them to build Skyrim AE the targets 'Debug_VC142' and 'Release_VC142' should be removed. Leaving them hanging around in a broken state only adds confusion.

Happy to make adjustments if you want me to. You can treat this PR as a discussion starter.

feeph commented 2 years ago

Related: skse64.vcxproj defines targets 'Debug_Lib_VC142' and 'Release_Lib_VC142'. It's unclear what their purpose is.

Both targets should be considered for deletion or documented somewhere.

ousnius commented 2 years ago

Modern Visual Studio can deal with CMake pretty well without solution or project files, but nevertheless they're always neat to still have around.

feeph commented 2 years ago

I'm aware you can use cmake in Visual Studio 2019/2022 directly, but Readme.md states

Building: Either use the pre-generated projects, or [...] cmake

and thus I thought it would be nice if using the projects actually works. Alternatively it could be decided there should be exactly one way to build SKSE for Skyrim AE and using the project files is no longer supported. In this case the Readme.md should be updated to indicate when to use which (AE: cmake, VR/SE: projects) and all VC142-based targets should be removed entirely. (I'm fine either way, I just don't like this current, half-broken state.)

Please indicate which direction should be taken and I'll either finalize or revoke this PR.

ousnius commented 2 years ago

I'm not part of the SKSE team, I just stated my opinion which mostly aligns with yours.

shadeMe commented 2 years ago

As someone who maintains a SKSE64 plugin that is directly dependent on the SKSE plugin API (as opposed to the one offered by CommonLib), I would be happy to retain the ability to execute regular MsBuild builds using the VS projects, if only for the skse64_common project.

feeph commented 2 years ago

Completed change has been submitted as https://github.com/ianpatt/skse64/pull/8.