-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
Make - use relative paths #7519
Conversation
the that being said, Make is notoriously anti-space (see https://stackoverflow.com/questions/61592591/makefiles-with-spaces-in-filepath#comment108950849_61592591 -- madScientist is maintainer of Make). without knowing what might be affected by the changes, not sure "working around" for what amounts to a partial solution is worth the risks (and/or the time required to harness tests guaranteeing there are no side-effects). |
Let's test it in different environments and find out. I have some different Linux setups to test later today. I don't even need this in my setup, but I think it is important to have OF working on teaching environments. |
of course anything that helps a bit is good, but my point is more to put in perspective the calories spent on the build system. anyhow, without being a perfect technique, I find that escaping spaces tend to survive better the scenarios of appending path strings in scripts than trying to quote them (as the quotes must be carefully maintained each time an operation is performed). starting with such as
maybe there's a way to have spaces work while keeping (no windows unfortunately here) |
So I thought it was some kind of subtle dry humor in double quotes "more accurate", but it seems you really have a point in using having realpath always present in Makefiles (not a native english speaker here, so I get lost on language subtleties). |
Thanks! |
@ofTheo @artificiel I can't see any downsides to using relative paths in Make. |
yes I think it's 2 things: the spaces in path is separated from the absolute/relative concept. relative sounds fine and will work even if the "higher" path contains spaces, and the user keeps projects inside OF folder. that covers a lot, but if the projects are outside OF folder, then it depends, spaces might still break things. but i mentioned above I was wondering why the introduction of for the spaces, I was referring to the Make maintainer who says it's a hard combat (unfortunately the link above is broken) and that there is no official support http://savannah.gnu.org/bugs/?712 but if one is determined to try to make it work, escaping spaces is found to be a more resilient approach than quoting the whole path. |
Yes it is separated |
@ofTheo I think this one is good to go |
…leedingmacOS * commit '7f37e70f65e9e022ba8868fb555570ce2c78a6ba': (37 commits) Allows Retina hi res enabled via App or Project.xcconfig (openframeworks#7971) actions changes (openframeworks#7968) Changing exr to hdr files for compatability with windows (openframeworks#7964) ofMesh - newfaces push_back to insert a list (openframeworks#7772) restore default-copy-constructibility of ofEvent (openframeworks#7969) [actions] ccache update (openframeworks#7967) Core small changes (openframeworks#7952) config.emscripten.default.mk for Emscripten >= 3.1.52 (openframeworks#7909) Fix edge case in findDelimiter (openframeworks#7911) oscpack / udpSocket: invert the "break_" semaphore (openframeworks#7963) ofxOscMessage: extra implicit adds [fixes something noted through openframeworks#7938 debugging] (openframeworks#7953) #changelog #ofxOsc ofThreadChannel::clear() to clear the channel (openframeworks#7921) #changelog #threadChannel OfxOscReceiver: from detach() to join() (openframeworks#7949) Update ofMathConstants.h (openframeworks#7958) [actions] update ubuntu 24.04 (openframeworks#7955) ofScopedMatrix (openframeworks#7946) [actions] - testing one action with multiple jobs for tests (openframeworks#7860) adding of.entitlements and vscode files to gitignore (openframeworks#7031) Make - use relative paths (openframeworks#7519) FPS timing with chrono (openframeworks#7867) ... # Conflicts: # libs/openFrameworks/sound/ofAVEngineSoundPlayer.mm
not meant to work with spaces in project name
only when you are using a system you can't modify the username and it has spaces.
so make only work with relative paths, and if your project located inside OF folder everything works.
PS: Tested only on macOS, OF was installed in a folder called "of 3"