Method 1: Using Workflow Preset (Recommended)
# List available presets
cmake --list-presets
# Build using preset
cmake --workflow --preset <preset-config-from-list>
# Example:
cmake --workflow --preset win-ninja-mt-mpi-ilp64-static
Method 2: Vendor-Based Configuration
# Configure
cmake -S . -B <build-dir> -G "Ninja"
-DCMAKE_INSTALL_PREFIX=<install-dir>
-DLAPACK_VENDOR=AOCL
-DUSER_PROVIDED_IMPILIB_ILP64_PATH="%MKL_IMPI_ILP64_ROOT%"
-DBOOST_ROOT="%BOOST_ROOT%"
-DCMAKE_C_COMPILER="icx.exe"
-DCMAKE_CXX_COMPILER="icx.exe"
-DCMAKE_Fortran_COMPILER="ifx.exe"
-DMUMPS_intsize64=ON
-DMUMPS_UPSTREAM_VERSION="%MUMPS_VERSION%"
# Build
cmake --build <build-dir> --config Release --target install
Method 3: Legacy Explicit Paths
# Configure with explicit paths
cmake -S . -B <build-dir> -G "Ninja"
-DCMAKE_INSTALL_PREFIX=<install-dir>
-DUSER_PROVIDED_BLIS_LIBRARY_PATH="<path/to/AOCL-BLAS/library>"
-DUSER_PROVIDED_BLIS_INCLUDE_PATH="<path/to/AOCL-BLAS/headers>"
-DUSER_PROVIDED_LAPACK_LIBRARY_PATH="<path/to/AOCL-LAPACK/library>"
-DUSER_PROVIDED_LAPACK_INCLUDE_PATH="<path/to/AOCL-LAPACK/headers>"
-DUSER_PROVIDED_SCALAPACK_LIBRARY_PATH="<path/to/scalapack/library>"
-DUSER_PROVIDED_METIS_LIBRARY_PATH="<path/to/metis/library>"
-DUSER_PROVIDED_METIS_INCLUDE_PATH="<path/to/metis/include>"
-DUSER_PROVIDED_IMPILIB_ILP64_PATH="<path/to/intel/mpi/lib/ilp64>"
-DCMAKE_C_COMPILER="icx.exe"
-DCMAKE_CXX_COMPILER="icx.exe"
-DCMAKE_Fortran_COMPILER="ifx.exe"
-DBOOST_ROOT="%BOOST_ROOT%"
-DMUMPS_intsize64=ON
-DMUMPS_UPSTREAM_VERSION="%MUMPS_VERSION%"
# Build
cmake --build <build-dir> --config Release --target install