-
Notifications
You must be signed in to change notification settings - Fork 168
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
Switch to CMake-based builds #1360
Conversation
This pull request introduces 2 alerts when merging fa995f5 into 33acc7d - view on LGTM.com new alerts:
|
@iterumllc I've authorized the CI to run. |
This pull request introduces 1 alert when merging 53130bd into 33acc7d - view on LGTM.com new alerts:
|
This pull request introduces 1 alert when merging eb5c3d8 into 33acc7d - view on LGTM.com new alerts:
|
Add some debug configuration flags I missed
This pull request introduces 1 alert when merging 4e842be into 33acc7d - view on LGTM.com new alerts:
|
This pull request introduces 1 alert when merging cd1c965 into 33acc7d - view on LGTM.com new alerts:
|
OK, most of that churn was various flags I hadn't dug out of the old config yet. It could still benefit from some tuning -- it appears that some platforms enable optimization on their own and some don't, and a number of the build flags are questionable in 2021. Still, it's building and passing tests on every platform in the workflow. |
Oh, I guess I did make one small functional change. The code at the top-level of makeotfexe now only imports the It would be easy enough to put back if folks want to keep the distinction. |
This pull request introduces 1 alert when merging 4b1ca04 into 33acc7d - view on LGTM.com new alerts:
|
This pull request introduces 1 alert when merging 4e7241b into ea0cfec - view on LGTM.com new alerts:
|
This is now superseded by #1367 |
Description
Some of the likely further development of this repository would benefit from simplification of the C code build system. This PR removes the old files and replaces them with a CMake-driven build started off by the import of
scikit-build
intosetup.py
.This method of building non-python code within python packages is now supposed to be widely supported on Linux, Mac OS X, and more recent versions of Visual Studio. I have only tested on Linux, however, so one active role of this PR is to see how the build process goes on the other platforms and make any needed adjustments.
Some source directories are moved to more standard locations. The documentation of manual builds in
doc/FDK_Build_Notes.md
has been revised. Various workflow files were slightly changed.What this PR does not change:
The release builds are still compiled without optimization and the executables are still not stripped.Added: As of 4e7241b the default build type is now "RelWithDebInfo", which combines optimization and putting debugging symbols into the final binary. While the latter takes up some extra space it can be useful for users who want to step through the programs in a debugger.
Checklist:
Closes #1124