Skip to content

Deploying open_iA

Bernhard Froehler edited this page Jul 10, 2024 · 2 revisions

For installing/deploying open_iA, we use CPack, which is a part of the CMake tools suite. You can use it to easily create an installer package. First, make sure you have a working build environment (see Building open_iA), then follow these steps:

  • If you want a specific packaging format (for example, if you want to build a setup program using the NSIS installer for Windows), you need to adapt the CMakeCPack.cmake file in the root folder of open_iA's sources; for more information, see the Packaging with CPack chapter in Mastering CMake or the CPack documentation. If you do not adapt this file, we automatically configure a packaging format for you:

    • Under Windows, the preselected packaging format is simply a .zip file of all required files.
    • Under Linux, the preselected packaging format is a self-extracting tar.gz Archive (.sh extension). The package build process here requires the "patchelf" binary file to be installed and available in the path (it should be available in the package repository of all major distributions).
    • We currently don't have experience packaging on MacOS, the packaging probably currently fails there. If you have input for us here, don't hesitate to contact us via the issue tracker!
  • Typically you want to give the package a specific version identifier, tag the current git commit, such as:

git tag 2024.7
  • CMake (assuming use of GUI here):

    • On single configuration generators (e.g. Ninja, Unix Makefiles), specify the CMAKE_BUILD_TYPE as "Release".
    • press "Configure"
    • You should see an output reflecting the version you set via tag, such as Build version: 2024.7
    • If you didn't set a tag for the current commit, an automatically generated version identifer based on the last tag, the current branch and the current commit hash will be set, such as Build version: 2024.7-TestBranch-123456789
    • If the version identifier is satisfactorily set and there were no errors in the configure step, press "Generate".
  • Build:

    • In multi-configuration generators (e.g. Visual Studio on Windows and in XCode on Mac OS), you have to make sure the "Release" mode is selected to be built (in Visual Studio for example by choosing "Release" in the dropdown box with choices (Debug/MinSizeRel/RelWithDebInfo/Release) in the Toolbar).
  • Create the package; inside the build folder ("Where to build the binaries" for the open_iA build itself), open a command prompt (under Windows, this needs to be a Visual Studio Tools prompt, shortcuts for this are created on installation of Visual Studio):
$ cpack

Example output (from Windows):

CPack: Create package using ZIP
CPack: Install projects
CPack: - Install project: open_iA []
Error copying file "FeatureScout.dll" to "E:/Tools/sb-release/open_iA/bin/_CPack_Packages/win64/ZIP/open_iA-2024.7/FeatureScout.dll".
Error copying file "Segmentation.dll" to "E:/Tools/sb-release/open_iA/bin/_CPack_Packages/win64/ZIP/open_iA-2024.7/Segmentation.dll".
Error copying file "MetaFilters.dll" to "E:/Tools/sb-release/open_iA/bin/_CPack_Packages/win64/ZIP/open_iA-2024.7/MetaFilters.dll".
CPack: Create package
CPack: - package: E:/Tools/sb-release/open_iA/bin/open_iA-2024.7.zip generated.
CPack: - checksum file: E:/Tools/sb-release/open_iA/bin/open_iA-2024.7.zip.sha512 generated.

These errors regarding copying module .dll's can be ignored.

If there are other errors that you don't know how to solve, you can reach out via the issue tracker.

Clone this wiki locally