Add new libraries to the toolkit#

A toolkit library is the external library plus wrapper that follows the interface definition in our framework. The folder structure of a toolkit library should always look like this:

  • README.md

  • .gitignore

  • CMakeLists.txt

  • some source codes

  • external

    • CMakeLists.txt

    • name-version.tar.gz

Rules you must follow#

When we review your pull request for a new toolkit library, we will look into the following things.

README.md#

You must have a README.md file that explain basic things about your code.

Modern cmake#

You must use the modern cmake build system. Notice, it’s not just cmake but you have to use modern cmake.

It is recommended to use the CMake macro provided by us, such as ocp_toolkit, to help you setup a standard library target. Check here for more information of available CMake macros.

The CMakeLists.txt file should create a target following the naming convention of “OCP::toolkit_{toolkit_folder_name}” that linked to the imported target from the external folder. The target should also be linked to the OCP::Interface, and the wrapper functions should follow the interface defined in the framework.

external folder#

The external library must be places in the external folder, and

No source code should be included

You should only include a compress source code following the convention of “name-version.tar.gz” in the external folder

The external folder should contain a CMakeLists.txt file that create an imported target to fulfill all requirements, such as linking libraries, include folders, compiler options, and etc., when using this external library.

It is recommended to use the CMake macro provided by us, such as ocp_toolkit_external, to help you setup a external library target. Check here for more information of available CMake macros.

Things to notice for each toolkit#

Qt#

You need to set the QT_EMAIL and QT_PASSWORD environment variables.

On MacOS, you need to manually click the dmg and install Qt. Here are the steps:

  1. Select Custom installation and set the installation folder to ~/ocp/cache/Qt/5.12.10/install. Then Next

  2. Select Archive and LTS then select 5.12.10