- License: LGPL 2.1
- © Estonian Information System Authority
- Architecture of ID-software
- API Documentation
-
Install dependencies
# Ubuntu sudo apt install cmake libxml2-dev libxmlsec1-dev zlib1g-dev # Fedora sudo dnf install cmake gcc-c++ libtool-ltdl-devel libxml2-devel minizip-ng-compat-devel openssl-devel zlib-devel xmlsec1-openssl-devel
- doxygen - Optional, for API documentation
- libboost-test-dev - Optional, for unittests
- swig - Optional, for C#, Java and python bindings
- libpython3-dev, python3-setuptools - Optional, for python bindings
- openjdk-17-jdk-headless - Optional, for Java bindings
-
Fetch the source
git clone https://github.com/open-eid/libdigidocpp cd libdigidocpp
-
Configure
cmake -B build -S .
-
Build
cmake --build build
-
Install
sudo cmake --build build --target install
-
Execute
/usr/local/bin/digidoc-tool
-
Install dependencies from
- XCode - For macOS/iOS development
- CMake
- Homebrew
- vcpkg - For Android development (VCPKG_ROOT)
- Android NDK - For Android development (ANDROID_NDK_ROOT)
-
Fetch the source
git clone https://github.com/open-eid/libdigidocpp cd libdigidocpp
-
Prepare dependencies (available targets: macos, iphoneos, iphonesimulator)
sh prepare_osx_build_environment.sh macos all
-
Install dependencies
brew install pkg-config ninja
- doxygen - Optional, for API documentation
- boost - Optional, for unittests
- swig - Optional, for C# and Java bindings
- openjdk - Optional, for Java bindings
-
Configure, build and install (available presets: macos, iphoneos, iphonessimulator, androidarm, androidarm64, androidx86_64)
cmake --preset macos cmake --build --preset macos sudo cmake --build --preset macos --target install
-
Execute
/Library/Frameworks/digidocpp.framework/Resources/digidoc-tool
-
Install dependencies and necessary tools from
- Visual Studio Community 2019/2022
- CMake
- vcpkg
- Swig - Optional, for C#, Python and Java bindings
- Doxygen - Optional, for generating documentation
- Wix toolset - Optional, for creating Windows installation packages
- Python - Optional, for Python bindings
- Java - Optional, for Java bindings
-
Open desired Visual Studio tools command prompt:
- x64 Native Tool Command Prompt
- x86 Native Tool Command Prompt
- ARM64 Native Tool Command Prompt
- Or some cross compile combination with target host type
-
Fetch the source
git clone https://github.com/open-eid/libdigidocpp cd libdigidocpp
-
Configure
cmake -DCMAKE_TOOLCHAIN_FILE=vcpkg/scripts/buildsystems/vcpkg.cmake ` -DVCPKG_TARGET_TRIPLET=x64-windows ` -DVCPKG_MANIFEST_FEATURES=tests ` -B build -S .
Optional CMake parameters:
-DSWIG_EXECUTABLE=C:/swigwin-4.2.1/swig.exe -DDOXYGEN_EXECUTABLE=C:/Program files/doxygen/bin/doxygen.exe
After running the cmake build, digidoc_csharp.dll along with the C# source files will be created, more info at examples/DigiDocCSharp/README.md.
-
Build
cmake --build build
-
Alternative to steps 4. and 5. -
powershell -ExecutionPolicy ByPass -File build.ps1
Optional build.ps1 parameters:
-swig C:/swigwin-4.2.1/swig.exe -doxygen "C:/Program files/doxygen/bin/doxygen.exe" -boost
The build script builds executables and installation media for given platform (Debug and Release with debug symbols)
-
Execute
build/src/digidoc-tool.exe
Official builds are provided through official distribution point id.ee. If you want support, you need to be using official builds. Contact our support via www.id.ee for assistance.
Source code is provided on "as is" terms with no warranty (see license for more information). Do not file Github issues with generic support requests.