vtkmConfig.h.in 2.19 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
/*=========================================================================

  Program:   Visualization Toolkit
  Module:    ObjectFactory.cxx

  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
  All rights reserved.
  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.

     This software is distributed WITHOUT ANY WARRANTY; without even
     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
     PURPOSE.  See the above copyright notice for more information.

=========================================================================*/
#ifndef vtkmConfig_h
#define vtkmConfig_h

//make sure we use 64bit id's just like vtk
19
#include "vtkType.h"
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
#ifdef VTK_USE_64BIT_IDS
# define VTKM_USE_64BIT_IDS
#endif

/*--------------------------------------------------------------------------*/
/* Other Configuration Options                                              */

/* Determine what types the vtkm policy will need to support for arrays  */
#cmakedefine VTKM_FILTER_INCLUDE_AOS
#cmakedefine VTKM_FILTER_INCLUDE_SOA

#include <vtkm/internal/Configure.h>
#include "vtkAcceleratorsVTKmModule.h" //required for correct implementation


35 36 37 38
/*--------------------------------------------------------------------------*/
/* Support the old exceptions                                               */
#include <vtkm/cont/ArrayHandle.h>
#ifdef vtk_m_cont_ErrorControlBadAllocation_h
39

40 41 42 43 44 45
namespace vtkm {
namespace cont {
using ErrorBadAllocation = ErrorControlBadAllocation;
using ErrorBadValue = ErrorControlBadValue;
}
}
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
#endif


#ifndef VTKACCELERATORSVTKM_TEMPLATE_EXPORT
# if !defined(VTKACCELERATORSVTKM_STATIC_DEFINE) && defined(_MSC_VER)
  /* Warning C4910 on windows state that extern explicit template can't be
     labeled with __declspec(dllexport). So that is why we use a new custom
     define. But when other modules ( e.g. rendering ) include this header
     we need them to see that the extern template is actually being imported.
  */
    /* We are building this library with MSVC */
#   define VTKACCELERATORSVTKM_TEMPLATE_EXPORT
# else
    /* Defer to the config module */
#   define VTKACCELERATORSVTKM_TEMPLATE_EXPORT VTKACCELERATORSVTKM_EXPORT
# endif
#endif


#endif // vtkmConfig_h