You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[CMake] Deprecate the rpath option and always append relative rpath
Since ROOT 6.36, the relative `RPATH` to the main ROOT libraries is only
appended to the existing path, and not replacing the path that is e.g.
passed by the user via `CMAKE_INSTALL_RPATH`. Therefore, there is no
problematic side effect of `rpath=ON` anymore. We can drop this option
and always append to the runpath.
This makes the ROOT configuration less confusing, also because from the
option name "rpath", it is not clear what it did.
Copy file name to clipboardExpand all lines: README/ReleaseNotes/v638/index.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,9 @@
7
7
* The `ROOT::Math::TDataPointN` class that can be used with the `ROOT::Math::KDETree` was removed. Use the templated `TDataPoint<N>` instead.
8
8
* The Parallel ROOT Facility, `PROOF`, has been removed from the repository.
9
9
* After being deprecated for a long period, the `-r` option of `rootcling` has been removed.
10
+
* The `rpath` build option is deprecated. It is ignored and will result in configuration errors in the upcoming ROOT 6.38.
11
+
Relative RPATHs to the main ROOT libraries are unconditionally appended to all ROOT executables and libraries if the operating system supports it.
12
+
If you want a ROOT build without RPATHs, use the canonical CMake variable `CMAKE_SKIP_INSTALL_RPATH=TRUE`
10
13
11
14
## Core Libraries
12
15
* Behavior change: when selecting a template instantiation for a dictionary, all the template arguments have to be fully defined - the forward declarations are not enough any more. The error prompted by the dictionary generator will be `Warning: Unused class rule: MyTemplate<MyFwdDeclaredClass>`.
Copy file name to clipboardExpand all lines: cmake/modules/RootBuildOptions.cmake
+9-2Lines changed: 9 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -154,7 +154,6 @@ ROOT_BUILD_OPTION(r OFF "Enable support for R bindings (requires R, Rcpp, and RI
154
154
ROOT_BUILD_OPTION(roofitON"Build the advanced fitting package RooFit, and RooStats for statistical tests. If xml is available, also build HistFactory.")
155
155
ROOT_BUILD_OPTION(roofit_multiprocessOFF"Build RooFit::MultiProcess and multi-process RooFit::TestStatistics classes (requires ZeroMQ >= 3.4.5 built with -DENABLE_DRAFTS and cppzmq).")
156
156
ROOT_BUILD_OPTION(root7ON"Build ROOT 7 components of ROOT")
157
-
ROOT_BUILD_OPTION(rpathON"Link libraries with built-in RPATH (run-time search path)")
158
157
ROOT_BUILD_OPTION(runtime_cxxmodulesON"Enable runtime support for C++ modules")
159
158
ROOT_BUILD_OPTION(shadowpwOFF"Enable support for shadow passwords")
160
159
ROOT_BUILD_OPTION(sharedON"Use shared 3rd party libraries if possible")
@@ -307,7 +306,6 @@ if(WIN32)
307
306
set(davix_defvalueOFF)
308
307
set(roofit_multiprocess_defvalueOFF)
309
308
set(roottest_defvalueOFF)
310
-
set(rpath_defvalueOFF)
311
309
set(runtime_cxxmodules_defvalueOFF)
312
310
set(testing_defvalueOFF)
313
311
set(vdt_defvalueOFF)
@@ -406,6 +404,15 @@ foreach(opt )
406
404
endif()
407
405
endforeach()
408
406
407
+
if(DEFINEDrpath)
408
+
message(DEPRECATION">>> Option 'rpath' is deprecated and is ignored."
409
+
" Relative RPATHs to the main ROOT libraries are unconditionally appended to all ROOT"
410
+
" executables and libraries. The 'rpath' flag presence will result in a configuration"
411
+
" error in the next release of ROOT."
412
+
" Please contact root-dev@cern.ch should you still need this option."
413
+
"") # empty line at the end to make the deprecation message more visible
414
+
endif()
415
+
409
416
foreach(optminuit2_mpi)
410
417
if(${opt})
411
418
message(WARNING"The option '${opt}' can only be used to minimise thread-safe functions in Minuit2. It cannot be used for Histogram/Graph fitting and for RooFit. If you want to use Minuit2 with MPI support, it is better to build Minuit2 as a standalone library.")
0 commit comments