Skip to content

3 Build

natowi edited this page Jun 16, 2020 · 10 revisions

How to build Alicevision and Meshroom on Windows

There is an official build readme, but it is confusing for those who don´t compile software every day. So I will provide one step-by-step working example for building Alicevision and Meshroom for Windows. (This is one of many possible workflows)

Note: pyside2 on windows might cause problems some times (depending on version and python version)

Alicevision

Requires vcpkg and Visual Studio 2017 (run x64 Native Tools Command Prompt for VS 2017, as admin) Use the English language version only!

install vcpkg install all vcpkg packages as described in the alicevision readme

cd [PATH-TO-FOLDER]

git clone --recursive https://github.com/alicevision/aliceVision.git

cd alicevision

mkdir build

cd build

set VCPKG_ROOT=C:\vcpkg

cmake .. -DCMAKE_TOOLCHAIN_FILE=%VCPKG_ROOT%\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows -G "Visual Studio 15 2017" -A x64 -T host=x64

DO NOT RENAME THE FOLDER OR CHANGE THE FOLDER PATH BEFORE BUILDING! (ABSOLUTE FILE PATHS ARE STORED!)

In file browser go to [PATH-TO-FOLDER]/aliceVision/build -> open alicevision.sln in VS2017

In VS2017 -> change from develop to release and x64

In Solution Explorer right-click on Solution 'aliceVision' (??? projects) -> Build This will take a few minutes

You can find the compiled files in [PATH-TO-FOLDER]\aliceVision\build\Windows-AMD64\Release

Meshroom

Python should be set up properly (added to system PATH)

Clone meshroom to a local directory using git or by downloading a clone from github (extract zip to C:\meshroom)

start cli

git clone https://github.com/alicevision/meshroom.git C:\meshroom

navigate to extracted folder

cd C:\meshroom

set python PATH:

set PATH=%PYTHON%;%PYTHON%\Scripts;%PATH%

Install dependencies

pip install -r requirements.txt -r dev_requirements.txt --timeout 45

Build Meshroom UI

python setup.py build

qmlAlembic

https://github.com/alicevision/qmlAlembic

QtOIIO

https://github.com/alicevision/QtOIIO

https://github.com/alicevision/QtOIIO/blob/develop/INSTALL.md

QtAliceVision

https://github.com/alicevision/QtAliceVision

Alicevision + Meshroom

Create new Meshroom for final build

In the Meshroom folder copy the files from the Meshroom->build folder

then create a new aliceVision folder

-->bin -> paste contents from alicevision build

-->share/alicevision -> cameraSensors.db (from Github/cloned meshroom folder) and vlfeat_K80L3.SIFT.tree (from https://gitlab.com/alicevision/trainedVocabularyTreeData/raw/master/vlfeat_K80L3.SIFT.tree)

Meshroom folder

-> create qtPlugins folder

qtPlugins-> imageformats and qml

imageformats->QtOIIOPlugin

qml->AlembicEntity and DepthMapEntity

# Meshroom standalone structure

- Meshroom/
   - aliceVision/
       - bin/    # runtime bundled binaries (windows: exe + libs, unix: executables)
       - lib/    # runtime bundled libraries (unix: libs)
       - share/  # resource files
           - aliceVision/
               - COPYING.md         # AliceVision COPYING file
               - cameraSensors.db   # sensor database
               - vlfeat_K80L3.tree  # voctree file
   - lib/      # Python lib folder
   - qtPlugins/
   Meshroom    # main executable
   COPYING.md  # Meshroom COPYING file
"""
Clone this wiki locally