MRtrix3 / mrtrix3

MRtrix3 provides a set of tools to perform various advanced diffusion MRI analyses, including constrained spherical deconvolution (CSD), probabilistic tractography, track-density imaging, and apparent fibre density
http://www.mrtrix.org
Mozilla Public License 2.0
294 stars 181 forks source link

Add interface library for project-wide compile options #2950

Closed daljit46 closed 3 months ago

daljit46 commented 3 months ago

Previously we relied on add_compile_options and add_compile_definitions for defining compiler definitions and options for the entire project. This commit replaces that behaviour by defining a new mrtrix::common INTERFACE library that links to all targets in the project (the library is linked to mrtrix::core). This is more CMake-idiomatic and prevents the propagation of compiler definitions to targets that do not link to mrtrix::core (useful when compiling MRtrix3 as a subproject of another project). Ideally, we should be using CMake presets for this kind of stuff, but we need to support CMake 3.16.

github-actions[bot] commented 3 months ago

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] commented 3 months ago

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] commented 3 months ago

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] commented 3 months ago

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] commented 3 months ago

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] commented 3 months ago

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] commented 3 months ago

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] commented 3 months ago

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] commented 3 months ago

clang-tidy review says "All clean, LGTM! :+1:"