Windows (Powershell) Quickstart Guide¶
Table of Contents¶
System Requirements¶
C++ Compiler: C++20 compatible
Visual Studio 2019 16.8+ or Visual Studio 2022
Version Control: Git (recent version)
Build System: CMake 3.16+
Installing Base Dependencies¶
For systems lacking these tools, you can install using the Visual Studio Installer:
Download and install Visual Studio Community (free)
While installing, select
Desktop development with C++workloadYou can optionally select
C++ Clang Compiler for Windows
Method 1: conda Environment Setup (Preferred)¶
This approach leverages conda for streamlined dependency management and is our top recommendation. Ensure your system requirements are met first.
Step 1: conda Installation¶
If conda isn’t already available:
Go to: https://github.com/conda-forge/miniforge/releases/latest
Download the
Miniforge3-Windows-x86_64.exeinstallerRun the installer and follow the prompts
Launch “Miniforge Prompt” and run
conda init powershellso that the conda environment can be accessed from powershell.
Step 2: Environment Creation¶
conda env create -f packaging/environment.yml
conda activate huira_env
Step 3: Compilation Process¶
mkdir build && cd build
cmake -D CMAKE_TOOLCHAIN_FILE="../cmake/conda-toolchain.cmake" ../
cmake --build . --config Release -j
NOTE: If you are using bash shell, you may not need the space between -D and CMAKE_TOOLCHAIN_FILE.
Step 4: Environment Installation (Optional)¶
After successful compilation, integrate Huira into your conda environment:
cmake --install . --config Release
Method 2: vcpkg Package Manager¶
vcpkg provides cross-platform package management through source compilation. Initial builds may take considerable time due to source-based dependency building. Verify system requirements before proceeding.
vcpkg Configuration:¶
git clone https://github.com/microsoft/vcpkg.git C:\vcpkg
cd C:\vcpkg
.\bootstrap-vcpkg.bat
.\vcpkg integrate install
Compilation Steps:¶
mkdir build && cd build
cmake -D CMAKE_TOOLCHAIN_FILE="C:/vcpkg/scripts/buildsystems/vcpkg.cmake" ../
cmake --build . --config Release -j
NOTE: If you are using bash shell, you may not need the space between -D and CMAKE_TOOLCHAIN_FILE.
Method 3: Manual Dependency Management (Advanced Users)¶
This approach requires manual installation of all dependencies through system package managers or source compilation. Warning: This method is unsupported and may encounter compatibility issues with system-available library versions.
Required Dependencies¶
Package |
Version Requirement |
Purpose |
|---|---|---|
assimp |
>=5.2,<6.0 |
3D asset importing |
catch2 |
>=3.8.0 |
Unit testing suite (when |
cfitsio |
>=3.49 |
FITS file handling |
cspice |
=67 |
NASA SPICE toolkit |
embree3 |
>=3.13,<4.0 |
Ray intersection kernels |
fftw |
>=3.3.10,<4.0 |
Fourier transform operations |
gdal |
>=3.10,<4.0 |
Geographic data processing |
glm |
>=1.0.1 |
Mathematical operations |
libtiff |
>=4.7.0 |
TIFF image processing |
tbb-devel |
>=2021.0 |
Threading Building Blocks |
Build Process¶
Once dependencies are satisfied, execute from the repository root:
mkdir build
cd build
cmake ../
cmake --build . --config Release -j