Uh oh!
There was an error while loading. Please reload this page.
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.
|
hjmjohnson
commented
Jul 1, 2025
It might be a few weeks before I circle back to push changes upstream. |
danmar
commented
Jul 2, 2025
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. |
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
de9d233Comparehjmjohnson
commented
Jul 16, 2025
@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, |
hjmjohnson
commented
Jul 16, 2025
@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, |
glankk
commented
Jul 17, 2025
I suggest we emulate gcc's darwin-specific |
danmar
commented
Jul 20, 2025
I will go on vacation for a week. Please ping me later if you want review.. |
hjmjohnson
commented
Aug 5, 2025
@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. |
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?
The behavior should not be limited to builds made on Apple systems. It should be platform-agnostic and controlled by an explicit |
firewave
commented
Aug 26, 2025
The tests would probably be best implemented in Python. |
firewave
commented
Aug 26, 2025
And shouldn't this be done for system headers only? I doubt you want to look up random local includes. |
jcfr
commented
Aug 26, 2025
This pull request should be closed as it is superseded by: For additional context, @hjmjohnson and I have been working together on this. |
hjmjohnson
commented
Aug 27, 2025
Comprehensive solution addressed in #511. |
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.