- Dec 18, 2021
-
-
Jean-Christophe Fillion-Robin authored
This commit does not include any functional changes. It partially reverts 3730f119 (ENH: Model reduction fixed up, toggleable in cmake, default off) by switching back to using the existing "VegaFEM-CMake" project where the master branch has been updated to include all the commit originally associated with the "build_model_reduction" from "vegafemv4.0" project. To avoid inflating the size of the project, the following commits from the "build_model_reduction" available on "vegafemv4.0" have been squashed together while "rebasing" the changes: * ENH: Initial commit of vegaFEMv4.0 code * REFAC: Remove all the extra files that are not code This allows to keep the size to ~22MiB instead of the ~126MiB.
-
- Dec 17, 2021
-
-
Jean-Christophe Fillion-Robin authored
This commit adds support for passing options like the following: * iMSTK_<project-name>_GIT_REPOSITORY * iMSTK_<project-name>_GIT_TAG This approach enables: * Streamline external project maintenance by allowing to develop patches directly in the source checkout downloaded by external project. * Configuring the version of each external projects when integrating iMSTK in custom applications (e.g Slicer-based app). Note that iMSTKData and VTK external projects have not been updated.
-
Jean-Christophe Fillion-Robin authored
-
Jean-Christophe Fillion-Robin authored
After updating the CMake minimum required version to >= 3.15, package export is disabled by default (see policy CMP0090) and explicitly setting option CMAKE_EXPORT_NO_PACKAGE_REGISTRY will not be needed. References: * https://cmake.org/cmake/help/latest/variable/CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY.html#variable:CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY * https://cmake.org/cmake/help/latest/manual/cmake-packages.7.html#disabling-the-package-registry
-
Jean-Christophe Fillion-Robin authored
-
Jean-Christophe Fillion-Robin authored
See https://github.com/oneapi-src/oneTBB/releases/tag/2019_U9 This commit has two purposes: * update the version of TBB to latest version providing the "task_scheduler_init" API deprecated in newer version. * remove the iMSTK specific logic to look up iMSTK and rely on TBB_DIR and associated TBBConfig file. * rename the external project from "tbb" to "TBB" to be consistent with the current naming convention.
-
Jean-Christophe Fillion-Robin authored
If iMSTK_AUDIO_ENABLED is ON: * include SFML external project * define iMSTK_AUDIO_ENABLED macro and require SFML package * require SFML package in iMSTKConfig On windows, if option iMSTK_ENABLE_AUDIO is NOT specified, audio support is enabled and the following message is displayed: -- iMSTK Audio support - ON (default initialization) On windows, if option iMSTK_ENABLE_AUDIO is specified, message like the following is displayed: -- iMSTK Audio support - OFF (iMSTK_ENABLE_AUDIO is SET) And on other platform, the audio support is always disabled and the following message is displated: -- iMSTK Audio support - OFF (not supported)
-
Jean-Christophe Fillion-Robin authored
This will facilitate the maintenance of external projects added to the SlicerIMSTK extension by avoiding the "proj" variable from bring overriden when recursively including external projects.
-
Jean-Christophe Fillion-Robin authored
This ensures external project like the one in the SlicerIMSTK extension will have their project variable value restored after the call to "ExternalProject_Include_Dependencies" returns.
-
Jean-Christophe Fillion-Robin authored
This commit supports settings custom value for <proj>_SOURCE_DIR and <proj>_BINARY_DIR.
-
Jean-Christophe Fillion-Robin authored
This commit ensures the iMSTKConfig file configured in an iMSTK build tree includes PThreads and LIBFTD2XX variables.
-
Jean-Christophe Fillion-Robin authored
This commit fixes a regression introduced in (COMP: Add relevant vars to iMSTKConfig to streamline config against a build-tree), Note that variable for "regular" project are specified. iMSTK specific variables likes <proj>_ROOT_DIR and <proj>_LIB_DIR are not set because the location of the corresponding project is automatically inferred by Find<proj> CMake module provided by iSMTK.
-
Jean-Christophe Fillion-Robin authored
Add variables OpenVR_INCLUDE_DIR and OpenVR_LIBRARY to the CACHE to workaround issue related to use of mark_as_advanced command in FindOpenVR and described in CMP0102. Indeed, this is required because CMP0102 is not automatically set to NEW and addressing this issue would required to update the FindOpenVR modules shipped in the different VTK version iMSTK can be built against. See https://cmake.org/cmake/help/latest/policy/CMP0102.html This commit fixes the following error reported when attempting to configure a project like iMSTKProject (see [1]) against an iMSTK build tree: CMake Error at /path/to/cmake-3.21.4-linux-x86_64/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:230 (message): Could NOT find OpenVR (missing: OpenVR_LIBRARY OpenVR_INCLUDE_DIR) Call Stack (most recent call first): /path/to/cmake-3.21.4-linux-x86_64/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE) /path/to/iMSTK-build/install/lib/cmake/vtk-9.0/FindOpenVR.cmake:45 (find_package_handle_standard_args) /path/to/iMSTK-build/install/lib/cmake/vtk-9.0/VTK-vtk-module-find-packages.cmake:162 (find_package) /path/to/iMSTK-build/install/lib/cmake/vtk-9.0/vtk-config.cmake:131 (include) /path/to/cmake-3.21.4-linux-x86_64/share/cmake-3.21/Modules/CMakeFindDependencyMacro.cmake:47 (find_package) /path/to/iMSTK-build/Innerbuild/iMSTKConfig.cmake:150 (find_dependency) CMakeLists.txt:8 (find_package) [1] https://gitlab.kitware.com/iMSTK/imstkexternalprojecttemplate/-/tree/master/iMSTKProject
-
Jean-Christophe Fillion-Robin authored
This commit fixes the following error: $ ctest -R CodeFormatTest -V [...] test 1 Start 1: CodeFormatTest 1: Test command: /home/jcfr/Projects/iMSTK-build/install/bin/uncrustify "-c" "/home/jcfr/Projects/iMSTK/CMake/Utilities/../../Utilities/Uncrustify/iMSTKUncrustify.cfg" "-F" "/home/jcfr/Projects/iMSTK-build/Innerbuild/Uncrustify.list" "--check" 1: Test timeout computed to be: 1500 1: process_source_list: fopen(/home/jcfr/Projects/iMSTK-build/Innerbuild/Uncrustify.list) failed: No such file or directory (2) 1/1 Test #1: CodeFormatTest ...................***Failed 0.00 sec
-
Jean-Christophe Fillion-Robin authored
This commit fixes a regression introduced in 0ffa63e9 (COMP: Add relevant vars to iMSTKConfig to streamline config against a build-tree) by ensuring REQUIRED parameter passed when finding iMSTK is not passed when looking up vtkRenderingExternal and vtkRenderingOpenVR projects.
-
Jean-Christophe Fillion-Robin authored
-
Jean-Christophe Fillion-Robin authored
Introduce variables Libusb_DLL_DIR, Libusb_DLL_NAME, Libusb_LIB_DIR and Libusb_LIB_NAME for use in application implementing their own external project including the ones provided by iMSTK.
-
Jean-Christophe Fillion-Robin authored
-
Jean-Christophe Fillion-Robin authored
* Use Libusb_PREFIX set in imstk_define_external_dirs and remove Libusb_PREFIX ivar * Remove explicit setting of BINARY_DIR external project argument. It is not relevant since this external project download an archive.
-
Jean-Christophe Fillion-Robin authored
Introduce variables FTD2XX_DLL_DIR, FTD2XX_DLL_NAME, FTD2XX_LIB_DIR and FTD2XX_LIB_NAME for use in application implementing their own external project including the ones provided by iMSTK. It ensures the install subdirectory exists when custom location is specified.
-
Jean-Christophe Fillion-Robin authored
-
Jean-Christophe Fillion-Robin authored
* Use FTD2XX_PREFIX set in imstk_define_external_dirs and remove FTD2XX_PREFIX ivar * Remove explicit setting of BINARY_DIR external project argument. It is not relevant since this external project download an archive.
-
Jean-Christophe Fillion-Robin authored
This commit ensures the iMSTKConfig file configured in an iMSTK build tree includes variables like <proj>_DIR, <proj>_ROOT_DIR, <proj>_LIB_DIR to avoid client project to have to specify these project are internal dependencies of iMSTK. This commit also: * introduces iMSTK_VTK_DEPENDENCIES to avoid duplicating the list of required VTK components in iMSTKConfig. * makes uses find_dependency to properly forward parameter like REQUIRED or QUIET. * ensures variables CMAKE_DEBUG_POSTFIX and CMAKE_MODULE_PATH are restored to there original values after attempting to find the relevant dependencies.
-
Jean-Christophe Fillion-Robin authored
This commit updates the project to specify the install commands responsible to copy file to CMAKE_INSTALL_PREFIX only if *no* custom install directory was specified. It updates the logic to use g3log_INSTALL_DIR instead of CMAKE_INSTALL_PREFIX. It ensures the install subdirectory exists when custom location is specified.
-
Jean-Christophe Fillion-Robin authored
-
Jean-Christophe Fillion-Robin authored
This allows to integrate iMSTK in a project building the required VTK module externally by leveraging VTKExternalModule. See https://github.com/KitwareMedical/VTKExternalModule
-
Jean-Christophe Fillion-Robin authored
-
Jean-Christophe Fillion-Robin authored
-
Jean-Christophe Fillion-Robin authored
Introduce variables OpenVR_DLL_DIR, OpenVR_DLL_NAME, OpenVR_LIB_DIR and OpenVR_LIB_NAME for use in application implementing their own external project including the ones provided by iMSTK.
-
Jean-Christophe Fillion-Robin authored
-
Jean-Christophe Fillion-Robin authored
* Use OpenVR_PREFIX set in imstk_define_external_dirs and remove OPENVR_PREFIX ivar * Remove explicit setting of BINARY_DIR external project argument. It is not relevant since this external project download an archive.
-
Jean-Christophe Fillion-Robin authored
This commit updates the module to conditionally pass the "openvr" include subdirectory specific to the OpenVR install tree generated by the OpenVR external project specific to iMSTK. Configuring iMSTK against an installation of OpenVR specified passing option OpenVR_ROOT_DIR and OpenVR_INC_DIR is now supported.
-
Jean-Christophe Fillion-Robin authored
This commit renames the project so that its name is consistent with VTK established convention providing the vtkRenderingOpenVR module.
-
Jean-Christophe Fillion-Robin authored
-
Jean-Christophe Fillion-Robin authored
Increase robustness to support case when the option has not been declared in application integrating iMSTK and re-using the external projects.
-
Jean-Christophe Fillion-Robin authored
Removes obsolete setting of CMAKE_GENERATOR_* variables in imstk_add_external_project, indeed these variables are now automatically passed to projects from within the updated imstkSolveDependencies CMake module.
-
Jean-Christophe Fillion-Robin authored
-
Jean-Christophe Fillion-Robin authored
This commit updates the build system to follow the established CMake convention. It also allows the use of iMSTK custom find package in the context of external project named after the library being integrated and avoid target name conflicts. References: * Double colon in target name means ALIAS or IMPORTED target. Source: https://cmake.org/cmake/help/latest/policy/CMP0028.html * This convention of double-colons gives CMake a hint that the name is an IMPORTED target when it is used by downstreams with the target_link_libraries() command. This way, CMake can issue a diagnostic if the package providing it has not yet been found. Source: https://cmake.org/cmake/help/latest/manual/cmake-packages.7.html
-
Jean-Christophe Fillion-Robin authored
Similarly to the pair <package>_ROOT_DIR/<package>_LIB_DIR used by "imstk_find_libary", this commit support specifying a custom include subdirectory associated with "imstk_find_header".
-
Jean-Christophe Fillion-Robin authored
This commit removes the requirement for systematically passing <package>_LIB_DIR in addition of <package>_ROOT_DIR by setting <package>_LIB_DIR to "lib" if not already defined.
-