ENH: Add support to find Headers in Apple Frameworks#448
Conversation
Add specific framework path handling Refactor include directory parsing to support multiple candidate paths for headers and introduce macOS-specific logic for resolving framework-relative header paths. Enhance generator flexibility and robustness for cross-platform usage. Push upstream fix via: cppcheck-opensource/simplecpp#448
|
Thanks for your contribution.
|
Sorry, something went wrong.
|
It might be a few weeks before I circle back to push changes upstream. |
Sorry, something went wrong.
ok thanks understood.. for your information we have a PR to start using C++11 so if you get back in few weeks I will hopefully not complain about you using C++11 at least. |
Sorry, something went wrong.
Add specific framework path handling Refactor include directory parsing to support multiple candidate paths for headers and introduce macOS-specific logic for resolving framework-relative header paths. Enhance generator flexibility and robustness for cross-platform usage. Push upstream fix via: cppcheck-opensource/simplecpp#448
Add specific framework path handling Refactor include directory parsing to support multiple candidate paths for headers and introduce macOS-specific logic for resolving framework-relative header paths. Enhance generator flexibility and robustness for cross-platform usage. Push upstream fix via: cppcheck-opensource/simplecpp#448
Add specific framework path handling Refactor include directory parsing to support multiple candidate paths for headers and introduce macOS-specific logic for resolving framework-relative header paths. Enhance generator flexibility and robustness for cross-platform usage. Push upstream fix via: cppcheck-opensource/simplecpp#448
The header locations in apple frameworks require manipulation of the directory name in a '<pkg/myhdr.h>' include defintion. The header file is located at <pkg.framework/Headers/myhdr.h> in a framework.
This is an outline of a test. The test currently fails. I could not figure out how these tests are working. I would greatly appreciate a little help to understand how to use the test framework.
31bffbf to
de9d233
Compare
July 16, 2025 21:40
|
@danmar I have updated this PR, but I am struggling to figure out how to make a test to exercise this code. I tried to decipher how other tests were working, but could not identify how the "cache" would need to be setup to test the new functionality. Any guidance would be greatly appreciated. Thanks, |
Sorry, something went wrong.
|
@glankk Thank you for the C++11 updates! This is great work! This PR is adjacent to some code that you recently refactored. It would be great to have your input. Thanks, |
Sorry, something went wrong.
|
I suggest we emulate gcc's darwin-specific |
Sorry, something went wrong.
|
I will go on vacation for a week. Please ping me later if you want review.. |
Sorry, something went wrong.
|
@glankk This is likely a great suggestion, but it is increasing the scope of effort beyond what I can contribute in the short term. Do you have the bandwidth to make the changes that you recommend, if so, please take whatever is useful from my suggestion and incorporate it. |
Sorry, something went wrong.
There was a problem hiding this comment.
Well I have no idea how it should work. So I'll just have to trust you that this is the proper method.
I don't know.. do you @glankk know if this looks like a proper method.. inserting ".framework/Headers" like that in the filename?
I would like that the test is enabled. the "test.cpp" is supposed to be unit/module tests.. i.e. don't depend on some header files on the system.. you could for instance unit test your changes by breaking out your code into a separate function.
imho it would be better to write the test in "integration_test.py". do you have any experience with python+pytest?
Sorry, something went wrong.
|
The behavior should not be limited to builds made on Apple systems. It should be platform-agnostic and controlled by an explicit |
Sorry, something went wrong.
|
The tests would probably be best implemented in Python. |
Sorry, something went wrong.
|
And shouldn't this be done for system headers only? I doubt you want to look up random local includes. |
Sorry, something went wrong.
|
This pull request should be closed as it is superseded by: For additional context, @hjmjohnson and I have been working together on this. |
Sorry, something went wrong.
The header locations in apple frameworks require manipulation of the directory name in a '<pkg/myhdr.h>' include defintion.
The header file is located at <pkg.framework/Headers/myhdr.h> in a framework.