# Building Meazure From Source
Meazure is a Microsoft Windows program and must be built on Windows. These
instructions describe how to build Meazure for 64-bits on Microsoft Windows
10 using Visual Studio Community 2022.
1. Download and install Visual Studio Community 2022 from .
Select the following components:
* Workload - Python development
* Workload - Desktop development with C++
* C++ CMake tools for Windows
* C++ MFC for latest v143 build tools (x86 & x64)
2. Install the Markdown Editor extension in Visual Studio
3. Meazure uses the [Conan C/C++ Package Manager](https://conan.io/) to install its library dependencies. Install
Conan by performing the following steps:
* In a browser go to
* Download the Windows x86_64 package
* Install the download package accepting all defaults
4. Download and install Python from . Include the following additional packages:
* pip
* Python launcher
* Documentation
Check the box to add Python to the environment variables.
5. Install the cmakelang package, which provide the cmake-format, cmake-lint and other CMake related tools:
```CMake
pip install cmakelang
```
6. Download and install Inno Setup from
7. Add `C:\Program Files (x86)\Inno Setup 6` to the user `Path`
8. Download and install Doxygen from
9. Download and install Graphviz from
10. Download and install MiKTEX from
11. Download and install Ghostscript from
12. Open Visual Studio
13. From the `Start` menu, select `Visual Studio 2022 > x64 Native Tools Command Prompt for VS 2022`
14. In the command window change directory to the root of the Meazure source tree
15. The Meazure build uses the CMake program to configure the build environment.
CMake can generate Makefiles and Visual Studio project files. To generate
a command line build using Microsoft's NMake tool run the following commands at the
root of the source tree:
```batchfile
mkdir build-nmake
cd build-nmake
cmake -G "NMake Makefiles" ..
```
To generate the solution and project files for Visual Studio, run the following commands
at the root of the source tree:
```batchfile
mkdir build-vs
cd build-vs
cmake -G "Visual Studio 17 2022" -A x64 ..
```
**NOTE:** The first time the generator command is run, the Conan package manager will download and build the
library dependencies (e.g. Boost). This can take a long time especially for the Visual Studio solution and will
produce a significant amount of output.
16. To build Meazure using the command line, run the following command from the `build-nmake`
directory:
```
nmake
```
The results are available in the `build-nmake/Release` directory.
17. To load Meazure into Visual Studio, open the `Meazure.sln` file
in the `build-vs` directory.
18. To run the unit tests run the following command from the `build-nmake` directory:
```
ctest
```
To obtain more detail if a test fails, run:
```
ctest -V
```
19. To create the Meazure installer, run the following command from the `build-nmake` directory:
```
nmake dist
```
The results are available in the `dist` top level directory.
20. To lint check the CMakeLists.txt file, run the following command from the `build-nmake` directory:
```
nmake cmakelint
```
21. The Meazure source code is heavily commented using the Doxygen comment
syntax. The documentation corresponding to these comments has been
generated and checked into source control in the top level `apidocs` directory. To
regenerate that documentation, change directories into the `build-nmake`
directory and run the command:
```
nmake apidocs
```
Check in any changed documentation files.