Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improving first-time contributor experience on Windows #215

Open
afritz1 opened this issue Jun 25, 2021 · 1 comment
Open

Improving first-time contributor experience on Windows #215

afritz1 opened this issue Jun 25, 2021 · 1 comment

Comments

@afritz1
Copy link
Owner

afritz1 commented Jun 25, 2021

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.):

# Copy over required files

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.

@Thunderforge
Copy link
Collaborator

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants