openframeworks / openframeworks/openFrameworks

Adding arguments to main by default

Open
#3,215 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bitesize core development-strategy feature section-internals
Dominant language
C++
Stars
10.4k
Forks
2.6k
Avg merge
1d 21h
Merged PRs (30d)
9

Description

Changing the default main from int main(){

To support the passed arguments: int main(int argc, char* argv[]){

GLFW supports some commands so will be a good idea

Also iOS supports some arguments and we could pass them down to
UIApplicationMain(int argc, char *argv[], NSString *principalClassName, NSString *delegateClassName); which is called by void ofAppiOSWindow::startAppWithDelegate(string appDelegateClassName) {
https://github.com/openframeworks/openFrameworks/blob/master/addons/ofxiOS/src/app/ofAppiOSWindow.mm#L97
https://developer.apple.com/library/ios/recipes/xcode_help-scheme_editor/Articles/SchemeRun.html

Else just having these values in the default projects will make it easier for developers to think about using them.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the default main entry points and read ofAppiOSWindow.mm, especially startAppWithDelegate and the UIApplicationMain call referenced in the issue. Check how GLFW commands and iOS arguments should flow into these entry points; done means the default projects accept argc and argv and pass them through where required.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli, mobile-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.