This is a guide for building MiNiFi C++ binaries for Windows. Follow it to create the artifacts and document the process as described in the documentation section. When packaging, the resulting MSI cannot be redistributed under the Apache License 2.0, because it includes Microsoft redistributable DLLs.
Required environment
Operating System: Microsoft Windows 10 x64
Recommended hardware: at least 4 CPU cores and 16 GiB RAM
Required software
- Microsoft Visual Studio 2019 Community or Enterprise
- Install with the "Desktop development with C++" workload, it should include all needed components
- CMake >=3.17 (https://cmake.org/download/)
- Choose the "Add CMake to the system path..." option when installing
- git (https://git-scm.com/download/win)
- WiX Toolset >= 3.11 (https://wixtoolset.org/releases/)
- WiX Toolset requires .NET 3.5 to install, which you can install via the "Turn Windows features on or off" utility
Build process
To build the 64-bit msi execute the following steps:
- Create the
C:\Development
directory - Open
x64 Native Tools Command Prompt for VS 2019
- Execute the following commands
cd C:\Development git clone https://github.com/apache/nifi-minifi-cpp.git cd nifi-minifi-cpp git checkout <tag> win_build_vs.bat build64 /64 /T /K /P
- The artifact will be at
C:\Development\nifi-minifi-cpp\build64\nifi-minifi-cpp.msi
(Optional) If you want to build the 32-bit msi as well, execute the following steps (after completing the 64-bit build):
- Open
x86 Native Tools Command Prompt for VS 2019
- Execute the following commands
cd C:\Development\nifi-minifi-cpp win_build_vs.bat build32 /T /K /P
- The artifact will be at
C:\Development\nifi-minifi-cpp\build32\nifi-minifi-cpp.msi
Documentation
To document how a particulate release can be built, substitute the example values:
Information | How to obtain | Value |
---|---|---|
git tag of the used source | Knowing this is a precondition for starting the build | rel/minifi-cpp-0.10.0 |
OS version | Open "About your PC" and use Edition, Version and OS build under the Windows specifications section | Windows 10 Pro 2004 19041.1052 |
MSVC version | Run cl from x64 Native Tools Command Prompt for VS 2019 and extract the version | 19.29.30037 |
VC Redistributable Merge Module Version | Run set VCToolsRedistDir from x64 Native Tools Command Prompt for VS 2019 and extract the version | 14.29.30036 |
CMake version | Run cmake --version and extract the version | 3.19.4 |
git version | Run git --version and extract the version | 2.30.0.windows.2 |
WiX Toolset version | Run the WiX application which displays the version | v3.11.2.4516 |