To build the Fortran shared library directly, use CMake version 3.1
or later. By default, the CMAKE_INSTALL_PREFIX
will install the package into /usr/local/
. For a more temporary install location, -DCMAKE_INSTALL_PREFIX:PATH
can be provided at build time.
$ SRC_DIR="src/fortran/"
$ BUILD_DIR=".../libbezier-release/build"
$ INSTALL_PREFIX=".../libbezier-release/usr"
$ mkdir -p "${BUILD_DIR}"
$ cmake \
> -DCMAKE_BUILD_TYPE=Release \
> -DCMAKE_INSTALL_PREFIX:PATH="${INSTALL_PREFIX}" \
> -S "${SRC_DIR}" \
> -B "${BUILD_DIR}"
$ cmake \
> --build "${BUILD_DIR}" \
> --config Release \
> --target install
Note that this will require having a full checkout of the Fortran source code (in SRC_DIR
).
Once installed, the libbezier
library will come with a shared library for linking and C headers.
libbezier-linux, libbezier-macos, libbezier-windows
import os
import tests.utils
install_prefix = os.environ["BEZIER_INSTALL_PREFIX"] print_tree = tests.utils.print_tree
libbezier-linux
>>> print_tree(install_prefix) usr/ include/ bezier/ curve.h curve_intersection.h helpers.h status.h triangle.h triangle_intersection.h bezier.h lib/ libbezier.so -> libbezier.so.2020 libbezier.so.2020 -> libbezier.so.2020.2.3 libbezier.so.2020.2.3 share/ bezier/ cmake/ BezierConfig-release.cmake BezierConfig.cmake
libbezier-macos
>>> print_tree(install_prefix) usr/ include/ bezier/ curve.h curve_intersection.h helpers.h status.h triangle.h triangle_intersection.h bezier.h lib/ libbezier.2020.2.3.dylib libbezier.2020.dylib -> libbezier.2020.2.3.dylib libbezier.dylib -> libbezier.2020.dylib share/ bezier/ cmake/ BezierConfig-release.cmake BezierConfig.cmake
libbezier-windows
>>> print_tree(install_prefix) usr bin bezier.dll include bezier curve.h curve_intersection.h helpers.h status.h triangle.h triangle_intersection.h bezier.h lib bezier.lib share bezier cmake BezierConfig-release.cmake BezierConfig.cmake