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

Enable CMake build on MacOS. Tested with ctffind #411

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

arohou
Copy link
Collaborator

@arohou arohou commented Sep 9, 2022

Description

The latest from repo did not build with CMake on MacOS. This fixes this problem. I have confirmed that ctffind builds on MacOS 10.15.7 using Clang and FFTW + OpenMP + OpenMPI from homebrew. I have also verified that ctffind runs to completion on test data.

In the process, I believe I fixed a bug in cistem_parameters.cpp (or at least clang thinks I did). BUT: I have not tested this functionality - I don't know where it is used. I would appreciate if someone who uses this functionality could build & test before we merge. Perhaps @bHimes or @timothygrant80 knows where this is used and can see whether I fixed or broke something.

I have rebased my feature branch to be current with the master branch using to minimize conflicts and headaches

  • [ x] yes
  • no

Which compilers were tested

  • g++
  • icpc
  • clang
  • [ x] other (clang 12)

These changes are isolated to the

  • gui
  • [x ] core library
  • gpu core library
  • program it modifies

How has the functionality been tested?

I can build ctffind on MacOS using CMake and clang.

Warning: I have not tested building using autotools on MacOS, or at all on linux.
Warning 2: it's likely that the GPU-enabled side of things will not build with CMake, but I believe this was already the case before these commits (I guess cmake builds just were not tested)

  • Tested manually from GUI
  • [ x] Tested manually from CLI
  • Passed console tests
  • Passed samples functional testing
  • other (please specify)

Checklist:

  • I have not changed anything that did not need to be changed
  • I have performed a self-review of my own code
  • I have commented my code, (w.r.t. why), particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation {Ok to pass for now}
  • My changes generate no new warnings
  • Any dependent changes have been merged and published in downstream modules

@bHimes
Copy link
Collaborator

bHimes commented Oct 26, 2022

Fwiw, in my local, I have removed all CMake configurations. IMO maintaining two separate build systems is just asking for trouble.

Would I set up Autotools from scratch on a new project? Probably not, but having it in place, it works just fine.

I recommend considering this for the main repo as well.

@jojoelfe
Copy link
Collaborator

I've pointed out the places where this PR conflicts with the current automake setup.

The CMake files don't really cause any issue, so I don't see why we can't include them as long as the "canonical" way to compile cisTEm still works.

@bHimes
Copy link
Collaborator

bHimes commented Oct 26, 2022

I've pointed out the places where this PR conflicts with the current automake setup.

The CMake files don't really cause any issue, so I don't see why we can't include them as long as the "canonical" way to compile cisTEm still works.

That's a fine and fair point. I just mention here b/c there is a lot of noise in the code, and I consider this a source and have removed it from my own repo.

@jojoelfe jojoelfe mentioned this pull request Jan 30, 2023
21 tasks
@bHimes
Copy link
Collaborator

bHimes commented Jan 17, 2024

@arohou can this be closed?

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.

3 participants