-
Notifications
You must be signed in to change notification settings - Fork 278
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
bindings: Remove relative header paths #469
Conversation
Codecov Report
@@ Coverage Diff @@
## develop #469 +/- ##
========================================
Coverage 48.12% 48.12%
========================================
Files 128 128
Lines 9934 9934
========================================
Hits 4781 4781
Misses 5153 5153 Continue to review full report at Codecov.
|
46136a4
to
1a92615
Compare
Took a second or three, as I had to account for older CMake releases from before the big Now the question becomes, do I do the same to the source files? I've got some large ideas, and will go write them up in a repo Issue to invite wider comment. (Issue link will be forthcoming.) |
Use the include paths set on the command line the way they're supposed to be used.
1a92615
to
d78264a
Compare
Fix SWIG include dirs
d78264a
to
68b74b4
Compare
Tried to be too clever, broke everything. Fixed now. 🤞 |
Excellent, everything wound up where it belongs, on all four platforms. We can even build Ruby bindings now, without the install breaking on bad permissions! Woo. |
Too bad that you excluded this check from Windows:
and never added it back. |
That was very ntentional, the Windows and Mac builds were installing into Python paths that had no relationship to reality, as well as no real usefulness. Heck, the builders were manually MOVING the files up to a Eventually we'll have the build packaging up the Python module properly and generating metadata, then |
Now that a |
If I did build it with this "nonsense path" on Windows, then you just broke my set up by modifying the code only for linux ^_^ , so I've been need to update the paths variables to make it work again. |
@SuslikV Well, I don't know how your Windows build is set up, but yes — I contend that whatever directory it tries to install to — I think it's Now, scripts that copy the module from that path to somewhere else, and expected it to be there, would have to be updated with the new path. I certainly had to change But that's why I announced the change in #458, and left it up for two weeks before merging. |
(The changes were also present in this PR, because I had to incorporate #458 to get these to work. But the install path change was originally merged in PR #458 which was submitted for that purpose.) #458 also added the new support for custom paths specified in the Python modules shouldn't be installed by CMake, anyway. They should be wrapped with appropriate metadata and installed by the proper ecosystem tools: setuptools and/or pip. But when you're talking about a module that imports a DLL, which itself has a long list of additional DLL dependencies, I can't imagine installing |
Hell starts here: https://github.com/SuslikV/openshot-qt/commits/patch-1 ( Nothing special about PR itself of new variables. Just about the way the changes are made (different behavior for platforms without real meaning but organizing). |
I've been having severe trouble building the bindings lately, because I tend to build in buildroots within the repo dir, and sometimes that repo dir is a
git worktree
inside my main clone of the repo.So, there are plenty of times where
../../../include/Frame.h
is a perfectly valid path from, say, the buildroot or the current build dir — but it's not the RIGHTFrame.h
, and the build fails.Thing is, at least on my system, those relative paths aren't needed. SWIG is (now) being passed the correct set of include prefixes so that it includes the correct
include/
directory at the project root, so we can just use:etc.
I've set this up as a project repo branch, to see if the builders like it. If they don't, I'm confident I can convince them to see things my way.