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

New folder structure for C++ code #3012

Merged
merged 15 commits into from
Nov 13, 2024
Merged

New folder structure for C++ code #3012

merged 15 commits into from
Nov 13, 2024

Commits on Oct 17, 2024

  1. New folder structure for C++ code

    - All C++ code has been moved to a new `cpp` folder.
    - C++ commands now reside in `cpp/cmd`.
    - We now build a single (shared by default) library that packages all 
    non-gui code previously in `core` and `src` (now in `cpp/lib`).
    - All gui code in `cpp/lib/gui` is still built separately as before.
    - Version matching logic for library and executables has been updated.
    daljit46 committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    2a0593e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    56284e2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    39b0871 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    01601b8 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    e3b4257 View commit details
    Browse the repository at this point in the history
  6. Instruct CMake to deprioritise headers in /Library/Frameworks on Mac CI

    By setting, CMAKE_FIND_FRAMEWORK=LAST we instruct CMake to not look
    for header files inside /Library/Frameworks as a first search path.
    This can cause issue when frameworks like Mono are present on the system,
    resulting in CMake unable to find the homebrew library headers.
    daljit46 committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    c3d1ea7 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    c95f16c View commit details
    Browse the repository at this point in the history
  8. Change version retrieving logic for mrtrix3 executables

    The strategy now matches what we do to get the library version.
    daljit46 committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    0db1261 View commit details
    Browse the repository at this point in the history
  9. Link mrtrix::executable-version to executables only

    This ensures that the version string of library and commands live in
    separate binary objects. The version matching logic has been moved from
    app.cpp to command.h to accomodate for this.
    daljit46 committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    0e4ecd1 View commit details
    Browse the repository at this point in the history
  10. New structure for library code

    - `cpp/lib` is now split between `core` and `gui`, the former contains all code previously under `core` and `src`
    while the latter contains only GUI code for `mrview` and `shview`
    
    - `mrtrix-headless` has been renamed to `mrtrix-core`
    daljit46 committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    7241db9 View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2024

  1. Remove #include "gui/..." prefix

    MRtrixBot authored and daljit46 committed Oct 18, 2024
    Configuration menu
    Copy the full SHA
    cabbc74 View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2024

  1. Configuration menu
    Copy the full SHA
    5310272 View commit details
    Browse the repository at this point in the history
  2. Rename opengl/gl.h -> opengl/glutils.h

    This is to avoid conflicts with system headers.
    MRtrixBot authored and daljit46 committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    9e05a54 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    99b27e6 View commit details
    Browse the repository at this point in the history
  4. Partially turn off clang-format for in cpp/gui/shapes headers

    We ensure that glutils.h is included prior to gl_core_3_3.h since it
    indirectly includes Qt's OpenGL headers (which breaks the build).
    daljit46 committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    9972548 View commit details
    Browse the repository at this point in the history