occt: master 68df8478

Author Committer Branch Timestamp Parent
abv abv master 2018-03-15 10:07:48 master 8662560e
Changeset 0022651: Impossible to build OCC as static library due to using Standard_EXPORT instead of Standard_API

All library-specific macros for defining export / import properties of symbols on Windows (like Standard_API, __Draw_API, _math_API etc.) are eliminated.
Common macro Standard_EXPORT is used in all places where it is necessary.

New macro OCCT_STATIC_BUILD is defined for disabling Standard_EXPORT, to be used instead of HAVE_NO_DLL, though the latter is still supported as well (for compatibility).

To allow building OCCT in static mode on Windows after these changes:
- Files OSD_WNT_1.hxx and OSD_WNT_BREAK.hxx are removed; useful declarations are moved to OSD_WNT.hxx
- In the class IVtkVTK_ShapeData, static fields ARRNAME_MESH_TYPES and ARRNAME_SUBSHAPE_IDS are converted to static inline functions
- Global array ChoixRef defined in IntImp_ComputeTangence.cxx is converted to static function returning element of the array by index
- Unused class Quantity_Convert is removed (it had static field accessed by inline method)
- Struct Approx_Data defined in the same way in BRepApprox_Approx.hxx and GeomInt_WLApprox.hxx is made private member of these classes to avoid name clash
- Some C++ files producing no object code are removed
- In NCollection_EBTree.hxx and StdLPersistent_Collectio.hxx, definition of template virtual method is moved to class definition to avoid MSVC linker warnings on unused symbols
mod - adm/cmake/occt_toolkit.cmake Diff File
mod - adm/cmake/occt_toolkit_tool.cmake Diff File
mod - adm/genproj.tcl Diff File
mod - adm/templates/template.vc10 Diff File
mod - adm/templates/template.vc10x Diff File
mod - adm/templates/template.vc7 Diff File
mod - adm/templates/template.vc7x Diff File
mod - adm/templates/template.vc8 Diff File
mod - adm/templates/template.vc8x Diff File
mod - adm/templates/template.vc9 Diff File
mod - adm/templates/template.vc9x Diff File
mod - dox/dev_guides/building/cmake/cmake.md Diff File
mod - src/AppBlend/AppBlend_AppSurf.gxx Diff File
mod - src/AppBlend/AppBlend_Debug.cxx Diff File
mod - src/AppCont/AppCont_ContMatrices.hxx Diff File
mod - src/AppCont/AppCont_Function.hxx Diff File
rm - src/ApproxInt/ApproxInt_MultiLineTool.gxx Diff File
mod - src/ApproxInt/FILES Diff File
mod - src/Blend/Blend_Debug.cxx Diff File
rm - src/BOPTools/BOPTools_EdgeSet.cxx Diff File
mod - src/BOPTools/FILES Diff File
mod - src/BRepApprox/BRepApprox_Approx.hxx Diff File
rm - src/BRepApprox/BRepApprox_TheMultiLineToolOfApprox_0.cxx Diff File
mod - src/BRepApprox/FILES Diff File
mod - src/Draw/Draw_Appli.hxx Diff File
mod - src/Draw/Draw_Viewer.hxx Diff File
mod - src/Draw/Draw_Window.hxx Diff File
mod - src/Expr/Expr_Operators.hxx Diff File
mod - src/ExprIntrp/ExprIntrp_Generator.cxx Diff File
mod - src/ExprIntrp/ExprIntrp_yaccanal.hxx Diff File
mod - src/GeomAPI/FILES Diff File
rm - src/GeomAPI/GeomAPI_IntSS.cxx Diff File
mod - src/GeomInt/GeomInt_WLApprox.hxx Diff File
mod - src/HLRBRep/FILES Diff File
rm - src/HLRBRep/HLRBRep_SLPropsATool.cxx Diff File
mod - src/IntImp/IntImp_ComputeTangence.cxx Diff File
mod - src/IntImp/IntImp_ComputeTangence.hxx Diff File
mod - src/IntImp/IntImp_Int2S.gxx Diff File
mod - src/IntWalk/IntWalk_PWalking.cxx Diff File
mod - src/IVtkTools/IVtkTools.cxx Diff File
mod - src/IVtkTools/IVtkTools.hxx Diff File
mod - src/IVtkTools/IVtkTools_DisplayModeFilter.cxx Diff File
mod - src/IVtkTools/IVtkTools_ShapeDataSource.cxx Diff File
mod - src/IVtkTools/IVtkTools_ShapeDataSource.hxx Diff File
mod - src/IVtkTools/IVtkTools_ShapeObject.hxx Diff File
mod - src/IVtkTools/IVtkTools_ShapePicker.hxx Diff File
mod - src/IVtkTools/IVtkTools_SubPolyDataFilter.cxx Diff File
mod - src/IVtkTools/IVtkTools_SubPolyDataFilter.hxx Diff File
mod - src/IVtkVTK/IVtkVTK_ShapeData.cxx Diff File
mod - src/IVtkVTK/IVtkVTK_ShapeData.hxx Diff File
mod - src/MAT2d/FILES Diff File
rm - src/MAT2d/MAT2d_SketchExplorer.cxx Diff File
rm - src/MAT2d/MAT2d_SketchExplorer.hxx Diff File
mod - src/math/math_Recipes.hxx Diff File
mod - src/NCollection/NCollection_EBTree.hxx Diff File
mod - src/OSD/FILES Diff File
mod - src/OSD/OSD_Directory.cxx Diff File
mod - src/OSD/OSD_File.cxx Diff File
mod - src/OSD/OSD_FileNode.cxx Diff File
mod - src/OSD/OSD_OpenFile.hxx Diff File
mod - src/OSD/OSD_Process.cxx Diff File
mod - src/OSD/OSD_signal.cxx Diff File
mod - src/OSD/OSD_WNT.cxx Diff File
mod - src/OSD/OSD_WNT.hxx Diff File
rm - src/OSD/OSD_WNT_1.hxx Diff File
rm - src/OSD/OSD_WNT_BREAK.hxx Diff File
mod - src/Quantity/FILES Diff File
rm - src/Quantity/Quantity_Convert.cxx Diff File
rm - src/Quantity/Quantity_Convert.hxx Diff File
mod - src/Standard/Standard_CString.hxx Diff File
mod - src/Standard/Standard_ExtString.hxx Diff File
mod - src/Standard/Standard_Macro.hxx Diff File
mod - src/Standard/Standard_math.hxx Diff File
mod - src/Standard/Standard_Real.hxx Diff File
mod - src/Standard/Standard_ShortReal.hxx Diff File
mod - src/StdLPersistent/StdLPersistent_Collection.cxx Diff File
mod - src/StdLPersistent/StdLPersistent_Collection.hxx Diff File
mod - src/StdStorage/StdStorage_MapOfTypes.hxx Diff File
mod - src/Storage/FILES Diff File
rm - src/Storage/Storage_stCONSTclCOM.cxx Diff File
rm - src/Storage/Storage_stCONSTclCOM.hxx Diff File
mod - src/TNaming/FILES Diff File
rm - src/TNaming/TNaming_SameShapeIterator.cxx Diff File
mod - src/TopClass/FILES Diff File
rm - src/TopClass/TopClass_Intersection3d.cxx Diff File
rm - src/TopClass/TopClass_Intersection3d.hxx Diff File