Skip to content
Snippets Groups Projects
  1. Dec 18, 2021
    • Jean-Christophe Fillion-Robin's avatar
    • Jean-Christophe Fillion-Robin's avatar
      COMP: Update OpenHaptics project improving logic initializing OPENHAPTICS_ROOT_DIR · 70406706
      Jean-Christophe Fillion-Robin authored
      Reports messages like the following when OPENHAPTICS_ROOT_DIR is not defined
      and is being initialized based on the OH_SDK_BASE environment variable:
      
        [...]
        -- Checking if OH_SDK_BASE env. variable is defined
        -- Checking if OH_SDK_BASE env. variable is defined - TRUE
        -- Checking if OH_SDK_BASE env. variable is set to existing path
        -- Checking if OH_SDK_BASE env. variable is set to existing path - TRUE
        -- Setting OPENHAPTICS_ROOT_DIR to C:/OpenHaptics/Developer/3.4.0
        -- SuperBuild - First pass - done
        [...]
      70406706
    • Jean-Christophe Fillion-Robin's avatar
    • Jean-Christophe Fillion-Robin's avatar
      COMP: Fix OpenHaptics configuration explicitly setting OpenHaptics_SOURCE_DIR · eac3ef41
      Jean-Christophe Fillion-Robin authored
      This commit works around a regression introduced in 5e3a7f46 (COMP: Support setting
      custom SOURCE_DIR and BINARY_DIR vars) leading to the configuration error
      copied below.
      
      In the case of the OpenHaptics project, this led to always have the value
      of the SOURCE_DIR parameter associated with the "imstk_add_external_project"
      call to be ignored.
      
      Error:
      
        CMake Error at C:/Program Files/CMake/share/cmake-3.20/Modules/ExternalProject.cmake:2847 (message):
          No download info given for 'OpenHaptics' and its source directory:
      
           E:/iMSTKProper/buildWin64/External/OpenHaptics/src
      
          is not an existing non-empty directory.  Please specify one of:
      
           * SOURCE_DIR with an existing non-empty directory
           * DOWNLOAD_COMMAND
           * URL
           * GIT_REPOSITORY
           * SVN_REPOSITORY
           * HG_REPOSITORY
           * CVS_REPOSITORY and CVS_MODULE
        Call Stack (most recent call first):
          C:/Program Files/CMake/share/cmake-3.20/Modules/ExternalProject.cmake:3681 (_ep_add_download_command)
          CMake/Utilities/imstkAddExternalProject.cmake:103 (ExternalProject_add)
          CMake/External/External_OpenHaptics.cmake:40 (imstk_add_external_project)
          CMake/Utilities/imstkSolveDependencies.cmake:868 (include)
          CMake/Utilities/imstkSolveDependencies.cmake:942 (ExternalProject_Include_Dependencies)
          CMake/External/CMakeLists.txt:70 (ExternalProject_Include_Dependencies)
      eac3ef41
    • Jean-Christophe Fillion-Robin's avatar
      COMP: Fix BuildSystem tests ensuring GTest with a config file is looked up · a895703c
      Jean-Christophe Fillion-Robin authored
      Removes the use of NO_DEFAULT_PATH introduced in a709a89b (Cmake updates
      for proper generation of iMSTKConfig.cmake) in favor of CONFIG and consistently
      use CONFIG in both CMakeLists.txt and iMSTKConfig.
      
      Requiring the GTest config file ensures the configuration succeeds by
      preventing the FindGTest module provided by CMake from being used.
      
      Removing the use of NO_DEFAULT_PATH allows to build iMSTK against a system
      version of GTest (starting with Ubuntu 21.04 released in April 2021, the
      libgtest-dev package includes GTestConfig.cmake)
      a895703c
    • Jean-Christophe Fillion-Robin's avatar
    • Andrew Wilson's avatar
    • Jean-Christophe Fillion-Robin's avatar
      COMP: Restore support for building against C++11 specifying CMAKE_CXX_STANDARD · 92e445df
      Jean-Christophe Fillion-Robin authored
      Note that the option CMAKE_CXX_STANDARD is already passed to all
      external projects.
      
      This commit partially reverts a543c7d6 (Update C++ to 14) restoring
      support for building against C++11.
      
      Implementation of std::make_unique only available with c++14 was originally
      introduced in afe976dc (COMP: Clear compilation errors with gcc) and later
      moved into imstkMath.h in 60570195 (BUG: Clear compilation errors on Ubuntu)
      92e445df
    • Jean-Christophe Fillion-Robin's avatar
      COMP: Fix windows build ensuring "gtest_discover_tests" can load all TBB shared libraries · 2f2676ed
      Jean-Christophe Fillion-Robin authored
      This commit fixes a regression introduced in commit (COMP: Streamline
      client project integration updating TBB from 2019_U2 to 2019_U9) requiring
      the TBB libraries to be organized with directories satisfying the provided
      TBBConfig.cmake.
      
      To also accommodate "gtest_discover_tests", the shared libraries are also
      copied into the "bin" directory.
      2f2676ed
    • Jean-Christophe Fillion-Robin's avatar
      COMP: Update imstkSolveDependencies module based on commontk/Artichoke@edfc828 · 17d0c63d
      Jean-Christophe Fillion-Robin authored
      This commit backports changes associated with commontk/Artichoke PR-37
      See https://github.com/commontk/Artichoke/pull/37
      
      It ensures ``User Package Registry`` look up using ``find_*`` commands
      is disabled.
      
      List of changes:
      
      $ git shortlog 4176c39f9..edfc828 --no-merges
      Jean-Christophe Fillion-Robin (3):
            ExternalProjectDependency: Fix variable type of automatically propagated options
            circleci: Use dockbuild/centos7-devtoolset7-gcc7 instead of dockbuild/centos6
            ExternalProjectDependency: Ensure ``User Package Registry`` look up using ``find_*`` commands is disabled
      17d0c63d
    • Jean-Christophe Fillion-Robin's avatar
      COMP: Fix iMSTK integration updating VegaFEM and removing obsolete PThreads project · 6bf0192c
      Jean-Christophe Fillion-Robin authored
      Considering that in VegaFEM v4.0, pthreads was replaced with
      Intel TBB (see [1]), this commit removes the references to "pthread" and
      also removes the corresponding custom CMake module.
      
      [1] http://barbic.usc.edu/vega/download.html
      
      It also fixes error like the following reported when integrating iMSTK in
      project (e.g Slicer-based app) already looking up threading libraries
      using "FindThreads" module provided by CMake:
      
         -- Found PThreads: C:/path/to/SlicerCustomApp-build/PThreads-install/include/pthread
          CMake Error at C:/path/to/SlicerCustomApp-build/iMSTK/CMake/Utilities/imstkFind.cmake:214 (add_library):
            add_library cannot create imported target "Threads::Threads" because
            another target with the same name already exists.
          Call Stack (most recent call first):
            C:/path/to/SlicerCustomApp-build/iMSTK/CMake/FindPThreads.cmake:8 (imstk_find_package)
            C:/path/to/SlicerCustomApp-build/VegaFEM-install/lib/cmake/VegaFEM/VegaFEMConfig.cmake:8 (find_package)
            C:/path/to/SlicerCustomApp-build/CTK/CMake/CMakeFindDependencyMacro.cmake:90 (find_package)
            C:/path/to/SlicerCustomApp-build/imstk-build/iMSTKConfig.cmake:144 (find_dependency)
            C:/path/to/SlicerCustomApp/Modules/CLI/MyCLI/CMakeLists.txt:33 (find_package)
      
      List of VegaFEM changes:
      
      $ git shortlog be55ca42b..b10672cf1 --no-merges
      Jean-Christophe Fillion-Robin (1):
            COMP: Remove obsolete and unused PThreads requirement
      6bf0192c
    • Jean-Christophe Fillion-Robin's avatar
      COMP: Update VegaFEM to fix gcc 5.x build error in sparseMatrix.cpp · 9e526df7
      Jean-Christophe Fillion-Robin authored
      List of changes:
      
      $ git shortlog 5be652501..be55ca42b --no-merges
      Jean-Christophe Fillion-Robin (1):
            COMP: Fix gcc 5.x build error in sparseMatrix.cpp related to ambiguous isnan call
      9e526df7
    • Jean-Christophe Fillion-Robin's avatar
      COMP: Update external project to use "VegaFEM-CMake" instead of "vegafemv4.0" · 601642f1
      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.
      601642f1
  2. Dec 17, 2021
Loading