Commit Graph

193 Commits

Author SHA1 Message Date
Vicente Adolfo Bolea Sanchez
bbe36d8c33 cmake: set c++14 as minimum c++ rev
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2021-02-08 17:13:05 +01:00
Li-Ta Lo
ff0b8fd0bb changed to CMake files based on Robert's feedback 2021-01-14 14:23:05 -07:00
Li-Ta Lo
ca0ce4de7b Merge branch 'master' into hdf5_image_io 2021-01-14 14:08:00 -07:00
Li-Ta Lo
1ebcde1d30 add HDF5 include path 2021-01-05 11:10:48 -07:00
Robert Maynard
7897d23c39 Cleanup some minor CMake style issues 2020-12-28 10:36:00 -05:00
Li-Ta Lo
da7d6aaf19 Add HDF5 Image file support 2020-12-25 16:02:08 -07:00
Robert Maynard
2caad9c4af Mark VTKm_NO_ASSERT_HIP as an advanced CMake flag 2020-11-17 12:44:48 -05:00
Robert Maynard
9bd6f3e6da Disable VTKM_ASSERT when using HIP 2020-09-25 11:06:57 -04:00
Robert Maynard
461616a771 Refactor some VTK-m device adapter to be alphabetical 2020-09-24 09:10:03 -04:00
Kenneth Moreland
63ef84ed78 Optionally remove all use of ArrayHandleVirtual
As we remove more and more virtual methods from VTK-m, I expect several
users will be interested in completely removing them from the build for
several reasons.

1. They may be compiling for hardware that does not support virtual
methods.
2. They may need to compile for CUDA but need shared libraries.
3. It should go a bit faster.

To enable this, a CMake option named `VTKm_NO_DEPRECATED_VIRTUAL` is
added. It defaults to `OFF`. But when it is `ON`, none of the code that
both uses virtuals and is deprecated will be built.

Currently, only `ArrayHandleVirtual` is deprecated, so the rest of the
virtual classes will still be built. As we move forward, more will be
removed until all virtual method functionality is removed.
2020-09-04 22:52:45 -06:00
Robert Maynard
96fc02ebca VTK-m when using CMake 3.18 can propagate cuda flags cleanly 2020-08-20 13:12:05 -04:00
Sujin Philip
452f61e290 Add Kokkos backend 2020-08-12 13:55:24 -04:00
Kenneth Moreland
270ba214d5 Disable asserts for CUDA architecture builds
`assert` is supported on recent CUDA cards, but compiling it appears to be
very slow. By default, the `VTKM_ASSERT` macro has been disabled whenever
compiling for a CUDA device (i.e. when `__CUDA_ARCH__` is defined).

Asserts for CUDA devices can be turned back on by turning the
`VTKm_NO_ASSERT_CUDA` CMake variable off. Turning this CMake variable off
will enable assertions in CUDA kernels unless there is another reason
turning off all asserts (such as a release build).
2020-06-22 13:54:22 -06:00
Robert Maynard
7092bb9210 Make sure we don't leak our findmpi module
Consumers of VTK-m shouldn't use VTK-m find mpi module unless
they explicitly want to. This makes sure that by default only
VTK-m uses it.
2020-06-19 11:43:36 -04:00
Sujin Philip
934f085e09 Build diy as a library
Support both mpi and nompi versions simultaneously.
2020-06-08 15:57:51 -05:00
Robert Maynard
565d5a3a2e Remove CMake workarounds for version < 3.12 2020-05-29 17:15:06 -04:00
NAThompson
331b80a783 More understandable VTKm options for symbol visibility. 2020-05-12 16:02:16 -04:00
Robert Maynard
b3924ef302 Add an asan to our gitlab ci suite 2020-04-20 11:26:26 -04:00
Sujin Philip
c102ea556c Update cmake minimum required version to 3.12 2020-04-13 12:42:28 -05:00
Kenneth Moreland
e6f86c2adb Only check sentinel-data if testing is enabled
If testing is not enabled, then we don't need the files in data.
2020-04-02 13:20:29 -06:00
Kenneth Moreland
9ad4ad7214 Add content to sentinel-data
It makes me irrationally nervous to check an empty file as the sentinel
data. Instead, add some text that can be compared agains. Also add some
explenation to the file to prevent naive developers from messing with
the file.
2020-04-02 13:18:57 -06:00
Ben Boeckel
eadc9b8f31 cmake: unset launcers if testing is disabled 2020-04-02 12:45:45 -04:00
James
95ba497bb2 Merge remote-tracking branch 'upstream/master' into Enhance-Testing-From-File 2020-03-24 10:53:06 -04:00
James
f21f99b43c Fixing cmake case. 2020-03-24 10:52:52 -04:00
James
ad47be5a11 Adding ctest check. 2020-03-17 12:25:41 -04:00
Kenneth Moreland
5773ea3e13 Add porting layer for future std features
Currently, VTK-m is using C++11. However, it is often useful to use
features in the `std` namespace that are defined for C++14 or later. We
can provide our own versions (sometimes), but it is preferable to use
the version provided by the compiler if available.

There were already some examples of defining portable versions of C++14
and C++17 classes in a `vtkmstd` namespace, but these were sprinkled
around the source code.

There is now a top level `vtkmstd` directory and in it are header files
that provide portable versions of these future C++ classes. In each
case, preprocessor macros are used to select which version of the class
to use.
2020-03-16 17:12:16 -06:00
James
41f64930cc Fixing file location. 2020-03-13 15:11:58 -04:00
James
9e7ed6fde4 Checking for lfs in testing. 2020-03-13 15:09:24 -04:00
Vicente Adolfo Bolea Sanchez
f6a333a32a add VTKm_NO_INSTALL_README_LICENSE option
By default VTK-m would install its README.md and LICENSE.md.
Some application might need not to install those, hence this option.
2020-02-19 17:14:55 -05:00
Robert Maynard
e6a2089d8e Require CMake 3.12+ for using OpenMP backend 2019-09-18 07:59:32 -04:00
nadavi
d2d98dc5e0 Supply default logging level of INFO for tests 2019-09-11 16:12:18 -06:00
Nick Davis
7562949075 Turned on Logging by default, set to WARNING level 2019-09-11 16:12:18 -06:00
Robert Maynard
0586525b74 Merge topic 'update_cmake_defaults_for_better_experience'
3a47058cb Use cache variables.
76ef9d15b Take advice of Robert and Kenneth on build system.
89fc012a2 Change CMakeLists.txt defaults in order to be more user-friendly.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1771
2019-08-22 12:15:19 -04:00
Robert Maynard
267f963d32 Opt into all CMake 3.15 policies 2019-08-20 15:38:27 -04:00
NAThompson
3a47058cba Use cache variables. 2019-08-13 17:51:56 -04:00
NAThompson
76ef9d15b2 Take advice of Robert and Kenneth on build system. 2019-08-13 17:38:22 -04:00
NAThompson
89fc012a23 Change CMakeLists.txt defaults in order to be more user-friendly. 2019-08-13 11:33:10 -04:00
Robert Maynard
ea50e82aac Move VTK-m CMake testing wrappers to the testing folder
The VTK-m testing infrastructure isn't public facing so it doesn't
need to be installed or clutter the main VTKmWrappers file.

At the same time I have refactored the code to make it clearer
to understand, and remove unused options.
2019-07-09 13:32:23 -04:00
Robert Maynard
74d713c774 Install compilation tests are enabled when examples are disabled
Previously VTK-m only activated the install/compilation tests when
examples had been enabled. This decreased the amount of coverage
on dashboards.
2019-06-24 14:48:01 -04:00
Robert Maynard
fb6235e0e9 VTK-m and DIY now properly export MPI requirements.
Previously an installed version of VTK-m wasn't relocatable as
it had system MPI paths. Additionally the installed vtkm_diy target
would depend on MPI but not `find_package(MPI)`
2019-06-24 14:48:01 -04:00
nadavi
fbcea82e78 conslidate the license statement 2019-04-17 10:57:13 -06:00
Robert Maynard
001d1b0f47 VTK-m can now build and test against temporary installed vtkm.
We now have a couple of the examples also being built against
the installed version of VTK-m as a test. This allow us to verify
that VTK-m installs and can be found properly.
2019-04-03 18:08:56 -04:00
Robert Maynard
0ce7e82d43 VTK-m now enables all new CMake policies in 3.14
This means that we opt-in to policy changes introduced in 3.14
2019-03-26 11:50:06 -04:00
Robert Maynard
4b47a4d92c Remove VTKmCheckSourceInBuild 2019-02-04 12:09:35 -05:00
Robert Maynard
9580b1921e Introduces SourceInInstall which verifies that VTK-m install its headers
Fixes #342
2019-01-29 16:48:35 -05:00
Robert Maynard
f1e1a524e9 Require CMake 3.8 to build VTK-m. 2019-01-09 16:01:22 -05:00
Haocheng LIU
b5e618c980 DynamicAnalysis: Blacklist third party modules and libraries
For use with sanitizer builds.
2018-11-30 13:46:01 -05:00
Ben Boeckel
867aa9438b cmake: place VTKmTargets.cmake beside VTKmConfig.cmake 2018-11-28 17:24:25 -05:00
Allison Vacanti
bd337854ec Initial implementation of general logging.
Addresses #291.
2018-10-02 11:37:55 -04:00
Robert Maynard
41d492e84f The root CMakeLists.txt variable existence logic is all in the same spot 2018-08-21 12:01:22 -04:00