Exposing SMTK for use in external projects

SMTK generates a file named SMTKConfig.cmake that allows other projects to find and use SMTK. This file is installed to $CMAKE_INSTALL_PREFIX/lib/cmake/SMTK/. External projects can add SMTK with

find_package(SMTK)

Then, when building external projects, set CMake’s SMTK_DIR to the directory containing SMTKConfig.cmake. Note that you may point external projects to the top level of an SMTK build directory or an install tree’s lib/cmake/SMTK directory; both contain an SMTKConfig.cmake file suitable for use by external projects. The former is suitable for development, since you may be modifying both SMTK and a project that depends on it — having to re-install SMTK after each change becomes tedious. The latter is suitable for creating packages and distributing software.

If you add a new dependency to SMTK, CMake/smtkConfig.cmake.in (which is used to create SMTKConfig.cmake) should be configured to find the dependent package so that consumers of SMTK have access to it without additional work.

If you add a new option to SMTK, it should be exposed in CMake/Options.h.in.