Skip to content

More command line tests; -s external sources kept on update and relative to the current folder - #699

Open
danoli3 wants to merge 4 commits into
openframeworks:masterfrom
danoli3:more-cli-tests
Open

danoli3 wants to merge 4 commits into
openframeworks:masterfrom
danoli3:more-cli-tests

Conversation

@danoli3

@danoli3 danoli3 commented Nov 1, 2026 •

Copy link
Copy Markdown
Member

Updated cmdLine from 0.123.0 to 0.124.0 and PG GUI from 0.118.0 to 0.119.0 (on top of #697, merge that first)

scripts/test_cmdline_args.sh 41 -> 61 cases (vs 36 -> 56), run in the macOS / Linux / Windows CI:

  • how it's really called: GUI generate exactly as frontend/index.js builds the args (no addons / template / source: -a<space> -s -t path; with addons, defines, post-build, version), GUI update multiple (-r -v -o -p folder), openFrameworks create_package.sh / snapshotAllExamples.sh (--recursive -p -o folder), ci/cmake/build.sh (-o -t"cmake" -p path) and ci/vs/pg_projects.sh (CLI: an empty value right before the project path keeps the path (fixes OF CI and the GUI) #697)
  • paths: spaces in the project name, trailing slash and ./, a name only (apps/myApps)
  • addons: a missing addon is kept in addons.make, spaces / duplicates, #url comments kept, no empty addons.make
  • -s external sources: relative to the current folder, to the project, absolute; kept on update; empty -s removes them
  • other: -t vscode keeps the platform and adds .vscode (adding a template to PG args breaks the selected platform being added. #476), -P lands in the Xcode / VS project, bad -k warns, -w / -i / --getofpath, -l

Found and fixed (-s):

  • a relative -s was resolved from the project folder (create() changes into it), so -s myApps/x/shared from apps/ silently added nothing. Now it's relative to the current folder unless it exists relative to the project (config.make, the GUI)
  • PROJECT_EXTERNAL_SOURCE_PATHS was only written over the commented template line, so after the first time config.make kept the old value. Now it's rewritten (or appended, e.g. vs) relative to the project, as the makefiles read it
  • an update without -s dropped the external sources from the Xcode / VS project. Now config.make's are kept; an empty -s removes them. The GUI always passes -s (its field shows config.make's), so clearing the field removes them

On the current master build (0.121.0) 6 of these cases fail (12 failures: the CI / GUI calls and every -s case); with this PR osx 61 / linux64 60 / vs 56, 0 failures (with #696).

…he path; only -p <platform> with no path is an error
…addons, -s, -t vscode, -P, info commands); -s paths relative to the current folder, kept on update and written relative to the project
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

Successfully merging this pull request may close these issues.

1 participant