CMake Reference
tolc_create_bindings
Creates a target that is the library that can be consumed by some other language. The resulting target name is ${TARGET}_${LANGUAGE} (e.g. MyCppLib_python).
Parameters
TARGET
Specifies the target to be translated. By default it will search the PUBLIC/INTERFACE directories for headers to translate. Will link the created target with this input.
LANGUAGE
The language to translate to. Will determine the output format of tolc. Will also determine any dependencies to be downloaded (in the case of python, pybind11 will be downloaded locally to the build directory).
OUTPUT
Determines the output directory for the bindings.
HEADERS
Takes a list of headers relative the current file. Adds headers to be translated. Useful for adding forward declarated templates or together with DO_NOT_SEARCH_TARGET_INCLUDES to declare which part of the public interface to translate.
DO_NOT_SEARCH_TARGET_INCLUDES
Disable searching the public interface of TARGET for header files. This can be used in tandem with HEADERS to only translate a specific part of the public interface.
NO_ANALYTICS
Disable analytics.
Example
tolc_create_bindings(
TARGET MyLib
LANGUAGE python
HEADERS
include/MyLib.hpp
include/myForwardDeclarations.hpp
DO_NOT_SEARCH_TARGET_INCLUDES
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/python-bindings
)