Skip to content
Snippets Groups Projects
  1. Jan 17, 2025
    • Jaswant Panchumarti (Kitware)'s avatar
      Add option for exception catching in wasm · ae0b2286
      Jaswant Panchumarti (Kitware) authored
      - Adds `VTK_WEBASSEMBLY_EXCEPTIONS` cmake setting to
          enable exceptions at compile+link time with `-fexceptions`.
      - This setting will allow the C++ unit tests to print additional stack traces
          when an uncaught exception is thrown, at the expense of greater binary size and slower execution.
      - The `ENABLE_EXCEPTION_CATCHING` option requires a list of functions from which exceptions may be thrown.
          This commit allows all functions to throw exception catching with `DISABLE_EXCEPTION_CATCHING=0`
          as we cannot know all possible functions that could throw exceptions.
      ae0b2286
  2. Jan 16, 2025
  3. Jul 02, 2024
  4. May 04, 2024
  5. Apr 18, 2024
  6. Mar 19, 2024
  7. Mar 08, 2024
  8. Nov 15, 2021
  9. Feb 27, 2021
  10. Apr 15, 2020
  11. Apr 01, 2020
  12. Jan 08, 2019
  13. Jun 19, 2018
    • Brad King's avatar
      cmake: declare support for CMake versions through 3.12 · c36289f1
      Brad King authored
      CMake 3.12 introduces a `...<max>` syntax in the version given to
      `cmake_minimum_required` to automatically set policies to NEW up
      to that version.  Use it to avoid listing policies explicitly.
      
      The syntax is compatible with older versions of CMake such that they use
      the extended version string for the `CMAKE_MINIMUM_REQUIRED_VERSION`
      variable (which we don't use) but otherwise ignore it.
      c36289f1
  14. Nov 28, 2017
  15. Oct 24, 2017
    • Jean-Christophe Fillion-Robin's avatar
      Testing/External: Update CMake minimum required version to match VTK · 3c6557e9
      Jean-Christophe Fillion-Robin authored
      This commit also addresses warning like the following:
      
        CMake Warning (dev) at /path/to/VTK/CMake/vtkModuleMacros.cmake:94 (elseif):
          Policy CMP0054 is not set: Only interpret if() arguments as variables or
          keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
          details.  Use the cmake_policy command to set the policy and suppress this
          warning.
      
          Quoted variables like "DEPENDS" will no longer be dereferenced when the
          policy is set to NEW.  Since the policy is not set the OLD behavior will be
          used.
        Call Stack (most recent call first):
          /path/to/VTK/Rendering/Volume/module.cmake:1 (vtk_module)
          /path/to/VTK/CMake/vtkModuleMacros.cmake:431 (include)
          /path/to/VTK/CMake/vtkModuleMacros.cmake:639 (vtk_module_test)
          /path/to/VTK/CMake/vtkTestingMacros.cmake:357 (vtk_module_test_executable)
          /path/to/VTK/Rendering/Volume/Testing/Cxx/CMakeLists.txt:116 (vtk_test_cxx_executable)
        This warning is for project developers.  Use -Wno-dev to suppress it.
      3c6557e9
  16. Mar 22, 2016
  17. Mar 08, 2016
  18. Jun 23, 2014
  19. Apr 25, 2014
    • Brad King's avatar
      Set MACOSX_RPATH property default consistently across CMake versions · cd0b6e68
      Brad King authored
      The MACOSX_RPATH target property was introduced in CMake 2.8.12, but we
      currently allow CMake 2.8.8.  Set CMAKE_MACOSX_RPATH to 0 by default
      so that we get consistent behavior across all versions of CMake.
      Leave a comment explaining when the default should be updated.
      
      Now that we set a MACOSX_RPATH default explicitly, we no longer need to
      set CMake Policy CMP0042 as was added in commit 2ad9f474 (Set CMake
      Policies CMP0025 and CMP0042 as necessary, 2014-03-11), so remove it.
      
      Change-Id: I8af24a728379176b9e7ab933206eaa956e1c60f2
      cd0b6e68
  20. Mar 11, 2014
    • Brad King's avatar
      Set CMake Policies CMP0025 and CMP0042 as necessary · 2ad9f474
      Brad King authored
      CMake 3.0 introduces these policies to improve default behavior on OS X.
      Set them explicitly in VTK to avoid policy warnings.  VTK already works
      with the NEW behavior.
      
      Policy CMP0025 affects the project() command when the Apple Clang
      compiler is used so we need to set it in all the Examples.  Policy
      CMP0042 affects shared libraries on OS X, enabling MACOSX_RPATH by
      default.  Set it in directories where we create libraries.  Also tell
      KWSys to enable MACOSX_RPATH explicitly instead of setting the policy.
      
      Change-Id: I543b60ee1b8f629adb150e01ee83d99dddb66f46
      2ad9f474
    • Brad King's avatar
      Refactor top-level CMake Policy settings as loop · 59836055
      Brad King authored
      Use a loop in the top-level CMakeLists.txt file to set policies, and
      comment each item with the version of CMake that introduced it.
      Also do this in Testing/External/CMakeLists.txt since that is used
      as the top-level source tree for building tests externally.
      
      Change-Id: Ic4f0fab6f23d1409ad1140617292f2751896540f
      59836055
  21. Sep 11, 2013
    • Brad King's avatar
      COMP: Set CMake Policy CMP0022 to NEW · 6383648d
      Brad King authored
      Since commit ed6c07d0 (Cleanup CMP0022 and CMP0023 warnings, 2013-08-19)
      VTK uses target_link_libraries signatures to set the link interface
      without direct manipulation of the old LINK_INTERFACE_LIBRARIES
      property.  Set CMP0022 to NEW to avoid warnings about differences due to
      generator expressions in INTERFACE_LINK_LIBRARIES, known to be safe.
      
      Change-Id: I0afe5e316846e7883e3d6cb50a1dfa9bad0f6426
      6383648d
  22. Jun 04, 2013
    • Brad King's avatar
      Convert VTKData test inputs to ExternalData content links · 3797f83d
      Brad King authored
      Add to the Testing/Data directory ExternalData content links mirroring
      the content and layout we use from the VTKData/Data directory.
      
      Add a CMake/vtkLegacyData.cmake module, included from CMakeLists.txt and
      Testing/External/CMakeLists.txt, to call ExternalData_Expand_Arguments
      for all data directories added from VTKData/Data.  This will bulk-fetch
      all test input data currently used by tests of any module, enabled or
      not.  We can make the DATA{} references more granular later.
      
      Add a VTK_TEST_DATA_DIR variable to refer to the directory we tell the
      ExternalData module to populate the real data files.  Replace references
      to VTK_DATA_ROOT in test command lines (after -D) with references to
      VTK_TEST_DATA_DIR.  Drop the VTK_DATA_ROOT CMake option and stop using
      the VTKData repository.
      
      Remove the TESTING_DATA option from the vtk_add_test_cxx API and remove
      the VTK_DATA_ROOT option from the vtk_add_test_mpi API since all test
      input data are now handled through ExternalData and Testing/Data content
      links.
      
      Change-Id: Id02490b76ea2e161b9038188264a4830485039d8
      3797f83d
  23. May 24, 2013
    • Brad King's avatar
      Convert VTKLargeData test inputs to ExternalData content links · 4fbc3a0d
      Brad King authored
      Add a Testing/Data directory with ExternalData content links mirroring
      the content and layout we use from the VTKLargeData/Data directory.
      Add a VTK_USE_LARGE_DATA option to enable tests using such data.
      
      Call ExternalData_Expand_Arguments in */*/Testing/Cxx/CMakeLists.txt for
      tests that reference these data files in order to tell the ExternalData
      module to populate a ExternalData/Testing/Data directory in the build
      tree.  Pass the ExternalData/Testing directory in the build tree as the
      "-D" data directory option to tests using these data so that they can
      find the files where ExternalData puts them at build time.
      
      In the vtk_add_test_* API replace the LARGE_DATA options with a new
      TESTING_DATA option to indicate that a test uses the directory
      ExternalData/Testing/Data populated by ExternalData from the
      Testing/Data source directory.
      
      Drop VTK_LARGE_DATA_ROOT and stop using the VTKLargeData repository.
      Drop references to VTKLargeData from test source comments.
      
      Change-Id: Iaaf36293a840e65d6c171ae69b5c99db4c61443e
      4fbc3a0d
  24. May 21, 2013
    • Brad King's avatar
      Teach Testing/External to use ExternalData · d0550e61
      Brad King authored
      Configure the ExternalData_SOURCE_ROOT to use the top of the VTK source
      tree.  Add the VTKData target to prepare referenced data when building
      the tests.  This completes the Testing/External changes started by
      commit 43f0b283 (Add ExternalData infrastructure, 2013-05-06).
      
      Change-Id: Icb16a5420ae895a1d85c0a9eb253bbc3ed2897b9
      d0550e61
  25. May 06, 2013
    • Brad King's avatar
      Add ExternalData infrastructure · 43f0b283
      Brad King authored
      Port the ExternalData configuration from ITK 'master' as of 2013-05-06.
      
      Add a CMake/vtkExternalData.cmake module to include and configure the
      ExternalData module for VTK.  List MIDAS and vtk.org URLs.
      
      Include vtkExternalData from the top-level CMakeLists.txt file and from
      Testing/External/CMakeLists.txt so it works for both the main build and
      when building tests externally.
      
      Teach the VTK pre-commit hook to move staged .ExternalData_MD5_* files
      left by the ExternalData module into the store at the top of the source
      tree as .ExternalData/MD5/* and import them into Git as refs/data/MD5/*.
      Teach the VTK git-gerrit-push alias to push content from refs/data/MD5/*
      when commits referencing it are pushed to Gerrit.
      
      Add a .gitignore to tell Git to ignore .ExternalData* names.
      
      Change-Id: I8c0a91cb3ce350450e378e4f16a23c62e7f2de6f
      43f0b283
  26. Feb 21, 2013
    • Nikhil Shetty's avatar
      Adding support to use MPI based tests in Testing/External · 94d2cd0a
      Nikhil Shetty authored
      There were a bunch of MPI tests failing when tests were built using
      Testing/External. This was because MPI support was not brought in.
      
      In VTK this support was brought in throught code in
      Parallel/MPI/CMakeLists.txt. and since vtkMPIParallel was the root
      modules for all MPI based modules it ensured that the environment was
      brought in for every MPI based modules.
      
      The MPI testing support logic was separated into another file named
      vtkTestingMPISupport.cmake which was included at appropriate locations.
      
      Change-Id: I2fa4cb023b77eb9aeb5c818e3625263b616ca42b
      94d2cd0a
  27. Feb 14, 2013
    • Brad King's avatar
      COMP: In Testing/External skip tests with missing dependencies · 2198e75b
      Brad King authored
      Since commit 526bfcf3 (Don't enable modules needed only for tests,
      2012-07-12) the VTK_BUILD_ALL_MODULES_FOR_TESTS may prevent all test
      module dependencies from being satisfied and skip those tests when
      building VTK.  This breaks Testing/External builds when test module
      dependencies are not available.
      
      Teach Testing/External to check the dependencies of test modules and
      skip those whose dependencies are not all enabled.
      
      Change-Id: I84973eb0a2a1a77a73ee30bdbe6933553a4706fc
      2198e75b
  28. Feb 13, 2013
    • Brad King's avatar
      COMP: Load test macros in Testing/External project · 53a1d39e
      Brad King authored
      The Testing/External directory was added by commit 4f3b5222 (Create project to
      build VTK module tests as an application, 2012-04-10) in order to build the
      module test directories from the VTK source tree as if they were an outside
      application using an installed VTK.  It loads the testing infrastructure from
      the source tree but otherwise acts as a separate application and gets
      everything else from the VTK package configuration file (VTKConfig).
      
      Later commit b9293d04 (Implement add_test_mpi macro, 2012-07-25) added some
      test infrastructure to the source tree but did not load it from
      Testing/External.  This would have broken Testing/External except that before
      the commit was merged, commit 341ea97e (Making sure that the TestingExternal
      projects can be build with install tree, 2012-08-29) was added to make it work
      by exposing the test infrastructure through the VTK installation.  The two
      commits were merged together in one topic by commit 4d15a6c6 (Merge topic
      'Cxx-Tests' into master, 2012-08-30).
      
      However, the fix for Testing/External was not correct because it added a
      dependency on the VTK source tree into the install tree.  We reverted the fix
      in commit bf3c1599 (Revert "Making sure that the TestingExternal projects can
      be build with install tree", 2013-02-06) and thus re-exposed the original
      Testing/External problem after the introduction of the add_test_mpi macro.
      
      Fix the original problem by directly including the vtkTestingMacros module in
      the Testing/External project.  This makes the add_test_mpi macro available to
      the tests that use it without affecting the VTK CMake API seen by normal
      applications.
      
      Change-Id: I0dab1c017f283b2cba74fd1422458b5651353bf5
      53a1d39e
  29. Apr 10, 2012
    • Brad King's avatar
      Create project to build VTK module tests as an application · 4f3b5222
      Brad King authored
      Add a "VTKTestExternal" project that builds all VTK module test
      directories as a single application outside of the main VTK build.
      It may build against a VTK build tree or a VTK install tree.  This
      will ensure that VTK presents in its public interface everything that
      we test, thus ensuring that everything is available to applications.
      
      Change-Id: I1f46ad5408529eb99d292682a046d4ea659b8033
      4f3b5222
Loading