Skip to content
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

Add CMake support (Do not merge) #223

Open
wants to merge 24 commits into
base: master
Choose a base branch
from

Conversation

bharathr98
Copy link
Contributor

@bharathr98 bharathr98 commented Apr 9, 2024

This PR resolves #74

Currently this branch does not faithfully build tests. The last commit where everything apart from tests works is 9baff5e.

Here's a list of things to fix before merging

  • Current implementation targets the master branch before Calculate Q matrix using Chinese Remainder Theorem, FLINT and BLAS libraries #142 was merged. Need to verify where the implementation breaks post merger
  • Add FLINT and BLAS properly
  • Add Elemental using FetchContent to avoid having to install it separately
  • When building Catch2, CMake is unable to see where mpicxx is and thus gives an error
  • Building with Catch2 additionally requires using -pthread compiler flag, which seems to mess up everything upstream
  • Dockerfile currently uses hardcoded --platform=linux/amd64 to build properly on Mx Macs

Copied over wscript, @vasdommes had already made a few changes from waf to cmake. Cleaned up, and added more TODOs
Two things need to be fixed - 1) Make sure that MPFR_REQUIRED is set properly and 2) Resolve missing MPFR_VERSION in the case where find_package is not used
…, plus additional Boost components. Integration tests pending
Avoids issue with boost/stacktrace when building on macOS. See boostorg/stacktrace#88 and comments therein.
The Docker image bootstrapcollaboration/elemental:master does not come with ElementalConfig.cmake, thus custom solution needed
CBLAS commented out because it is not necessary for the current set of build sources. Will be required later, together with FLINT, for the implementation of Chinese remainder theorem
Bring branch up to date with upstream/master
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support CMake build system
1 participant