-
Notifications
You must be signed in to change notification settings - Fork 18
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
Cleanup cmake files #394
Cleanup cmake files #394
Conversation
Linux Test Results 57 files 57 suites 3m 37s ⏱️ Results for commit 00eb672. ♻️ This comment has been updated with latest results. |
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.
What about CI fails?, expected?
|
This test is broken due to goldilocks field not working as expected; a known issue in multiprecision. |
@Iluvmagick I've disabled the failing test, now we can see 1 skipped test in the test summary. Also I've removed crypto3 revision from flake.nix file, it is better to use |
I would like to consider this PR as a place for discussions first. I feel like our cmake files in crypto3/blueprint/zkllvm require rework. Here are some points for it:
cmake_policy
.TargetArchitecture.cmake
,CheckAVX.cmake
and so on.cm_find_package
, that is full of workarounds.add_library(${CMAKE_WORKSPACE_NAME}_${CURRENT_PROJECT_NAME} INTERFACE)
blur eyes, this customizability is excessive.add_library(crypto3::blueprint INTERFACE)
is much better.I think that significant part of current cmake configuration of blueprint could be removed. Also it makes sense to replace usage of Boost cmake modules (expect probably CMTest) with standard cmake library functions. The modules were intended for Boost, they are too complex for us and have bugs. And standard functions have better documentation and tons of usecases/troubleshooting in public access.
Below I added comments on some removed/replaced parts. I invite you all to discuss this points here. Hope we will get a common understanding of how cmake files should look like and then propagate it to other repos.