diff --git a/Common/Core/vtkABINamespace.h.in b/Common/Core/vtkABINamespace.h.in index cbfe9ea40d8dcd7ee7ac1decd55a1ba49eed9c42..9e69e5e59d1bd19aefa71ae5f5a048484f4103ee 100644 --- a/Common/Core/vtkABINamespace.h.in +++ b/Common/Core/vtkABINamespace.h.in @@ -5,8 +5,13 @@ #cmakedefine01 VTK_HAS_ABI_NAMESPACE -#ifndef VTK_NO_ABI_NAMESPACE +#if !defined(VTK_NO_ABI_NAMESPACE) && VTK_HAS_ABI_NAMESPACE +// NOTE: VTK_ABI_NAMESPACE_NAME is only characters [a-zA-Z0-9_]+, so it is safe +// to use in the MANGLE macro beneath. We use the VTK_ABI_NAMESPACE_MANGLE to +// mangle C symbols coming from VTK (e.g., extern "C" { void some_func(); }). #define VTK_ABI_NAMESPACE_NAME @VTK_ABI_NAMESPACE_NAME@ +#define VTK_ABI_NAMESPACE_MANGLE(x) @VTK_ABI_NAMESPACE_NAME@_##x + #if defined(__cplusplus) #define VTK_ABI_NAMESPACE_BEGIN @VTK_ABI_NAMESPACE_BEGIN@ #define VTK_ABI_NAMESPACE_END @VTK_ABI_NAMESPACE_END@ @@ -14,6 +19,13 @@ #define VTK_ABI_NAMESPACE_BEGIN #define VTK_ABI_NAMESPACE_END #endif + +#else + +#define VTK_ABI_NAMESPACE_MANGLE(x) x +#define VTK_ABI_NAMESPACE_BEGIN +#define VTK_ABI_NAMESPACE_END + #endif // VTK_NO_ABI_NAMESPACE #endif // vtkABINamespace_h diff --git a/Common/Core/vtkFloatingPointExceptions.cxx b/Common/Core/vtkFloatingPointExceptions.cxx index 78e79b53aedeb4f8fcb1b75d61871266d9d5e066..dc19319e2cade5024d69883599c82e82df4e2932 100644 --- a/Common/Core/vtkFloatingPointExceptions.cxx +++ b/Common/Core/vtkFloatingPointExceptions.cxx @@ -17,11 +17,8 @@ #endif #if defined(VTK_USE_FENV) -//------------------------------------------------------------------------------ -// Signal handler for floating point exceptions in anonymous namespace -namespace -{ +#define signal_handler VTK_ABI_NAMESPACE_MANGLE(signal_handler) extern "C" void signal_handler(int signal) { // NOLINTNEXTLINE(bugprone-signal-handler) @@ -31,7 +28,6 @@ extern "C" void signal_handler(int signal) abort(); } -} // End anonymous namespace #endif //------------------------------------------------------------------------------ diff --git a/Common/Core/vtkVersion.cxx b/Common/Core/vtkVersion.cxx index eabe2d870a457e39d59b91105abd379663e203f3..872b19c200c2383c2ecdc84348e8eb46ea444c10 100644 --- a/Common/Core/vtkVersion.cxx +++ b/Common/Core/vtkVersion.cxx @@ -19,8 +19,9 @@ const char* vtkVersion::GetVTKVersionFull() return VTK_VERSION_FULL; } -const char* GetVTKVersion() +VTK_ABI_NAMESPACE_END + +extern "C" { - return vtkVersion::GetVTKVersion(); + const char* VTK_ABI_NAMESPACE_MANGLE(GetVTKVersion)() { return vtkVersion::GetVTKVersion(); } } -VTK_ABI_NAMESPACE_END diff --git a/Common/Core/vtkVersion.h b/Common/Core/vtkVersion.h index 279d5dad26f204a435835e5973aa8105b572f097..75b1acac102823785581c9b2b8cdd4675139f351 100644 --- a/Common/Core/vtkVersion.h +++ b/Common/Core/vtkVersion.h @@ -19,6 +19,8 @@ #include "vtkObject.h" #include "vtkVersionMacros.h" // For version macros +#define GetVTKVersion VTK_ABI_NAMESPACE_MANGLE(GetVTKVersion) + VTK_ABI_NAMESPACE_BEGIN class VTKCOMMONCORE_EXPORT vtkVersion : public vtkObject { @@ -48,10 +50,11 @@ private: void operator=(const vtkVersion&) = delete; }; +VTK_ABI_NAMESPACE_END + extern "C" { VTKCOMMONCORE_EXPORT const char* GetVTKVersion(); } -VTK_ABI_NAMESPACE_END #endif diff --git a/Common/DataModel/vtkAbstractCellArray.cxx b/Common/DataModel/vtkAbstractCellArray.cxx index d83cf9106686e54e205b71af26f27e6f37c4a874..2008372a4c90ca47c0c3a31c65f27a89f57e4f1d 100644 --- a/Common/DataModel/vtkAbstractCellArray.cxx +++ b/Common/DataModel/vtkAbstractCellArray.cxx @@ -5,6 +5,7 @@ #include "vtkIdList.h" VTK_ABI_NAMESPACE_BEGIN + //------------------------------------------------------------------------------ vtkAbstractCellArray::vtkAbstractCellArray() = default; @@ -23,3 +24,5 @@ void vtkAbstractCellArray::GetCellAtId(vtkIdType cellId, vtkIdType& cellSize, { this->GetCellAtId(cellId, cellSize, cellPoints, this->TempCell); } + +VTK_ABI_NAMESPACE_END diff --git a/Common/Misc/vtkResourceFileLocator.h b/Common/Misc/vtkResourceFileLocator.h index 650ba00d75e115603ecea1da0f1a06dd704c89e2..5b7b50fa669b04ff7b5688d43b12c2d60fbe8e2f 100644 --- a/Common/Misc/vtkResourceFileLocator.h +++ b/Common/Misc/vtkResourceFileLocator.h @@ -91,12 +91,20 @@ private: int LogVerbosity; }; +// Wrap the input as an argument, this will force expansion +// if the input is a macro itself +#define _vtkGetSymbolNameAsString(x) _vtkGetSymbolNameAsString_I((x)) +// Unwrap the expanded input +#define _vtkGetSymbolNameAsString_I(x) _vtkGetSymbolNameAsString_II x +// Stringify the epanded contents +#define _vtkGetSymbolNameAsString_II(...) #__VA_ARGS__ + #if defined(_WIN32) && !defined(__CYGWIN__) #define vtkGetLibraryPathForSymbol(function) \ vtkResourceFileLocator::GetLibraryPathForSymbolWin32(reinterpret_cast<const void*>(&function)) #else #define vtkGetLibraryPathForSymbol(function) \ - vtkResourceFileLocator::GetLibraryPathForSymbolUnix(#function) + vtkResourceFileLocator::GetLibraryPathForSymbolUnix(_vtkGetSymbolNameAsString(function)) #endif VTK_ABI_NAMESPACE_END diff --git a/IO/Engys/vtkBTSReader.cxx b/IO/Engys/vtkBTSReader.cxx index f5b8abd056a016ded27c10231c046e2520c8bdd6..03eebb26bddcb10bc446e274220137ce76fef8a3 100644 --- a/IO/Engys/vtkBTSReader.cxx +++ b/IO/Engys/vtkBTSReader.cxx @@ -18,6 +18,8 @@ #include <sstream> #include <string> +VTK_ABI_NAMESPACE_BEGIN + static constexpr char BTS_HEADER[] = "ENGYS binary surface format"; vtkStandardNewMacro(vtkBTSReader); @@ -407,3 +409,5 @@ vtkResourceStream* vtkBTSReader::GetStream() { return this->Stream; } + +VTK_ABI_NAMESPACE_END diff --git a/IO/XML/vtkXMLWriterC.cxx b/IO/XML/vtkXMLWriterC.cxx index e45d9c58ca17f7aa1f6dbb005f5e0876ab857d52..12b8f949b8e336cd61af2444380c5b3521c9db0c 100644 --- a/IO/XML/vtkXMLWriterC.cxx +++ b/IO/XML/vtkXMLWriterC.cxx @@ -24,16 +24,19 @@ // Function to allocate a vtkDataArray and point it at the given data. // The data are not copied. +#define vtkXMLWriterC_NewDataArray VTK_ABI_NAMESPACE_MANGLE(vtkXMLWriterC_NewDataArray) static vtkSmartPointer<vtkDataArray> vtkXMLWriterC_NewDataArray(const char* method, const char* name, int dataType, void* data, vtkIdType numTuples, int numComponents); // Function to allocate a vtkCellArray and point it at the given // cells. The cells are not copied. +#define vtkXMLWriterC_NewCellArray VTK_ABI_NAMESPACE_MANGLE(vtkXMLWriterC_NewCellArray) static vtkSmartPointer<vtkCellArray> vtkXMLWriterC_NewCellArray( const char* method, vtkIdType ncells, vtkIdType* cells, vtkIdType cellsSize); // Function to implement vtkXMLWriterC_SetPointData and // vtkXMLWriterC_SetCellData without duplicate code. +#define vtkXMLWriterC_SetDataInternal VTK_ABI_NAMESPACE_MANGLE(vtkXMLWriterC_SetDataInternal) static void vtkXMLWriterC_SetDataInternal(vtkXMLWriterC* self, const char* name, int dataType, void* data, vtkIdType numTuples, int numComponents, const char* role, const char* method, int isPoints); diff --git a/IO/XML/vtkXMLWriterC.h b/IO/XML/vtkXMLWriterC.h index ab9cb8960204acfb20459ebe29582214b306bda1..28aaad10f2ea1a9feb72cc79a5b9add12d098e4c 100644 --- a/IO/XML/vtkXMLWriterC.h +++ b/IO/XML/vtkXMLWriterC.h @@ -21,6 +21,7 @@ extern "C" * Create a new instance of vtkXMLWriterC. Returns the object or nullptr * on failure. */ +#define vtkXMLWriterC_New VTK_ABI_NAMESPACE_MANGLE(vtkXMLWriterC_New) VTKIOXML_EXPORT vtkXMLWriterC* vtkXMLWriterC_New(void); @@ -29,6 +30,7 @@ extern "C" * * This should not be called between Start and Stop calls. */ +#define vtkXMLWriterC_Delete VTK_ABI_NAMESPACE_MANGLE(vtkXMLWriterC_Delete) VTKIOXML_EXPORT void vtkXMLWriterC_Delete(vtkXMLWriterC* self); @@ -39,6 +41,7 @@ extern "C" * This must be set before setting geometry or data information can * can be set only once per writer object. */ +#define vtkXMLWriterC_SetDataObjectType VTK_ABI_NAMESPACE_MANGLE(vtkXMLWriterC_SetDataObjectType) VTKIOXML_EXPORT void vtkXMLWriterC_SetDataObjectType(vtkXMLWriterC* self, int objType); @@ -50,6 +53,7 @@ extern "C" * * This may be used only after SetDataObjectType has been called. */ +#define vtkXMLWriterC_SetDataModeType VTK_ABI_NAMESPACE_MANGLE(vtkXMLWriterC_SetDataModeType) VTKIOXML_EXPORT void vtkXMLWriterC_SetDataModeType(vtkXMLWriterC* self, int datamodetype); @@ -59,6 +63,7 @@ extern "C" * This may be used only after SetDataObjectType has been called with * a structured data object type. */ +#define vtkXMLWriterC_SetExtent VTK_ABI_NAMESPACE_MANGLE(vtkXMLWriterC_SetExtent) VTKIOXML_EXPORT void vtkXMLWriterC_SetExtent(vtkXMLWriterC* self, int extent[6]); @@ -74,6 +79,7 @@ extern "C" * not be called before SetDataObjectType or between Start and Stop * calls. */ +#define vtkXMLWriterC_SetPoints VTK_ABI_NAMESPACE_MANGLE(vtkXMLWriterC_SetPoints) VTKIOXML_EXPORT void vtkXMLWriterC_SetPoints(vtkXMLWriterC* self, int dataType, void* data, vtkIdType numPoints); @@ -83,6 +89,7 @@ extern "C" * This may only be used for image data. It may not be called before * SetDataObjectType or between Start and Stop calls. */ +#define vtkXMLWriterC_SetOrigin VTK_ABI_NAMESPACE_MANGLE(vtkXMLWriterC_SetOrigin) VTKIOXML_EXPORT void vtkXMLWriterC_SetOrigin(vtkXMLWriterC* self, double origin[3]); @@ -92,6 +99,7 @@ extern "C" * This may only be used for image data. It may not be called before * SetDataObjectType or between Start and Stop calls. */ +#define vtkXMLWriterC_SetSpacing VTK_ABI_NAMESPACE_MANGLE(vtkXMLWriterC_SetSpacing) VTKIOXML_EXPORT void vtkXMLWriterC_SetSpacing(vtkXMLWriterC* self, double spacing[3]); @@ -107,6 +115,7 @@ extern "C" * This may only be used for rectilinear grids. It may not be called * before SetDataObjectType or between Start and Stop calls. */ +#define vtkXMLWriterC_SetCoordinates VTK_ABI_NAMESPACE_MANGLE(vtkXMLWriterC_SetCoordinates) VTKIOXML_EXPORT void vtkXMLWriterC_SetCoordinates( vtkXMLWriterC* self, int axis, int dataType, void* data, vtkIdType numCoordinates); @@ -130,6 +139,7 @@ extern "C" * types. It may not be called before SetDataObjectType or between * Start and Stop calls. */ +#define vtkXMLWriterC_SetCellsWithType VTK_ABI_NAMESPACE_MANGLE(vtkXMLWriterC_SetCellsWithType) VTKIOXML_EXPORT void vtkXMLWriterC_SetCellsWithType( vtkXMLWriterC* self, int cellType, vtkIdType ncells, vtkIdType* cells, vtkIdType cellsSize); @@ -148,6 +158,7 @@ extern "C" * not be called before SetDataObjectType or between Start and Stop * calls. */ +#define vtkXMLWriterC_SetCellsWithTypes VTK_ABI_NAMESPACE_MANGLE(vtkXMLWriterC_SetCellsWithTypes) VTKIOXML_EXPORT void vtkXMLWriterC_SetCellsWithTypes( vtkXMLWriterC* self, int* cellTypes, vtkIdType ncells, vtkIdType* cells, vtkIdType cellsSize); @@ -175,9 +186,12 @@ extern "C" * This may be used for all data types. It may not be called before * SetDataObjectType but may be called between Start and Stop calls. */ +#define vtkXMLWriterC_SetPointData VTK_ABI_NAMESPACE_MANGLE(vtkXMLWriterC_SetPointData) VTKIOXML_EXPORT void vtkXMLWriterC_SetPointData(vtkXMLWriterC* self, const char* name, int dataType, void* data, vtkIdType numTuples, int numComponents, const char* role); + +#define vtkXMLWriterC_SetCellData VTK_ABI_NAMESPACE_MANGLE(vtkXMLWriterC_SetCellData) VTKIOXML_EXPORT void vtkXMLWriterC_SetCellData(vtkXMLWriterC* self, const char* name, int dataType, void* data, vtkIdType numTuples, int numComponents, const char* role); @@ -188,6 +202,7 @@ extern "C" * This may be used for all data types. It may not be called before * SetDataObjectType or between Start and Stop calls. */ +#define vtkXMLWriterC_SetFileName VTK_ABI_NAMESPACE_MANGLE(vtkXMLWriterC_SetFileName) VTKIOXML_EXPORT void vtkXMLWriterC_SetFileName(vtkXMLWriterC* self, const char* fileName); @@ -197,6 +212,7 @@ extern "C" * * This may only be called after SetFileName and SetDataObjectType. */ +#define vtkXMLWriterC_Write VTK_ABI_NAMESPACE_MANGLE(vtkXMLWriterC_Write) VTKIOXML_EXPORT int vtkXMLWriterC_Write(vtkXMLWriterC* self); @@ -207,6 +223,8 @@ extern "C" * This may be used for all data types. It may not be called before * SetDataObjectType or between Start and Stop calls. */ +#define vtkXMLWriterC_SetNumberOfTimeSteps \ + VTK_ABI_NAMESPACE_MANGLE(vtkXMLWriterC_SetNumberOfTimeSteps) VTKIOXML_EXPORT void vtkXMLWriterC_SetNumberOfTimeSteps(vtkXMLWriterC* self, int numTimeSteps); @@ -217,6 +235,7 @@ extern "C" * SetNumberOfTimeSteps. It may not be called a second time until * after an intervening call to Stop. */ +#define vtkXMLWriterC_Start VTK_ABI_NAMESPACE_MANGLE(vtkXMLWriterC_Start) VTKIOXML_EXPORT void vtkXMLWriterC_Start(vtkXMLWriterC* self); @@ -230,6 +249,7 @@ extern "C" * This may only be called after Start has been called. It should be * called NumberOfTimeSteps times before calling Stop. */ +#define vtkXMLWriterC_WriteNextTimeStep VTK_ABI_NAMESPACE_MANGLE(vtkXMLWriterC_WriteNextTimeStep) VTKIOXML_EXPORT void vtkXMLWriterC_WriteNextTimeStep(vtkXMLWriterC* self, double timeValue); @@ -239,6 +259,7 @@ extern "C" * This may only be called after Start and NumberOfTimeSteps calls to * WriteNextTimeStep. */ +#define vtkXMLWriterC_Stop VTK_ABI_NAMESPACE_MANGLE(vtkXMLWriterC_Stop) VTKIOXML_EXPORT void vtkXMLWriterC_Stop(vtkXMLWriterC* self); diff --git a/Infovis/Boost/vtkVariantBoostSerialization.h b/Infovis/Boost/vtkVariantBoostSerialization.h index b9828f0546dd9d4b515637e2dabbf7d973ca2be9..59150c74dc618a0a8bdaf0e3a9bc7d08764178ff 100644 --- a/Infovis/Boost/vtkVariantBoostSerialization.h +++ b/Infovis/Boost/vtkVariantBoostSerialization.h @@ -31,6 +31,8 @@ #include <boost/serialization/extended_type_info_no_rtti.hpp> #include <boost/serialization/split_free.hpp> +VTK_ABI_NAMESPACE_BEGIN + //---------------------------------------------------------------------------- // vtkStdString serialization code //---------------------------------------------------------------------------- @@ -144,8 +146,12 @@ void load(Archiver& ar, vtkVariant& variant, const unsigned int vtkNotUsed(versi #undef VTK_VARIANT_LOAD } +VTK_ABI_NAMESPACE_END + BOOST_SERIALIZATION_SPLIT_FREE(vtkVariant) +VTK_ABI_NAMESPACE_BEGIN + //---------------------------------------------------------------------------- // vtkVariantArray serialization code //---------------------------------------------------------------------------- @@ -199,6 +205,8 @@ void load(Archiver& ar, vtkVariantArray& array, const unsigned int vtkNotUsed(ve } } +VTK_ABI_NAMESPACE_END + BOOST_SERIALIZATION_SPLIT_FREE(vtkVariantArray) #endif diff --git a/Rendering/CellGrid/CMakeLists.txt b/Rendering/CellGrid/CMakeLists.txt index a38ea8e575f0acab30eb38a3c9cd8b3ff27f7970..cfc500855e4b1c82668feeb96b3fed6d230a04c2 100644 --- a/Rendering/CellGrid/CMakeLists.txt +++ b/Rendering/CellGrid/CMakeLists.txt @@ -18,7 +18,7 @@ unset(shader_h_files) foreach(file IN LISTS shader_files) vtk_encode_string( INPUT "${file}" - EXPORT_SYMBOL "VTKRENDERINGCELLGRID_EXPORT" + EXPORT_SYMBOL "VTKRENDERINGCELLGRID_NO_EXPORT" EXPORT_HEADER "vtkRenderingCellGridModule.h" HEADER_OUTPUT header SOURCE_OUTPUT source diff --git a/Rendering/LICOpenGL2/CMakeLists.txt b/Rendering/LICOpenGL2/CMakeLists.txt index 46535c52f509e26fca903560c62d251acce43c5d..84d632c8b607e2a38acd5c94adc3574bf7b9e182 100644 --- a/Rendering/LICOpenGL2/CMakeLists.txt +++ b/Rendering/LICOpenGL2/CMakeLists.txt @@ -36,6 +36,8 @@ set(shader_cxx_files) foreach (shader_file IN LISTS shader_files) vtk_encode_string( INPUT "${shader_file}" + EXPORT_HEADER "vtkRenderingLICOpenGL2Module.h" + EXPORT_SYMBOL "VTKRENDERINGLICOPENGL2_NO_EXPORT" HEADER_OUTPUT header SOURCE_OUTPUT source) list(APPEND shader_cxx_files ${source}) diff --git a/Rendering/OpenGL2/CMakeLists.txt b/Rendering/OpenGL2/CMakeLists.txt index 89ae5d1f6a1228200d0b9892e66ac2b3f488fd17..cdbbd3942aa714bffa5ae2c026c939e636856f6b 100644 --- a/Rendering/OpenGL2/CMakeLists.txt +++ b/Rendering/OpenGL2/CMakeLists.txt @@ -185,6 +185,8 @@ unset(shader_h_files) foreach(file IN LISTS shader_files) vtk_encode_string( INPUT "${file}" + EXPORT_SYMBOL "VTKRENDERINGOPENGL2_NO_EXPORT" + EXPORT_HEADER "vtkRenderingOpenGL2Module.h" HEADER_OUTPUT header SOURCE_OUTPUT source) list(APPEND sources @@ -212,6 +214,8 @@ vtk_encode_string( INPUT "textures/BlueNoiseTexture64x64.jpg" HEADER_OUTPUT BlueNoiseTexture64x64_header SOURCE_OUTPUT BlueNoiseTexture64x64_source + EXPORT_SYMBOL "VTKRENDERINGOPENGL2_NO_EXPORT" + EXPORT_HEADER "vtkRenderingOpenGL2Module.h" BINARY) list(APPEND sources "${BlueNoiseTexture64x64_source}") list(APPEND private_headers "${BlueNoiseTexture64x64_header}") diff --git a/Rendering/OpenGL2/vtkXOpenGLRenderWindow.cxx b/Rendering/OpenGL2/vtkXOpenGLRenderWindow.cxx index 3edf4164153b98054202a626245a3952d7cb1d75..9bd07ab519cf6eba8c8b02a86232b70f4129dee6 100644 --- a/Rendering/OpenGL2/vtkXOpenGLRenderWindow.cxx +++ b/Rendering/OpenGL2/vtkXOpenGLRenderWindow.cxx @@ -357,9 +357,10 @@ void vtkXOpenGLRenderWindow::SetStereoCapableWindow(vtkTypeBool capable) } static int PbufferAllocFail = 0; +#define vtkXOGLPbufferErrorHandler VTK_ABI_NAMESPACE_MANGLE(vtkXOGLPbufferErrorHandler) extern "C" { - int vtkXOGLPbufferErrorHandler(Display*, XErrorEvent*) + int VTK_ABI_NAMESPACE_MANGLE(vtkXOGLPbufferErrorHandler)(Display*, XErrorEvent*) { PbufferAllocFail = 1; return 1; @@ -367,9 +368,11 @@ extern "C" } static bool ctxErrorOccurred = false; +#define vtkXOGLContextCreationErrorHandler \ + VTK_ABI_NAMESPACE_MANGLE(vtkXOGLContextCreationErrorHandler) extern "C" { - int vtkXOGLContextCreationErrorHandler(Display*, XErrorEvent*) + int VTK_ABI_NAMESPACE_MANGLE(vtkXOGLContextCreationErrorHandler)(Display*, XErrorEvent*) { ctxErrorOccurred = true; return 1; @@ -1206,9 +1209,11 @@ void vtkXOpenGLRenderWindow::SetForceMakeCurrent() vtkTypeBool vtkXOpenGLRenderWindowFoundMatch; +#define vtkXOpenGLRenderWindowPredProc VTK_ABI_NAMESPACE_MANGLE(vtkXOpenGLRenderWindowPredProc) extern "C" { - Bool vtkXOpenGLRenderWindowPredProc(Display* vtkNotUsed(disp), XEvent* event, char* arg) + Bool VTK_ABI_NAMESPACE_MANGLE(vtkXOpenGLRenderWindowPredProc)( + Display* vtkNotUsed(disp), XEvent* event, char* arg) { Window win = (Window)arg; diff --git a/Rendering/OpenVR/CMakeLists.txt b/Rendering/OpenVR/CMakeLists.txt index 69ccdbc8732981b29329b6fa70dc86c4b0f87e5d..1b44dfbca7c32c51a23edb866d4b264eaf46a0e9 100644 --- a/Rendering/OpenVR/CMakeLists.txt +++ b/Rendering/OpenVR/CMakeLists.txt @@ -13,6 +13,8 @@ set(classes vtk_encode_string( INPUT "OpenVRDashboard.jpg" + EXPORT_HEADER "vtkRenderingOpenVRModule.h" + EXPORT_SYMBOL "VTKRENDERINGOPENVR_NO_EXPORT" HEADER_OUTPUT dashboard_header SOURCE_OUTPUT dashboard_source BINARY) diff --git a/Rendering/Parallel/CMakeLists.txt b/Rendering/Parallel/CMakeLists.txt index 618c8a665c3a40e1c97f13b69a52ceddab04d216..6ce7290ca4f6afadcce375c267bb59ca92f00d65 100644 --- a/Rendering/Parallel/CMakeLists.txt +++ b/Rendering/Parallel/CMakeLists.txt @@ -24,6 +24,8 @@ set(private_headers) foreach (shader_file IN LISTS shader_files) vtk_encode_string( INPUT "${shader_file}" + EXPORT_HEADER "vtkRenderingParallelModule.h" + EXPORT_SYMBOL "VTKRENDERINGPARALLEL_NO_EXPORT" HEADER_OUTPUT header SOURCE_OUTPUT source) list(APPEND sources ${source}) @@ -33,8 +35,8 @@ set(headers) foreach (shader_file IN LISTS public_shader_files) vtk_encode_string( INPUT "${shader_file}" - EXPORT_SYMBOL "VTKRENDERINGPARALLEL_EXPORT" EXPORT_HEADER "vtkRenderingParallelModule.h" + EXPORT_SYMBOL "VTKRENDERINGPARALLEL_EXPORT" HEADER_OUTPUT header SOURCE_OUTPUT source ABI_MANGLE_HEADER "vtkABINamespace.h" diff --git a/Rendering/ParallelLIC/CMakeLists.txt b/Rendering/ParallelLIC/CMakeLists.txt index 484d158c58f5e61f0ba8e77b216d62e42841753e..a2b683bb27b6077ff72281c428e85bdb6a196304 100644 --- a/Rendering/ParallelLIC/CMakeLists.txt +++ b/Rendering/ParallelLIC/CMakeLists.txt @@ -30,6 +30,8 @@ set(headers) foreach(shader_file IN LISTS shader_files) vtk_encode_string( INPUT "${shader_file}" + EXPORT_HEADER "vtkRenderingParallelLICModule.h" + EXPORT_SYMBOL "VTKRENDERINGPARALLELLIC_NO_EXPORT" HEADER_OUTPUT header SOURCE_OUTPUT source) list(APPEND sources ${source}) diff --git a/Rendering/VR/CMakeLists.txt b/Rendering/VR/CMakeLists.txt index 9494d86859b40a954a7a142d3b0ffb62059b1f19..9e2b475400b8c816b3333f00b2c563f77d405301 100644 --- a/Rendering/VR/CMakeLists.txt +++ b/Rendering/VR/CMakeLists.txt @@ -35,6 +35,8 @@ set(geometry_files foreach (geometry_file IN LISTS geometry_files) vtk_encode_string( INPUT "${geometry_file}" + EXPORT_HEADER "vtkRenderingVRModule.h" + EXPORT_SYMBOL "VTKRENDERINGVR_NO_EXPORT" HEADER_OUTPUT header SOURCE_OUTPUT source BINARY diff --git a/Rendering/VolumeOpenGL2/CMakeLists.txt b/Rendering/VolumeOpenGL2/CMakeLists.txt index 4de47c1cf9a1a2e10fef3aff1a6dc6b8d82bbf5f..c9164fb4c36db9251aa372e123a313d4eda7408b 100644 --- a/Rendering/VolumeOpenGL2/CMakeLists.txt +++ b/Rendering/VolumeOpenGL2/CMakeLists.txt @@ -32,6 +32,8 @@ set(private_headers) foreach (shader_file IN LISTS shader_files) vtk_encode_string( INPUT "${shader_file}" + EXPORT_HEADER "vtkRenderingVolumeOpenGL2Module.h" + EXPORT_SYMBOL "VTKRENDERINGVOLUMEOPENGL2_NO_EXPORT" HEADER_OUTPUT header SOURCE_OUTPUT source) list(APPEND sources ${source}) diff --git a/Testing/Core/vtkTestUtilities.h b/Testing/Core/vtkTestUtilities.h index f8fe65655344d8c9e0bbcd8349299b0adc6d51b9..6f41bfe35cea25a69d4ae5213935583e0cc76976 100644 --- a/Testing/Core/vtkTestUtilities.h +++ b/Testing/Core/vtkTestUtilities.h @@ -33,6 +33,8 @@ #pragma warning(disable : 4996) // 'function': was declared deprecated #endif +VTK_ABI_NAMESPACE_BEGIN + class vtkAbstractArray; class vtkDataObject; class vtkDataSet; @@ -41,7 +43,6 @@ class vtkPartitionedDataSetCollection; class vtkCompositeDataSet; class vtkUnsignedCharArray; -VTK_ABI_NAMESPACE_BEGIN struct VTKTESTINGCORE_EXPORT vtkTestUtilities { /** diff --git a/Web/WebGLExporter/CMakeLists.txt b/Web/WebGLExporter/CMakeLists.txt index 92e778d34b69c4cc3495a6b041e1d52dc3ecf6cf..0edb3c26818ec0ae835ffe67508f1e70bbd312f6 100644 --- a/Web/WebGLExporter/CMakeLists.txt +++ b/Web/WebGLExporter/CMakeLists.txt @@ -25,6 +25,8 @@ set(private_headers) foreach (javascript_file IN LISTS javascript_files) vtk_encode_string( INPUT "${javascript_file}" + EXPORT_HEADER "vtkWebGLExporterModule.h" + EXPORT_SYMBOL "VTKWEBGLEXPORTER_NO_EXPORT" HEADER_OUTPUT header SOURCE_OUTPUT source) list(APPEND sources diff --git a/Wrapping/PythonCore/CMakeLists.txt b/Wrapping/PythonCore/CMakeLists.txt index 1c9d8bd7df4de1723cbdbbce1eb2e3137873cc86..a72ff352f51e5a9d0753e6656e61582fdced414e 100644 --- a/Wrapping/PythonCore/CMakeLists.txt +++ b/Wrapping/PythonCore/CMakeLists.txt @@ -32,21 +32,7 @@ vtk_module_add_module(VTK::WrappingPythonCore PRIVATE_CLASSES ${private_classes} PRIVATE_HEADERS ${private_headers} LIBRARY_NAME_SUFFIX "${vtk_python_version_major}.${vtk_python_version_minor}") -vtk_add_test_mangling(VTK::WrappingPythonCore - EXEMPTIONS - PyVTKEnum_ - PyVTKAddFile_ - PyVTKNamespace_ - PyVTKClass_ - PyVTKObject_ - PyVTKSpecialObject_ - PyVTKSpecialType_ - PyVTKTemplate_ - PyVTKMethodDescriptor_ - PyVTKNumberReference_ - PyVTKReference_ - PyVTKStringReference_ - PyVTKTupleReference_) +vtk_add_test_mangling(VTK::WrappingPythonCore) if (Python3_VERSION VERSION_LESS "3.7" AND NOT CMAKE_VERSION VERSION_LESS "3.19") include(CheckCompilerFlag)