Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
R
Root
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Admin message
为了安全,强烈建议开启2FA双因子认证:User Settings -> Account -> Enable two-factor authentication!!!
Show more breadcrumbs
cxwx
Root
Commits
453336a6
Commit
453336a6
authored
9 years ago
by
Pere Mato Vila
Browse files
Options
Downloads
Patches
Plain Diff
Fix for ROOT-7710 - Different behaviour between configure/cmake configuration realting to gminimal
parent
96f849c4
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
cmake/modules/RootBuildOptions.cmake
+70
-81
70 additions, 81 deletions
cmake/modules/RootBuildOptions.cmake
with
70 additions
and
81 deletions
cmake/modules/RootBuildOptions.cmake
+
70
−
81
View file @
453336a6
...
@@ -3,14 +3,24 @@ set(root_build_options)
...
@@ -3,14 +3,24 @@ set(root_build_options)
#---------------------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------------
#---ROOT_BUILD_OPTION( name defvalue [description] )
#---ROOT_BUILD_OPTION( name defvalue [description] )
#---------------------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------------
function
(
ROOT_BUILD_OPTION
name
defvalue
)
function
(
ROOT_BUILD_OPTION
opt
defvalue
)
if
(
ARGN
)
if
(
ARGN
)
set
(
description
${
ARGN
}
)
set
(
description
${
ARGN
}
)
else
()
else
()
set
(
description
" "
)
set
(
description
" "
)
endif
()
endif
()
option
(
${
name
}
"
${
description
}
"
${
defvalue
}
)
set
(
${
opt
}
_defvalue
${
defvalue
}
PARENT_SCOPE
)
set
(
root_build_options
${
root_build_options
}
${
name
}
PARENT_SCOPE
)
set
(
${
opt
}
_description
${
description
}
PARENT_SCOPE
)
set
(
root_build_options
${
root_build_options
}
${
opt
}
PARENT_SCOPE
)
endfunction
()
#---------------------------------------------------------------------------------------------------
#---ROOT_APPLY_OPTIONS()
#---------------------------------------------------------------------------------------------------
function
(
ROOT_APPLY_OPTIONS
)
foreach
(
opt
${
root_build_options
}
)
option
(
${
opt
}
"
${${
opt
}
_description
}
"
${${
opt
}
_defvalue
}
)
endforeach
()
endfunction
()
endfunction
()
#---------------------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------------
...
@@ -44,67 +54,11 @@ function(ROOT_WRITE_OPTIONS file)
...
@@ -44,67 +54,11 @@ function(ROOT_WRITE_OPTIONS file)
endforeach
()
endforeach
()
endfunction
()
endfunction
()
#---Define default values depending on platform before the options are defined----------------------
if
(
WIN32
)
set
(
x11_defvalue OFF
)
set
(
memstat_defvalue OFF
)
set
(
explicitlink_defvalue ON
)
set
(
cocoa_defvalue OFF
)
set
(
davix_defvalue OFF
)
elseif
(
APPLE
)
set
(
x11_defvalue OFF
)
set
(
memstat_defvalue ON
)
set
(
explicitlink_defvalue ON
)
set
(
cocoa_defvalue ON
)
set
(
davix_defvalue OFF
)
else
()
set
(
x11_defvalue ON
)
set
(
memstat_defvalue ON
)
set
(
explicitlink_defvalue ON
)
set
(
cocoa_defvalue OFF
)
set
(
davix_defvalue ON
)
endif
()
if
(
all
)
set
(
gdml_defvalue ON
)
set
(
http_defvalue ON
)
set
(
qt_defvalue ON
)
set
(
qtgsi_defvalue ON
)
set
(
roofit_defvalue ON
)
set
(
minuit2_defvalue ON
)
set
(
r_defvalue ON
)
set
(
root7_defvalue ON
)
set
(
table_defvalue ON
)
set
(
unuran_defvalue ON
)
set
(
vc_defvalue ON
)
else
()
set
(
gdml_defvalue OFF
)
set
(
http_defvalue OFF
)
set
(
qt_defvalue OFF
)
set
(
qtgsi_defvalue OFF
)
set
(
roofit_defvalue OFF
)
set
(
minuit2_defvalue OFF
)
set
(
r_defvalue OFF
)
set
(
root7_defvalue OFF
)
set
(
table_defvalue OFF
)
set
(
unuran_defvalue OFF
)
set
(
vc_defvalue OFF
)
endif
()
# VC does not support yet Arm and PPC processors.
if
(
CMAKE_SYSTEM_PROCESSOR STREQUAL
"aarch64"
OR
CMAKE_SYSTEM_PROCESSOR STREQUAL
"ppc64le"
)
message
(
STATUS
"A system not supported by Vc,
${
CMAKE_SYSTEM_PROCESSOR
}
, was detected. Disabling Vc by default."
)
set
(
vc_defvalue OFF
)
endif
()
# Switch OFF fortran for Ninja and Xcode generators
#--------------------------------------------------------------------------------------------------
if
(
WIN32 OR CMAKE_GENERATOR STREQUAL Xcode OR CMAKE_GENERATOR STREQUAL Ninja
)
#---Full list of options with their descriptios and default values
set
(
fortran_defvalue OFF
)
# The default value can be changed as many times as we wish before calling ROOT_APPLY_OPTIONS()
else
()
#--------------------------------------------------------------------------------------------------
set
(
fortran_defvalue ON
)
endif
()
ROOT_BUILD_OPTION
(
afdsmgrd OFF
"Dataset manager for PROOF-based analysis facilities"
)
ROOT_BUILD_OPTION
(
afdsmgrd OFF
"Dataset manager for PROOF-based analysis facilities"
)
ROOT_BUILD_OPTION
(
afs OFF
"AFS support, requires AFS libs and objects"
)
ROOT_BUILD_OPTION
(
afs OFF
"AFS support, requires AFS libs and objects"
)
...
@@ -135,17 +89,17 @@ ROOT_BUILD_OPTION(castor ON "CASTOR support, requires libshift from CASTOR >= 1.
...
@@ -135,17 +89,17 @@ ROOT_BUILD_OPTION(castor ON "CASTOR support, requires libshift from CASTOR >= 1.
ROOT_BUILD_OPTION
(
ccache OFF
"Enable ccache usage for speeding up builds"
)
ROOT_BUILD_OPTION
(
ccache OFF
"Enable ccache usage for speeding up builds"
)
ROOT_BUILD_OPTION
(
chirp ON
"Chirp support (Condor remote I/O), requires libchirp_client"
)
ROOT_BUILD_OPTION
(
chirp ON
"Chirp support (Condor remote I/O), requires libchirp_client"
)
ROOT_BUILD_OPTION
(
cling ON
"Enable new CLING C++ interpreter"
)
ROOT_BUILD_OPTION
(
cling ON
"Enable new CLING C++ interpreter"
)
ROOT_BUILD_OPTION
(
cocoa
${
cocoa_defvalue
}
"Use native Cocoa/Quartz graphics backend (MacOS X only)"
)
ROOT_BUILD_OPTION
(
cocoa
OFF
"Use native Cocoa/Quartz graphics backend (MacOS X only)"
)
ROOT_BUILD_OPTION
(
davix
${
davix_defvalue
}
"DavIx library for HTTP/WEBDAV access"
)
ROOT_BUILD_OPTION
(
davix
ON
"DavIx library for HTTP/WEBDAV access"
)
ROOT_BUILD_OPTION
(
dcache ON
"dCache support, requires libdcap from DESY"
)
ROOT_BUILD_OPTION
(
dcache ON
"dCache support, requires libdcap from DESY"
)
ROOT_BUILD_OPTION
(
exceptions ON
"Turn on compiler exception handling capability"
)
ROOT_BUILD_OPTION
(
exceptions ON
"Turn on compiler exception handling capability"
)
ROOT_BUILD_OPTION
(
explicitlink
${
explicitlink_defvalue
}
"Explicitly link with all dependent libraries"
)
ROOT_BUILD_OPTION
(
explicitlink
ON
"Explicitly link with all dependent libraries"
)
ROOT_BUILD_OPTION
(
fftw3 ON
"Fast Fourier Transform support, requires libfftw3"
)
ROOT_BUILD_OPTION
(
fftw3 ON
"Fast Fourier Transform support, requires libfftw3"
)
ROOT_BUILD_OPTION
(
fitsio ON
"Read images and data from FITS files, requires cfitsio"
)
ROOT_BUILD_OPTION
(
fitsio ON
"Read images and data from FITS files, requires cfitsio"
)
ROOT_BUILD_OPTION
(
fortran
${
fortran_defvalue
}
"Enable the Fortran components of ROOT"
)
ROOT_BUILD_OPTION
(
fortran
${
fortran_defvalue
}
"Enable the Fortran components of ROOT"
)
set
(
gcctoolchain
""
CACHE PATH
"Path for the gcctoolchain in case not the system gcc is used to build clang/LLVM"
)
set
(
gcctoolchain
""
CACHE PATH
"Path for the gcctoolchain in case not the system gcc is used to build clang/LLVM"
)
ROOT_BUILD_OPTION
(
gviz ON
"Graphs visualization support, requires graphviz"
)
ROOT_BUILD_OPTION
(
gviz ON
"Graphs visualization support, requires graphviz"
)
ROOT_BUILD_OPTION
(
gdml
${
gdml_defvalue
}
"GDML writer and reader"
)
ROOT_BUILD_OPTION
(
gdml
OFF
"GDML writer and reader"
)
ROOT_BUILD_OPTION
(
geocad OFF
"ROOT-CAD Interface"
)
ROOT_BUILD_OPTION
(
geocad OFF
"ROOT-CAD Interface"
)
ROOT_BUILD_OPTION
(
genvector ON
"Build the new libGenVector library"
)
ROOT_BUILD_OPTION
(
genvector ON
"Build the new libGenVector library"
)
ROOT_BUILD_OPTION
(
gfal ON
"GFAL support, requires libgfal"
)
ROOT_BUILD_OPTION
(
gfal ON
"GFAL support, requires libgfal"
)
...
@@ -154,13 +108,13 @@ ROOT_BUILD_OPTION(globus OFF "Globus authentication support, requires Globus too
...
@@ -154,13 +108,13 @@ ROOT_BUILD_OPTION(globus OFF "Globus authentication support, requires Globus too
ROOT_BUILD_OPTION
(
gnuinstall OFF
"Perform installation following the GNU guidelines"
)
ROOT_BUILD_OPTION
(
gnuinstall OFF
"Perform installation following the GNU guidelines"
)
ROOT_BUILD_OPTION
(
gsl_shared OFF
"Enable linking against shared libraries for GSL (default no)"
)
ROOT_BUILD_OPTION
(
gsl_shared OFF
"Enable linking against shared libraries for GSL (default no)"
)
ROOT_BUILD_OPTION
(
hdfs ON
"HDFS support; requires libhdfs from HDFS >= 0.19.1"
)
ROOT_BUILD_OPTION
(
hdfs ON
"HDFS support; requires libhdfs from HDFS >= 0.19.1"
)
ROOT_BUILD_OPTION
(
http
${
http_defvalue
}
"HTTP Server support"
)
ROOT_BUILD_OPTION
(
http
OFF
"HTTP Server support"
)
ROOT_BUILD_OPTION
(
jemalloc OFF
"Using the jemalloc allocator"
)
ROOT_BUILD_OPTION
(
jemalloc OFF
"Using the jemalloc allocator"
)
ROOT_BUILD_OPTION
(
krb5 ON
"Kerberos5 support, requires Kerberos libs"
)
ROOT_BUILD_OPTION
(
krb5 ON
"Kerberos5 support, requires Kerberos libs"
)
ROOT_BUILD_OPTION
(
ldap ON
"LDAP support, requires (Open)LDAP libs"
)
ROOT_BUILD_OPTION
(
ldap ON
"LDAP support, requires (Open)LDAP libs"
)
ROOT_BUILD_OPTION
(
mathmore ON
"Build the new libMathMore extended math library, requires GSL (vers. >= 1.8)"
)
ROOT_BUILD_OPTION
(
mathmore ON
"Build the new libMathMore extended math library, requires GSL (vers. >= 1.8)"
)
ROOT_BUILD_OPTION
(
memstat
${
memstat_defvalue
}
"A memory statistics utility, helps to detect memory leaks"
)
ROOT_BUILD_OPTION
(
memstat
ON
"A memory statistics utility, helps to detect memory leaks"
)
ROOT_BUILD_OPTION
(
minuit2
${
minuit2_defvalue
}
"Build the new libMinuit2 minimizer library"
)
ROOT_BUILD_OPTION
(
minuit2
OFF
"Build the new libMinuit2 minimizer library"
)
ROOT_BUILD_OPTION
(
monalisa ON
"Monalisa monitoring support, requires libapmoncpp"
)
ROOT_BUILD_OPTION
(
monalisa ON
"Monalisa monitoring support, requires libapmoncpp"
)
ROOT_BUILD_OPTION
(
mt OFF
"Multi-threading support"
)
ROOT_BUILD_OPTION
(
mt OFF
"Multi-threading support"
)
ROOT_BUILD_OPTION
(
mysql ON
"MySQL support, requires libmysqlclient"
)
ROOT_BUILD_OPTION
(
mysql ON
"MySQL support, requires libmysqlclient"
)
...
@@ -173,12 +127,12 @@ ROOT_BUILD_OPTION(pythia6 ON "Pythia6 EG support, requires libPythia6")
...
@@ -173,12 +127,12 @@ ROOT_BUILD_OPTION(pythia6 ON "Pythia6 EG support, requires libPythia6")
ROOT_BUILD_OPTION
(
pythia6_nolink OFF
"Delayed linking of Pythia6 library"
)
ROOT_BUILD_OPTION
(
pythia6_nolink OFF
"Delayed linking of Pythia6 library"
)
ROOT_BUILD_OPTION
(
pythia8 ON
"Pythia8 EG support, requires libPythia8"
)
ROOT_BUILD_OPTION
(
pythia8 ON
"Pythia8 EG support, requires libPythia8"
)
ROOT_BUILD_OPTION
(
python ON
"Python ROOT bindings, requires python >= 2.2"
)
ROOT_BUILD_OPTION
(
python ON
"Python ROOT bindings, requires python >= 2.2"
)
ROOT_BUILD_OPTION
(
qt
${
qt_defvalue
}
"Qt graphics backend, requires libqt >= 4.8"
)
ROOT_BUILD_OPTION
(
qt
OFF
"Qt graphics backend, requires libqt >= 4.8"
)
ROOT_BUILD_OPTION
(
qtgsi
${
qtgsi_defvalue
}
"GSI's Qt integration, requires libqt >= 4.8"
)
ROOT_BUILD_OPTION
(
qtgsi
OFF
"GSI's Qt integration, requires libqt >= 4.8"
)
ROOT_BUILD_OPTION
(
roofit
${
roofit_defvalue
}
"Build the libRooFit advanced fitting package"
)
ROOT_BUILD_OPTION
(
roofit
OFF
"Build the libRooFit advanced fitting package"
)
ROOT_BUILD_OPTION
(
root7
${
root7_defvalue
}
"Build the ROOT 7 interface prototype, requires cxx14"
)
ROOT_BUILD_OPTION
(
root7
OFF
"Build the ROOT 7 interface prototype, requires cxx14"
)
ROOT_BUILD_OPTION
(
ruby OFF
"Ruby ROOT bindings, requires ruby >= 1.8"
)
ROOT_BUILD_OPTION
(
ruby OFF
"Ruby ROOT bindings, requires ruby >= 1.8"
)
ROOT_BUILD_OPTION
(
r
${
r_defvalue
}
"R ROOT bindings, requires R, Rcpp and RInside"
)
ROOT_BUILD_OPTION
(
r
OFF
"R ROOT bindings, requires R, Rcpp and RInside"
)
ROOT_BUILD_OPTION
(
rfio ON
"RFIO support, requires libshift from CASTOR >= 1.5.2"
)
ROOT_BUILD_OPTION
(
rfio ON
"RFIO support, requires libshift from CASTOR >= 1.5.2"
)
ROOT_BUILD_OPTION
(
rpath OFF
"Set run-time library load path on executables and shared libraries (at installation area)"
)
ROOT_BUILD_OPTION
(
rpath OFF
"Set run-time library load path on executables and shared libraries (at installation area)"
)
ROOT_BUILD_OPTION
(
sapdb ON
"MaxDB/SapDB support, requires libsqlod and libsqlrte"
)
ROOT_BUILD_OPTION
(
sapdb ON
"MaxDB/SapDB support, requires libsqlod and libsqlrte"
)
...
@@ -189,17 +143,17 @@ ROOT_BUILD_OPTION(sqlite ON "SQLite support, requires libsqlite3")
...
@@ -189,17 +143,17 @@ ROOT_BUILD_OPTION(sqlite ON "SQLite support, requires libsqlite3")
ROOT_BUILD_OPTION
(
srp ON
"SRP support, requires SRP source tree"
)
ROOT_BUILD_OPTION
(
srp ON
"SRP support, requires SRP source tree"
)
ROOT_BUILD_OPTION
(
ssl ON
"SSL encryption support, requires openssl"
)
ROOT_BUILD_OPTION
(
ssl ON
"SSL encryption support, requires openssl"
)
ROOT_BUILD_OPTION
(
tbb OFF
"TBB multi-threading support, requires TBB"
)
ROOT_BUILD_OPTION
(
tbb OFF
"TBB multi-threading support, requires TBB"
)
ROOT_BUILD_OPTION
(
table
${
table_defvalue
}
"Build libTable contrib library"
)
ROOT_BUILD_OPTION
(
table
OFF
"Build libTable contrib library"
)
ROOT_BUILD_OPTION
(
tcmalloc OFF
"Using the tcmalloc allocator"
)
ROOT_BUILD_OPTION
(
tcmalloc OFF
"Using the tcmalloc allocator"
)
ROOT_BUILD_OPTION
(
thread ON
"Using thread library (cannot be disabled)"
)
ROOT_BUILD_OPTION
(
thread ON
"Using thread library (cannot be disabled)"
)
ROOT_BUILD_OPTION
(
tmva ON
"Build TMVA multi variate analysis library"
)
ROOT_BUILD_OPTION
(
tmva ON
"Build TMVA multi variate analysis library"
)
ROOT_BUILD_OPTION
(
unuran
${
unuran_defvalue
}
"UNURAN - package for generating non-uniform random numbers"
)
ROOT_BUILD_OPTION
(
unuran
OFF
"UNURAN - package for generating non-uniform random numbers"
)
ROOT_BUILD_OPTION
(
vc
${
vc_defvalue
}
"Vc adds a few new types for portable and intuitive SIMD programming"
)
ROOT_BUILD_OPTION
(
vc
OFF
"Vc adds a few new types for portable and intuitive SIMD programming"
)
ROOT_BUILD_OPTION
(
vdt ON
"VDT adds a set of fast and vectorisable mathematical functions"
)
ROOT_BUILD_OPTION
(
vdt ON
"VDT adds a set of fast and vectorisable mathematical functions"
)
ROOT_BUILD_OPTION
(
winrtdebug OFF
"Link against the Windows debug runtime library"
)
ROOT_BUILD_OPTION
(
winrtdebug OFF
"Link against the Windows debug runtime library"
)
ROOT_BUILD_OPTION
(
xft ON
"Xft support (X11 antialiased fonts)"
)
ROOT_BUILD_OPTION
(
xft ON
"Xft support (X11 antialiased fonts)"
)
ROOT_BUILD_OPTION
(
xml ON
"XML parser interface"
)
ROOT_BUILD_OPTION
(
xml ON
"XML parser interface"
)
ROOT_BUILD_OPTION
(
x11
${
x11_defvalue
}
"X11 support"
)
ROOT_BUILD_OPTION
(
x11
ON
"X11 support"
)
ROOT_BUILD_OPTION
(
xrootd ON
"Build xrootd file server and its client (if supported)"
)
ROOT_BUILD_OPTION
(
xrootd ON
"Build xrootd file server and its client (if supported)"
)
option
(
fail-on-missing
"Fail the configure step if a required external package is missing"
OFF
)
option
(
fail-on-missing
"Fail the configure step if a required external package is missing"
OFF
)
...
@@ -209,17 +163,52 @@ option(all "Enable all optional components" OFF)
...
@@ -209,17 +163,52 @@ option(all "Enable all optional components" OFF)
option
(
testing
"Enable testing with CTest"
OFF
)
option
(
testing
"Enable testing with CTest"
OFF
)
option
(
roottest
"Include roottest, if roottest exists in root or if it is a sibling directory."
OFF
)
option
(
roottest
"Include roottest, if roottest exists in root or if it is a sibling directory."
OFF
)
#--- Minor chnages in defaults due to platform--------------------------------------------------
if
(
WIN32
)
set
(
x11_defvalue OFF
)
set
(
memstat_defvalue OFF
)
set
(
davix_defvalue OFF
)
elseif
(
APPLE
)
set
(
x11_defvalue OFF
)
set
(
cocoa_defvalue ON
)
set
(
davix_defvalue OFF
)
endif
()
#--- The 'all' option swithes ON major options---------------------------------------------------
if
(
all
)
set
(
gdml_defvalue ON
)
set
(
http_defvalue ON
)
set
(
qt_defvalue ON
)
set
(
qtgsi_defvalue ON
)
set
(
roofit_defvalue ON
)
set
(
minuit2_defvalue ON
)
set
(
r_defvalue ON
)
set
(
root7_defvalue ON
)
set
(
table_defvalue ON
)
set
(
unuran_defvalue ON
)
set
(
vc_defvalue ON
)
endif
()
#---VC does not support yet Arm and PPC processors----------------------------------------------
if
(
CMAKE_SYSTEM_PROCESSOR STREQUAL
"aarch64"
OR CMAKE_SYSTEM_PROCESSOR STREQUAL
"ppc64le"
)
message
(
STATUS
"A system not supported by Vc,
${
CMAKE_SYSTEM_PROCESSOR
}
, was detected. Disabling Vc by default."
)
set
(
vc_defvalue OFF
)
endif
()
#---Apply minimal or gminimal------------------------------------------------------------------
#---Apply minimal or gminimal------------------------------------------------------------------
foreach
(
opt
${
root_build_options
}
)
foreach
(
opt
${
root_build_options
}
)
if
(
NOT opt MATCHES
"thread|cxx11|cling|builtin_llvm|builtin_ftgl|explicitlink"
)
if
(
NOT opt MATCHES
"thread|cxx11|cling|builtin_llvm|builtin_ftgl|explicitlink"
)
if
(
minimal
)
if
(
minimal
)
set
(
${
opt
}
OFF CACHE BOOL
""
FORCE
)
set
(
${
opt
}
_defvalue OFF
)
elseif
(
gminimal AND NOT opt MATCHES
"x11|cocoa"
)
elseif
(
gminimal AND NOT opt MATCHES
"x11|cocoa"
)
set
(
${
opt
}
OFF CACHE BOOL
""
FORCE
)
set
(
${
opt
}
_defvalue OFF
)
endif
()
endif
()
endif
()
endif
()
endforeach
()
endforeach
()
#---Define at moment the options with the selected default values-----------------------------
ROOT_APPLY_OPTIONS
()
#---Avoid creating dependencies to 'non-standard' header files -------------------------------
#---Avoid creating dependencies to 'non-standard' header files -------------------------------
include_regular_expression
(
"^[^.]+$|[.]h$|[.]icc$|[.]hxx$|[.]hpp$"
)
include_regular_expression
(
"^[^.]+$|[.]h$|[.]icc$|[.]hxx$|[.]hpp$"
)
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment