From 4ad6ed7b0a11ded66eee3d25a1fa4f7411d47dea Mon Sep 17 00:00:00 2001 From: Shane Loretz Date: Fri, 4 Oct 2019 16:05:31 -0700 Subject: [PATCH] Initial readme draft (#2) * Initial readme draft Signed-off-by: Shane Loretz * Add USING section Signed-off-by: Shane Loretz * Make it more clear what definitions do Signed-off-by: Shane Loretz --- README.md | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/README.md b/README.md index e69de29b..ad1d2c49 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,68 @@ +# darknet_vendor + +This is a CMake wrapper around [darknet](https://pjreddie.com/darknet), an open source neural network framework. + +# Building + +``` +cd darknet_vendor/ +mkdir build/ +cd build/ +cmake -DCMAKE_BUILD_TYPE=Release .. +make +``` + +The package offers two CMake options to control how it is built. + +* `DARKNET_CUDA` (default: `On`) - Whether or not to build with CUDA support +* `DARKNET_OPENCV` (default: `On`) - Whether or not to build with OpenCV support + +These can be disabled prior to compiling if you don't need either of those dependencies. + +``` +cmake -DDARKNET_CUDA=Off -DDARKNET_OPENCV=Off .. +``` + +# ROS 2 and Colcon + +The package includes `package.xml` and should build fine using ROS 2 Dashing. + +``` +colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-select darknet_vendor +``` + +# Using darknet + +If you are using `ament_cmake`, use `ament_target_dependencies()` as normal. + +```CMake + +find_package(darknet_vendor REQUIRED) + +#... + +ament_target_dependencies(my_library_or_executable_target + darknet_vendor) +``` + +Otherwise, use the exported target `darknet_vendor::darknet_vendor` + +```CMake +find_package(darknet_vendor REQUIRED) + +#... + +target_link_libraries(my_library_or_executable_target PUBLIC darknet_vendor::darknet_vendor) +``` + +Then include the `darknet.h` header in your project to make darknet functions available. + +```C +#include +``` + +Alternatively, include `darknet_vendor/darknet_vendor.h` to get preprocessor definitions with info about the installed `darknet_vendor` version. + +```C +#include +```