# Booleans
option('with_newpot', type : 'boolean', value : false)
option('with_water', type : 'boolean', value : false)
option('with_ams', type : 'boolean', value : false)
option('with_mpi', type : 'boolean', value : false)
option('with_pybind11', type : 'boolean', value : false, description: '(unused) for python bindings')
option('with_gprd', type : 'boolean', value : false)
option('with_vasp', type : 'boolean', value : false)
option('with_fortran', type : 'boolean', value : true)
option('with_cuh2', type : 'boolean', value : true)
option('with_tests', type : 'boolean', value : true)
option('with_gp_surrogate', type : 'boolean', value : false)
option('with_catlearn', type : 'boolean', value : false)
option('with_xtb', type : 'boolean', value : false)
option('with_ase_orca', type : 'boolean', value : false)
option('with_ase_nwchem', type : 'boolean', value : false)
option('with_ase', type : 'boolean', value : false)
option('with_qsc', type : 'boolean', value : false)
option('use_mkl', type: 'boolean', value: false, description: 'Enable Intel MKL support')
option('gprd_linalg_backend', type: 'combo', choices: ['eigen', 'cusolver', 'kokkos', 'stdpar'], value: 'eigen', description: 'Linear algebra backend for GPR-dimer hot-path operations')
option('with_metatomic', type : 'boolean', value : false)
# --- rgpot roles (independent; see docs/source/user_guide/rgpot_integration.md) ---
# 1) Direct in-process: eOn Potential RGPOT → rgpot NWChemPot/CPMDPot → dlopen engines.
option('with_rgpot', type : 'boolean', value : false,
       description : 'Direct in-process rgpot: Potential RGPOT links NWChemPot/CPMDPot and dlopens libnwchemc/libcpmdc (NOT potserv RPC, NOT --serve)')
# 2) eOn as RPC server: eonclient --serve implements rgpot Potential RPC for any pot.
option('with_serve', type : 'boolean', value : false,
       description : 'eOn as rgpot-compatible Cap\'n Proto RPC *server* (eonclient --serve); clients connect TO eOn (NOT RGPOT pot, NOT potserv client)')
# (RPC *client* to potserv is not an eOn pot type; use rgpot potserv + external client.)
option('with_parallel_neb', type : 'boolean', value : false, description : 'Enable parallel NEB bead force evaluations (requires TBB)')
option('native_arch', type : 'boolean', value : false, description : 'Use -march=native for CPU-specific optimizations (not portable)')
option('fast_math', type : 'boolean', value : false, description : 'Enable -ffast-math (unsafe FP reordering, safe for atomic coords)')
option('with_artn', type : 'boolean', value : false, description : 'Enable ARTn saddle search method (requires Fortran + LAPACK)')
option('artn_libdir', type : 'string', value : '', description : 'Path to libartn.so directory (ARTnResource redeclares the C signatures inline, so no include dir is needed)')
option('with_ira', type : 'boolean', value : false, description : 'Enable IRA structure comparison (requires Fortran + LAPACK)')
option('ira_libdir', type : 'string', value : '', description : 'Path to libira.so directory')
option('ira_includedir', type : 'string', value : '', description : 'Path to iralib_interf.h directory')
option('torch_path', type : 'string', value : '', description: 'path to Torch, either provide this or torch_version for pip')
option('torch_version', type : 'string', value : '2.9', description: 'path to Torch')
option('pip_metatomic', type : 'boolean', value : false, description: 'use pip versions of torch, metatensor, torch, and metatomic')
