Extending Falcon¶
An extension cannot be build by itself. You will need to rebuild falcon-core while adding your extension local path in the extensions.txt in dev mode. It will automatically build falcon-core as well as your extension.
enable , extension name , extension path , extension version (optional)
dev , your_extension_name , local/path/your/repository
Recap: How to package an extension
Example of an extension structure :
extension_repository :
- processors
- processor_name
- doc.yaml
- processor_name.cpp
- processor_name.hpp
- CMakeList.txt
- datatypes
(similar structure to processors)
- lib
- Lib1
- code
- CMakeList.txt
- Lib2
- CMakeList.txt
- resources
- graphs
- filters
- others folder (can be reach in falcon via its own uri or with resources://folder_name)
- tools
Minimal CMakeList.txt in each extension (lib, processor, datatype) :
add_library( name "name.cpp" )
TARGET_LINK_LIBRARIES( name lib_name )
Note
lib_name could be a lib added in the extension but also already present in the falcon-core or others extensions also present in extensions.txt
Once this is pushed online in a repository, you can remove the dev mode from your build system and install the extension in falcon-core from a specific version (git tag, branch … ) in the same way as the others extensions.
enable , extension name , extension path , extension version (optional)
1 , your_extension_name , https://online/repo/path, version