Windows Installation Guide¶
Windows Prerequisites¶
Visual Studio 2022 with: - Desktop Development with C++ - C++ Make Tools for Windows
MATLAB R2025b (or compatible version)
CMake (included with Visual Studio)
Python 3.8+ with venv module (verify with
python --version)
Setup vcpkg¶
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
bootstrap-vcpkg.bat
Configure PowerShell Environment¶
Run these commands in PowerShell before building:
$env:PATH += ";C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\"
$env:PATH += ";C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\HostX86\x86"
$env:PATH += ";<VCPKG_INSTALLATION_PATH>"
if using already built IMAS-Core:
$env:AL_COMMON_PATH = "<IMAS_CORE_INSTALL_DIR>\share\common"
Build Configuration¶
Debug Build:
# with -DAL_DOWNLOAD_DEPENDENCIES=ON
cmake -Bbuild -S . -DVCPKG=ON -DAL_PYTHON_BINDINGS=ON -DCMAKE_INSTALL_PREFIX="<INSTALL_PATH>" -DCMAKE_TOOLCHAIN_FILE="<VCPKG_PATH>/scripts/buildsystems/vcpkg.cmake" -DAL_DOWNLOAD_DEPENDENCIES=ON -DAL_EXAMPLES=OFF -DAL_TESTS=OFF -DAL_PLUGINS=OFF -DAL_HLI_DOCS=OFF -DAL_DOCS_ONLY=OFF -DDD_VERSION="3.39.0" -DAL_BACKEND_UDA=OFF -DAL_BACKEND_UDAFAT=OFF -DAL_BACKEND_MDSPLUS=OFF
# with -DAL_DOWNLOAD_DEPENDENCIES=OFF
cmake -Bbuild -S . -DVCPKG=ON -DAL_PYTHON_BINDINGS=ON -DCMAKE_INSTALL_PREFIX="<INSTALL_PATH>" -DCMAKE_TOOLCHAIN_FILE="<VCPKG_PATH>/scripts/buildsystems/vcpkg.cmake" -DAL_DOWNLOAD_DEPENDENCIES=OFF -DAL_EXAMPLES=OFF -DAL_TESTS=OFF -DAL_PLUGINS=OFF -DAL_HLI_DOCS=OFF -DAL_DOCS_ONLY=OFF -DDD_VERSION="3.39.0" -DAL_BACKEND_UDA=OFF -DAL_BACKEND_UDAFAT=OFF -DAL_BACKEND_MDSPLUS=OFF -DCMAKE_PREFIX_PATH="<IMAS_CORE_INSTALL_DIR>"
Release Build:
# with -DAL_DOWNLOAD_DEPENDENCIES=ON
cmake -Bbuild -S . -DCMAKE_BUILD_TYPE=Release -DVCPKG=ON -DAL_PYTHON_BINDINGS=ON -DCMAKE_INSTALL_PREFIX="<INSTALL_PATH>" -DCMAKE_TOOLCHAIN_FILE="<VCPKG_PATH>/scripts/buildsystems/vcpkg.cmake" -DAL_DOWNLOAD_DEPENDENCIES=ON -DAL_EXAMPLES=OFF -DAL_TESTS=OFF -DAL_PLUGINS=OFF -DAL_HLI_DOCS=OFF -DAL_DOCS_ONLY=OFF -DDD_VERSION="3.39.0" -DAL_BACKEND_UDA=OFF -DAL_BACKEND_UDAFAT=OFF -DAL_BACKEND_MDSPLUS=OFF
# with -DAL_DOWNLOAD_DEPENDENCIES=OFF
cmake -Bbuild -S . -DCMAKE_BUILD_TYPE=Release -DVCPKG=ON -DAL_PYTHON_BINDINGS=ON -DCMAKE_INSTALL_PREFIX="<INSTALL_PATH>" -DCMAKE_TOOLCHAIN_FILE="<VCPKG_PATH>/scripts/buildsystems/vcpkg.cmake" -DAL_DOWNLOAD_DEPENDENCIES=OFF -DAL_EXAMPLES=OFF -DAL_TESTS=OFF -DAL_PLUGINS=OFF -DAL_HLI_DOCS=OFF -DAL_DOCS_ONLY=OFF -DDD_VERSION="3.39.0" -DAL_BACKEND_UDA=OFF -DAL_BACKEND_UDAFAT=OFF -DAL_BACKEND_MDSPLUS=OFF -DCMAKE_PREFIX_PATH="<IMAS_CORE_INSTALL_DIR>"
Build and Install¶
cmake --build build --config Release --target install
Using in MATLAB¶
Example MATLAB script to access IMAS data:
% Set PATH to find all required DLLs
setenv('PATH', [getenv('PATH') ...
';<IMAS_MATLAB_PATH>\build\Release' ...
';<IMAS_MATLAB_PATH>\matlab' ...
';<IMAS_MATLAB_PATH>\build\_deps\al-core-build\Release' ...
';<IMAS_MATLAB_PATH>\build\vcpkg_installed\x64-windows\bin']);
% Add MATLAB helper functions and MEX files
addpath('<IMAS_MATLAB_PATH>\matlab');
addpath('<IMAS_MATLAB_PATH>\build\Release');
% Open IMAS pulse file
uri = 'imas:hdf5?path=<PATH_TO_DATA_FILE>';
ctx = imas_open(uri, 40);
if ctx < 0
error('Unable to open pulse');
end
% Get IDS structure
try
m = ids_get(ctx, 'waves');
disp('Success!')
catch ME
disp(['Error: ' ME.message])
end
% Display results
disp('=== IDS Properties ===');
disp(['Comment: ' m.ids_properties.comment]);
disp(['Data Dictionary: ' m.ids_properties.version_put.data_dictionary]);
Run MATLAB Tests¶
matlab -batch "test_code"
Windows Troubleshooting¶
Ensure all PowerShell environment variables are set before running CMake
Verify Visual Studio C++ build tools are installed
Check that all dependencies are accessible at the specified network paths
Confirm Python installation with
python --version