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

[WIP] The Great CMake Migration #902

Merged
merged 85 commits into from
Jan 24, 2023
Merged

Conversation

gabrielbmotta
Copy link
Collaborator

@gabrielbmotta gabrielbmotta commented Oct 31, 2022

Currently have all the libraries, examples, and applications building with cmake. Using newer version of eigen that has cmake backend.

To do:

  • Finish organizing project layout.
  • Get all of the CI working.
  • Get fftw integration with eigen working
  • Implement all the build option definitions

@gabrielbmotta gabrielbmotta force-pushed the cmake branch 2 times, most recently from b2cbf85 to 2bd4537 Compare November 17, 2022 19:13
@gabrielbmotta gabrielbmotta force-pushed the cmake branch 2 times, most recently from e494f81 to b5779d8 Compare December 1, 2022 14:17
@gabrielbmotta
Copy link
Collaborator Author

On the question of naming authors on top of the file (above the license), what is the appropriate thing to do in this case? I see a lot of the .pro files have many many (many) authors; is the best thing to do to keep the same authorship in the new equivalent CMakeLists.txt file? Or since this is a new completely new file I should only include the names of the people who worked on the new CMakeLists file?

@LorenzE
Copy link
Member

LorenzE commented Dec 7, 2022

On the question of naming authors on top of the file (above the license), what is the appropriate thing to do in this case? I see a lot of the .pro files have many many (many) authors; is the best thing to do to keep the same authorship in the new equivalent CMakeLists.txt file? Or since this is a new completely new file I should only include the names of the people who worked on the new CMakeLists file?

@gabrielbmotta I think it would be ok to remove all names and just add yours or leave names out of the files completley. Technically it should be enough to have the git history of the files to identify who worked on them?

@juangpc
Copy link
Collaborator

juangpc commented Dec 8, 2022

At some point I gave it a thought. My 2cents:
The whole preamble thing in header and implementation files is just an additional thing to take care of, while developing.
It adds zero value.
It adds work load and importantly it distracts. It gets in the way
I would get rid of it all, in 99.9% of the files, if not all.
Substitute it with something like the following or nothing at all:
/*---------------------------------------------------------------------------------------------

  • MNE-CPP Project. All rights reserved.
  • Licensed under BSD-3 License. See License.txt in the project root for license information.
    --------------------------------------------------------------------------------------------/
    Authors, emails, etc... is all stored in .git/
    I understand that at some point it might had some meaning. But I now don't see any reason to use such long text.
    I would only use something on header files.
    The only reason why I haven't done this is because I'm wasn't sure if I was the only one.

I would also get rid of the //====.... rows. And the comment blocks announcing "header files" or "forward declarations"... they all get on the way.

But I would understand that it might be just my opinion.
My contribution: @LorenzE @gabrielbmotta your take.

@gabrielbmotta
Copy link
Collaborator Author

At some point I gave it a thought. My 2cents: The whole preamble thing in header and implementation files is just an additional thing to take care of, while developing. It adds zero value. It adds work load and importantly it distracts. It gets in the way I would get rid of it all, in 99.9% of the files, if not all. Substitute it with something like the following or nothing at all: /*---------------------------------------------------------------------------------------------

* MNE-CPP Project. All rights reserved.

* Licensed under BSD-3 License. See License.txt in the project root for license information.
  _--------------------------------------------------------------------------------------------_/
  Authors, emails, etc... is all stored in .git/
  I understand that at some point it might had some meaning. But I now don't see any reason to use such long text.
  I would only use something on header files.
  The only reason why I haven't done this is because I'm wasn't sure if I was the only one.

I would also get rid of the //====.... rows. And the comment blocks announcing "header files" or "forward declarations"... they all get on the way.

But I would understand that it might be just my opinion. My contribution: @LorenzE @gabrielbmotta your take.

I can definitely get behind the offloading the license to a single file and only doing a short header, and maybe adding a single text file with the name of all contributors to the project.

I do like the organization of having the //======= between definitions in the .cpp files, but i can see that maybe we do have too many in the beginning when saying what headers we define. I would not mind doing away with some of those and/or simplifying the comments so they don't take up three lines each.

@gabrielbmotta
Copy link
Collaborator Author

If we do end up changing the headers, I would prefer doing it in a separate PR, if that is ok.

@juangpc
Copy link
Collaborator

juangpc commented Jan 9, 2023

I think this is looking good. Close to merging state. @LorenzE any comments?

juangpc
juangpc previously approved these changes Jan 9, 2023
Copy link
Collaborator

@juangpc juangpc left a comment

Choose a reason for hiding this comment

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

Yes

@gabrielbmotta gabrielbmotta merged commit 8636ed2 into mne-tools:main Jan 24, 2023
@lorenz-esch-snkeos
Copy link

@gabrielbmotta @juangpc Sry I did not read your comment. Great work! This merge really makes me happy :) Will it give a try when I have time :)

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