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

Vessel and Plugin sample management #499

Open
GLS-SSV opened this issue Sep 26, 2024 · 2 comments
Open

Vessel and Plugin sample management #499

GLS-SSV opened this issue Sep 26, 2024 · 2 comments

Comments

@GLS-SSV
Copy link
Contributor

GLS-SSV commented Sep 26, 2024

Comparing with Orbiter 2016, the following vessels/plugins are missing from the (as installed) samples folder:
Dragonfly
ExtMFD
FlightData
Framerate
LuaScript
Meshdebug
mmu
Rcontrol
ScnEditor
ShuttleA
ShuttlePB

Other projects (e.g. AscentMFD) are already located in the samples folder (in the repository) , which ends up being a PITA when trying to find something, because the projects are not all in the Src folder.

Disclaimer: I'm not a cmake expert, so please excuse any stupid ideas in the following sentences.
At first glance it seems that to have a sample included, entries in several CMakeLists.txt need to be made (more than the usual), and the files are not all on the same folder, which means each project is not really centralized.

In addition to the "build function", the "main" CMakeLists.txt for each vessel/plugin should contain the "install function", which would not only copy the .dll into the modules folder (and apparently also textures and meshes as well), but also copy the sources into the samples folder, along with the "sample" CMakeLists.txt (located in a folder inside the vessel/plugin sources) for the user to build that vessel/plugin sample.

So probably the repository would not even need to have a samples and sample_build folders, as the samples folder would be created during the sample installation, when they are copied into there.

(This subject seems to have been partially covered a while back... sorry I missed it then)

@jarmonik
Copy link
Contributor

A while ago I added a build instructions (OrbiterSDK/Doc/BuildingSamples.pdf) and scripts for building some sample programs but not all due to work involved. These selected samples are available to build without accessing Orbiter git repository, all samples can be build along with the Orbiter itself. I don't know about additional "install function", for the selected samples all files should already be in a right places.

Could you check the BuildingSamples.pdf and if there's still a problem with the samples ?

@GLS-SSV
Copy link
Contributor Author

GLS-SSV commented Sep 30, 2024

What I meant with "install function", is the copying of the source code to the samples folder.

Anyway, I've been thinking, and I'm probably a bit extreme, but maybe this could all be simplified by having just 2 sample-only "hello world" projects: one for a MFD and another for a vessel. Those projects would be a simple base for the devs to start their own projects. The BuildingSamples.pdf info would be placed somewhere at he start of the Orbiter Developer Manual, as a first step to creating an addon.
The Orbiter-included MFDs and vessels would all stay in the Src folder, and as you say they, can be built as part of the Orbiter source, and the code is always available in GitHub, thus there wouldn't be a need for the current sample copying/installing.

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

No branches or pull requests

2 participants