option('allow_preinstalled',type:'boolean',value:true,description:'Allow one complete, feature-compatible system MFEM. Set false for the dependency-hermetic source fallback.')
option('feature_profile',type:'combo',choices:['minimal','portable','full'],value:'portable',description:'Defaults for auto features. full is strict and requires all selected non-bundled TPLs in dependency_prefix.')
option('build_python',type:'boolean',value:false,description:'Build the nanobind Python extension and install native assets inside the Python package.')
option('build_tests',type:'boolean',value:true,description:'Register serial, parallel, and Python smoke tests when applicable.')
option('install_mfem',type:'boolean',value:true,description:'Install the source-built MFEM bundle and its runtime dependencies.')
option('dependency_prefix',type:'string',value:'',description:'Explicit prefix containing optional TPLs. Used even when allow_preinstalled=false.')
option('jobs',type:'integer',min:1,max:1024,value:4,description:'Parallel jobs for the CMake/Make source bundle.')
option('mfem_cuda_arch',type:'string',value:'native',description:'CUDA architectures understood by CMake, for example 80;86. native requires a recent CMake/toolkit.')
option('mfem_hip_arch',type:'string',value:'',description:'HIP GPU target, for example gfx90a. Empty lets the toolchain choose.')
option('mfem_precision',type:'combo',choices:['double','single'],value:'double',description:'Floating-point precision used consistently by MFEM and Hypre.')
option('python_install_native',type:'boolean',value:true,description:'Install MFEM headers, CMake/pkg-config data, and runtime libraries under the Python package.')
option('macos_deployment_target',type:'string',value:'15.0',description:'Minimum macOS version for native artifacts (15.0 supports C++23 std::print); ignored on other systems. Empty uses the toolchain default.')
option('mfem_benchmark',type:'feature',value:'disabled',description:'Upstream benchmark-program build switch; enabling is rejected because it is not an installed MFEM library capability.')
option('mfem_parelag',type:'feature',value:'disabled',description:'Upstream ParELAG miniapp-only switch; enabling is rejected because it is not an installed MFEM library capability.')
option('mfem_tribol',type:'feature',value:'disabled',description:'Upstream Tribol miniapp-only switch; enabling is rejected because it is not an installed MFEM library capability.')
option('mfem_enzyme',type:'feature',value:'auto',description:'Enzyme AD plugin; requires matching Clang/LLVM.')
option('mfem_moonolith',type:'feature',value:'auto',description:'Moonolith transfer miniapp integration.')