Improving first-time contributor experience on Windows
Opened this issue · 1 comments
While assisting @ZeriBun with compiling OpenTESArena in Visual Studio, a number of friction points about the current process came up:
A. What to do with OpenAL Soft/SDL2 downloads
B. Environment variables (OPENALDIR, SDL2DIR, WILDMIDIDIR)
C. Manually setting CMake entries (SDL2MAIN_LIBRARY, etc.) because CMake failed to automatically find them
D. Setting the Visual Studio TESArena
project file to be the default one on start-up
E. Setting ArenaPath manually in options-default.txt
F. Copying data + options and .dlls into the built executable's folder
The Readme currently assumes the user has experience with CMake and library dependencies but that could be expanded for novice users.
Maybe there is a way in CMake to set start-up projects. If not then just make a Readme note.
The only way to make ArenaPath be set automatically across platforms might be with a Qt5 install wizard. I didn't want to bring all of the Qt dependencies into the project for a long time but this might be the best way to do it 🤷♂️
With 'F', I was thinking of having a post-build command of some kind, although it looks like CMake should already be doing that. It isn't copying data
and options
into the current build type's folder (Debug
, ReleaseGeneric
, etc.):
OpenTESArena/OpenTESArena/CMakeLists.txt
Line 110 in 55e8ca4
The topic of vcpkg has been tossed around, and maybe it should be the default approach for all future contributors. We should try not to expose environment variables to novice users if possible, and if vcpkg takes care of this, that would be ideal.
For completeness sake: Chocolately was explored as another option aside from vcpkg for installing dependencies, but key ones like SDL2 are not available through that, so it's not an option.