-
Notifications
You must be signed in to change notification settings - Fork 16
Deploying open_iA
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".
- On single configuration generators (e.g. Ninja, Unix Makefiles), specify the
-
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).
- Build open_iA (for more info / troubleshooting see Building open_iA).
- 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.
open_iA Documentation, licensed under CC BY-NC-SA 4.0