123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- .. _installing:
- Installing open62541
- ====================
- Manual installation
- -------------------
- You can install open62541 using the well known `make install` command.
- This allows you to use pre-built libraries and headers for your own project.
- To override the default installation directory use ``cmake -DCMAKE_INSTALL_PREFIX=/some/path``.
- Based on the SDK Features you selected, as described in :ref:`build_options`, these features will also
- be included in the installation. Thus we recommend to enable as many non-experimental features as possible
- for the installed binary.
- The recommended cmake options for a default installation are:
- .. code-block:: bash
- git submodule update --init --recursive
- mkdir build && cd build
- cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DUA_NAMESPACE_ZERO=FULL ..
- make
- sudo make install
- This will enable the following features in 0.4:
- * Discovery
- * FullNamespace
- * Methods
- * Subscriptions
- The following features are not enabled and can be optionally enabled using the build options as described in :ref:`build_options`:
- * Amalgamation
- * DiscoveryMulticast
- * Encryption
- * Multithreading
- * Subscriptions
- .. important::
- We strongly recommend to not use ``UA_ENABLE_AMALGAMATION=ON`` for your installation. This will only generate a single ``open62541.h`` header file instead of the single header files.
- We encourage our users to use the non-amalgamated version to reduce the header size and simplify dependency management.
- In your own CMake project you can then include the open62541 library using:
- .. code-block:: cmake
- # optionally you can also specify a specific version
- # e.g. find_package(open62541 1.0.0)
- find_package(open62541 REQUIRED COMPONENTS Events FullNamespace)
- add_executable(main main.cpp)
- target_link_libraries(main open62541::open62541)
- A full list of enabled features during build time is stored in the CMake Variable ``open62541_COMPONENTS_ALL``
- Prebuilt packages
- -----------------
- Pack branches
- ^^^^^^^^^^^^^
- Github allows you to download a specific branch as .zip package. Just using this .zip package for open62541 will likely fail:
- * CMake uses ``git describe --tags`` to automatically detect the version string. The .zip package does not include any git information
- * Specific options during the build stack require additional git submodules which are not inlined in the .zip
- Therefore we provide packaging branches. They have the prefix `pack/` and are automatically updated to match the referenced branch.
- Here are some examples:
- * `pack/master.zip <https://github.com/open62541/open62541/archive/pack/master.zip>`_
- * `pack/1.0.zip <https://github.com/open62541/open62541/archive/pack/1.0.zip>`_
- These pack branches have inlined submodules and the version string is hardcoded. If you need to build from source but do not want to use git,
- use these specific pack versions.
- Prebuild binaries
- ^^^^^^^^^^^^^^^^^
- You can always find prebuild binaries for every release on our `Github Release Page <https://github.com/open62541/open62541/releases>`_.
- Nightly single file releases for Linux and Windows of the last 50 commits can be found here: https://open62541.org/releases/
- OS Specific packages
- ^^^^^^^^^^^^^^^^^^^^
- Debian packages can be found in our official PPA:
- * Daily Builds (based on master branch): https://launchpad.net/~open62541-team/+archive/ubuntu/daily
- * Release Builds (starting with Version 0.4): https://launchpad.net/~open62541-team/+archive/ubuntu/ppa
- Install them with:
- .. code-block:: bash
- sudo add-apt-repository ppa:open62541-team/ppa
- sudo apt-get update
- sudo apt-get install libopen62541-dev
|