11[build-system ]
2- requires = [" cmake" , " setuptools<72" , " wheel" , " numpy" ]
2+ requires = [" scikit-build-core>=0.10" ]
3+ build-backend = " scikit_build_core.build"
34
45[project ]
5- name = " ROOT "
6+ name = " root "
67version = " 0.1a12"
78requires-python = " >=3.10"
89maintainers = [
@@ -15,16 +16,73 @@ dependencies = [
1516 " numpy" ,
1617]
1718
18- # Demonstrate how to expose ROOT CLI tools the Python way. For now only include
19- # `root`, other tools can be added later using the same approach.
19+ # Point backend to python packages and to explicitly use Ninja
20+ [tool .scikit-build ]
21+ wheel.packages = [
22+ " bindings/pyroot/pythonizations/python/ROOT" ,
23+ " bindings/pyroot/cppyy/cppyy/python/cppyy" ,
24+ ]
25+ cmake.args = [
26+ " -GNinja" ,
27+ ]
28+
29+ [tool .scikit-build .cmake .define ]
30+ # CMake install directories
31+ CMAKE_INSTALL_BINDIR = " ROOT/bin"
32+ CMAKE_INSTALL_CMAKEDIR = " ROOT/cmake"
33+ CMAKE_INSTALL_FONTDIR = " ROOT/fonts"
34+ CMAKE_INSTALL_ICONDIR = " ROOT/icons"
35+ CMAKE_INSTALL_INCLUDEDIR = " ROOT/include"
36+ CMAKE_INSTALL_LIBDIR = " ROOT/lib"
37+ CMAKE_INSTALL_MACRODIR = " ROOT/macros"
38+ CMAKE_INSTALL_MANDIR = " ROOT/man"
39+ CMAKE_INSTALL_PYTHONDIR = " ."
40+ CMAKE_INSTALL_SYSCONFDIR = " ROOT/etc"
41+ CMAKE_INSTALL_TUTDIR = " ROOT/tutorials"
42+
43+ # Generic minimal build config
44+ gminimal =" ON"
45+ asimage =" ON"
46+ opengl =" OFF"
47+ runtime_cxxmodules =" ON"
48+ fail-on-missing =" ON"
49+
50+ # Explicitly list components that gminimal implicitly turns off as documentation
51+ # tmva-pymva and tpython are disabled for manylinux compatibility
52+ # see https://peps.python.org/pep-0513/#libpythonx-y-so-1
53+ tmva-pymva =" OFF"
54+ tpython =" OFF"
55+ thisroot_scripts =" OFF" # the thisroot.* scripts are broken if CMAKE_INSTALL_PYTHONDIR!=CMAKE_INSTALL_LIBDIR
56+
57+ # Builtins
58+ builtin_nlohmannjson =" ON"
59+ builtin_tbb =" ON"
60+ builtin_xrootd =" ON"
61+ builtin_tiff =" ON"
62+ builtin_lz4 =" ON"
63+ builtin_fftw3 =" ON"
64+ builtin_gsl =" ON"
65+ builtin_lzma =" ON"
66+ builtin_zstd =" ON"
67+ builtin_xxhash =" ON"
68+ pyroot =" ON"
69+ dataframe =" ON"
70+ xrootd =" ON"
71+ ssl =" ON"
72+ imt =" ON"
73+ roofit =" ON"
74+ mathmore =" ON"
75+
76+ # Expose the ROOT cli as an executable command via _rootcli wrapper
2077[project .scripts ]
2178root = " ROOT._rootcli:main"
2279
2380[tool .cibuildwheel ]
24- # Increase pip debugging output
81+ build-frontend = { name = " build " }
2582build-verbosity = 1
2683manylinux-x86_64-image = " manylinux_2_28"
2784
2885# Install system libraries
2986[tool .cibuildwheel .linux ]
3087before-all = " dnf install -y epel-release && /usr/bin/crb enable && dnf install -y openssl-devel libX11-devel libXpm-devel libXft-devel libXext-devel libuuid-devel libjpeg-devel giflib-devel libtiff-devel"
88+
0 commit comments