vtkSV is a set of VTK-based objects and filters that aid in geometric representation and manipulation. It began as a series of filters that were developed for the software project SimVascular.
👉 SimVascular project page: http://www.simvascular.org
CMake is used as the build and test system for vtkSV, following a very similar format to VTK.
👉 CMake binaries: https://cmake.org/download/
It is recommended to install the CMake command line tools, but it is also possible to use the CMake GUI to configure, generate, and build.
The other dependency of vtkSV is vtk (whoa, what a surprise).
👉 VTK source code: https://github.com/Kitware/VTK
👉 VTK binaries: https://vtk.org/download/
vtkSV uses CMake to configure and include dependencies, so the CMake configure file VTKConfig.cmake will need to be located. If VTK was built from source, the VTKConfig.cmake will be under the build directory.
VTK-source/build-directory/VTKConfig.cmake
If VTK was installed as binaries, the VTKConfig.cmake will be underneath the library directory.
VTK-install-location/lib/cmake/vtk-{vtk_version}/VTKConfig.cmake
Building with default options should be straight forward. Create a build directory, use CMake to configure the project and generate the Makefiles. Then use make to build the project.
mkdir Build
cd Build
ccmake ../ -DVTK_DIR=<Path/to/VTKConfig.cmake>
Press 'c' to configure and then 'g' to generate.
make
make install
Testing is off by default. To turn on:
BUILD_TESTING=ON
To run the unit tests, run
make test
or
ctest
See the ctest documentation to run specific tests and run with different options.
👉 ctest documentation: https://cmake.org/cmake/help/v3.12/manual/ctest.1.html
For some parts of the codebase, executables have been created to easily run and use the code.
Executable scripts are off by default. To turn on:
VTKSV_BUILD_EXES=ON
The executables are placed underneath the bin directory.
All modules are on by default. To turn off:
VTKSV_BUILD_MODULE_{MODULE_NAME}=OFF
NOTE some modules depend on other modules, and you may in turn off other modules if you turn off one of its dependencies. It is easiest to just build all the libraries.