install_dir=/usr/local
build_type=release
prefix_path=/opt/vpp/external/$(uname -m)/
+src_dir="$(dirname "$(readlink -f "$0")")"
help()
{
--help, -h This help
--build-dir, -b Build directory
--install-dir, -i Install directory
- --type, -t Build type (release, debug, ... )
+ --build-type, -t Build type (release, debug, ...)
--wipe, -w Wipe whole repo (except startup.* files)
__EOF__
}
cmake \
-G Ninja \
- -S src \
+ -S ${src_dir}/src \
-B ${build_dir} \
-DCMAKE_PREFIX_PATH=${prefix_path} \
-DCMAKE_INSTALL_PREFIX=${install_dir} \
+ -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=${build_type}
cat << __EOF__
ninja Build VPP
ninja set-build-type-* Change build type to <debug|release|gcov|...>
ninja config Start build configuration TUI
- ninja compdb Generate compile_commands.json
ninja run Runs VPP using startup.conf in the build directory
ninja debug Runs VPP inside GDB using startup.conf in the build directory
ninja pkg-deb Create .deb packages