-
Notifications
You must be signed in to change notification settings - Fork 165
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
Some structural refactoring #37
Comments
I'll prepare a PR in the next days.
Agreed. I'd put all the documentation in a separate repo and push the built documentation to readthedocs (PR, example), so there's one place instead of several wikis and fragments in the repositories.
The within-tree build system comes practically for free (i.e., a single
liblsl has no external dependencies, builds with compilers more than a decade old and takes less than two minutes to compile on a consumer laptop. I wrote the code to download a precompiled liblsl for the pylsl package and it's not something I'd do unless it's really necessary. The CI builds download liblsl, but they are constrained to one or two OSes. Doing it from within CMake isn't something I'd do.
Which test applications? The unit tests should stay in the liblsl repo for the CI system no matter what. |
There was some agreement that having the documentation with the source code was desirable. If you pull the repository or get the zip from somewhere, you should be able to read and follow the BUILD.md instructions while offline. Obviously if you're missing dependencies then you need to be online or get them from somewhere, but let's pretend theoretical offline developer has all required dependencies.
Yes that's good. I would also say that we shouldn't bother documenting the within-tree builds, except maybe in a hard-to-find section in the wiki where the core developers can paste their cmake command lines. (I often refer back to here to find a good cmake command)
Let's pretend that we have a MSVC developer without too much experience, as improbable as that may be. Is there a way that we can get them to use MSVC's integrated cmake build system and have the downloading of liblsl be transparent to them? |
Which parts? All of it is way too much so there'd be at least two separate docs to maintain.
Especially for the (less hypothetical than I'd wish for) end-user who got a zip file from somewhere I'd want an up to date build documentation before I get another inquiry why the pirated VS2015 Enterprise doesn't work.
Ok, I try to imagine there's this huge group of end-users who
As a counter suggestion, I'd put a simple build script:
and a short paragraph ("Building: install the latest Visual Studio (link) and CMake (another link), download this zip file and double click on Then, the extensive build documentation could be online or in (two steps with Sphinx) a single, downloadable PDF for those who want something to read on the train or in the wilderness.
Sure, but it's a lot of magic that's hard to understand and debug. It's nice when it works, but when it doesn't it's a huge headache. The
Agreed. |
Just the README.md and BUILD.md.
I think you just described most scientists who use open source software and are in a hotel conference room with awful wifi trying to follow along in a workshop. |
Agreed, except for the "working C++ compiler and CMake installed"-part, but the solution for that is different. A portable SSD costs around $50 and even though it's hard it's possible to have an offline MSVC installer so with a double digit price tag a workshop could distribute the source code, development environment, documentation, test files (the XDF reader will be covered) and marketing materials in 1-2 hours. |
Github also renders rst files, so a copy of the build guide could be kept in the main repository, but somebody would need to keep them in sync. |
At IEEE SMC in Bari, there was a meeting including Christian, Tim, David, and myself. One of the action items that came out of the meeting were some changes to improve upon small points of dissatisfaction with the current organization of the repos.
There are some consequences to abandoning the within-tree build system:
The text was updated successfully, but these errors were encountered: