-
Notifications
You must be signed in to change notification settings - Fork 72
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
Fix CMakeLists.txt, macOS guide and refactor .gitignore #492
Fix CMakeLists.txt, macOS guide and refactor .gitignore #492
Conversation
By the way, I checked the build with the new SDK and nothing changed. So the need to use the 14 SDK remains the same. |
6e56f4d
to
a84b9d6
Compare
a84b9d6
to
9af0119
Compare
I also comment The problem is that built python module can't find boost dynamic libraries:
The reason is that CMake doesn't set
I don't know why it's like this and is it possible to force CMake use full paths or rpath-relative paths. I searched enough and couldn't find a solution. I suggest to stay with this solution just to have a working guide for the moment. In next related PR I suggest to focus on porting project to C++ standard to use clang and homebrew Boost on macOS. |
911553a
to
b33efc5
Compare
240077b
to
8510a48
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall it looks good, I left a few comments and questions.
d4cf129
to
b7d3310
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unfortunately, I can't verify whether it is correct to add such an export for DYLD_LIBRARY_PATH
. I have not encountered this before.
I have no more comments on the changes, overall it looks good.
Add python3 to installation guide. Fix macOS Boost installation guide to work with python module. Fix default installation directories as root permissions were required. Add sudo to ./b2 install command. Change macOS SDK version to compatibility with new version.
Increase CMake minimum required version to 3.15 due to incompatibilities with scikit-build-core. Update README.md. Add POLICY checks to avoid errors on policy-unsupported versions. Change CMP0167 policy of Boost searching to OLD due to non-compliance with "Modern CMake" development patterns. Add "TODO" to fix this later. Add useful logs to understand what Boost libraries were found by CMake. Refactor .gitignore to improve readability: Remove legacy unused files and directories; Add .DS_Store, which is generated in macOS directories; Add .cache, which is generated by clangd plugin in IDE.
b7d3310
to
4981cd2
Compare
After the library is compiled, does it work if |
I'm not sure about the meaning of 'does it work', so, as for
I absolutely don't know why it works like this and what good ways to fix it. I attach |
I found some interesting c make variables which may be help to force include @rpath to dynamic libraries paths which is boost, I will try it later https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling#default-rpath-settings |
Another way to do this is to set CMake's |
I made some research and suggest to stay like this for several reasons.
|
As an addition to the previous comment, I had an idea to install boost built with gcc by Homebrew, I recently found out that this is can be possible with 'brew install boost -s' option which means 'build from source', and I have some success in it, but it was stopped by impossibility of setting MacOSX14.sdk instead of broken MacOSX15.sdk. I created an issue to brew repo and waiting for reaction. |
In general, I agree that the current solution should be sufficient and we can stop here. Regarding the first point, I don't know what the problem is. Regarding |
Increase CMake minimum required version to 3.15 due to incompatibilities
with scikit-build-core. Update README.md.
Add POLICY checks to avoid errors on policy-unsupported versions.
Change CMP0167 policy of boost searching to OLD due to non-compliance
with "Modern CMake" development patterns. Add "TODO" to fix this later.
Add useful logs to understand what Boost libraries were found by CMake.
Apply sort to .gitignore to improve readability.
Add .DS_Store, which is generated in macOS directories.
Add .cache, which is generated by clangd.
Add python3 to installation guide.
Fix macOS Boost installation guide to work with python module.
Fix default installation directories as root permissions were required.
Change macOS SDK version to compatibility with new version.