Skip to content

feat: Disable RooFit banner with CMAKE_CXX_FLAGS option __ROOFIT_NOBANNER (!63)

Matthew Feickert requested to merge feat/disable-RooFit-banner into master

Resolves https://root-forum.cern.ch/t/roofit-nobanner-on-cmake-option-seems-to-have-no-effect/48828

When RooFit code is run it will print a copyright "banner"

$ python -c 'from ROOT import RooFit'  # Get banner

RooFit v3.60 -- Developed by Wouter Verkerke and David Kirkby 
                Copyright (C) 2000-2013 NIKHEF, University of California & Stanford University
                All rights reserved, please read http://roofit.sourceforge.net/license.txt

when RooFit was being developed in the early 2000s this was about the only way to get open source software recognized and (hopefully!) cited. However, in the time since then there has been significant improvements in the citation and scholarship of open source software (e.g., some key points being the existence of JOSS and CITATION.cff native support on GitHub). As RooFit is also effectively absorbed into ROOT and any development as a solo project on SourceForge has long halted, the banner is a recurring pain point and nuisance for many users. The banner can be disabled at runtime through adding RooFit.Banner: no to .rootrc

$ python -c 'from ROOT import RooFit'  # Get banner

RooFit v3.60 -- Developed by Wouter Verkerke and David Kirkby 
                Copyright (C) 2000-2013 NIKHEF, University of California & Stanford University
                All rights reserved, please read http://roofit.sourceforge.net/license.txt

$ echo 'RooFit.Banner: no' > ~/.rootrc
$ python -c 'from ROOT import RooFit'  # No banner now

or permanently disabled by passing the compile flag -D__ROOFIT_NOBANNER to RooFit at compile time. To pass this flag to RooFit through CMake when building ROOT use the CMAKE_CXX_FLAGS option to do so.

This PR adds

-DCMAKE_CXX_FLAGS=-D__ROOFIT_NOBANNER

to the stats-base Dockerfile to permanently disable the banner from being displayed. 🎉

* Permanently disable the RooFit copyright banner from being displayed by
passing the __ROOFIT_NOBANNER compile flag to RooFit from CMake with the
CMAKE_CXX_FLAGS CMake option: -DCMAKE_CXX_FLAGS=-D__ROOFIT_NOBANNER
   - c.f. https://root-forum.cern.ch/t/roofit-nobanner-on-cmake-option-seems-to-have-no-effect/48828
Edited by Matthew Feickert

Merge request reports