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

Build with cmake #18

Merged
merged 18 commits into from
May 5, 2020
Merged

Build with cmake #18

merged 18 commits into from
May 5, 2020

Conversation

whophil
Copy link
Collaborator

@whophil whophil commented Mar 14, 2020

The previous build system of platform-specific Makefiles requiring manual modification was pretty hairy. Here is a new build setup which uses CMake, with the following advantages:

  • A single configuration file (CMakeLists.txt) for all platforms and options
  • Automatic detection of paths for OpenMP, LAPACK/BLAS
  • Automated dependency resolution within Fortran sources/modules - no more need to specify the compile order by hand

This will require some updates to the compile instructions, but those will conflict with #17. So let's merge that one first, and then I'll fix this PR up.

@whophil
Copy link
Collaborator Author

whophil commented Mar 15, 2020

Added some changes to address #6 (PGI compiler problems) and #11 (Don't fail on missing git).

Building with the PGI compiler is not tested in Travis. It's certainly possible but I'm not sure it's worth doing.

Copy link
Contributor

@petebachant petebachant left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm no CMake expert but this seems like a big improvement.

Copy link
Contributor

@kmruehl kmruehl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@petebachant same, and I agree. Having one Makefile, instead of one for each platform, seems like a huge improvement to me.

@kmruehl
Copy link
Contributor

kmruehl commented May 1, 2020

@jcokemurray can you review and approve this PR?

@whophil
Copy link
Collaborator Author

whophil commented May 1, 2020

Rebased onto the tip of dev to resolve conflicts. I removed the outdated Windows install instructions. If somebody wishes they can update doc/compile.md with Windows-specific instructions.

@jcokemurray
Copy link
Contributor

Works for me. Cmake would definitely be an improvement over the manual Makefile approach...

@kmruehl
Copy link
Contributor

kmruehl commented May 5, 2020

@jcokemurray thanks for reviewing. @whophil merging this PR now.

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.

4 participants