]> OCCT Git - occt-copy.git/commitdiff
Draw Harness - add DRAWBUNDLE executable with pre-loaded plugins
authorkgv <kgv@opencascade.com>
Fri, 19 Mar 2021 21:31:01 +0000 (00:31 +0300)
committerkgv <kgv@opencascade.com>
Sun, 21 Mar 2021 17:04:02 +0000 (20:04 +0300)
12 files changed:
CMakeLists.txt
adm/MODULES
adm/UDLIST
adm/cmake/occt_toolkit.cmake
adm/cmake/tcl.cmake
adm/scripts/cmake_gen.bat
src/DRAWBUNDLE/CMakeLists.txt [new file with mode: 0644]
src/DRAWBUNDLE/DRAWBUNDLE.cxx [new file with mode: 0644]
src/DRAWBUNDLE/EXTERNLIB [new file with mode: 0644]
src/DRAWBUNDLE/FILES [new file with mode: 0644]
src/Draw/Draw_PluginMacro.hxx
src/OS/Draw.tcl

index d565e393d5341a0fd4a8c3361c4357cb0adb9be8..e79e4ecd701566b974d85f4509a7d727e962d9c2 100644 (file)
@@ -439,6 +439,7 @@ endforeach()
 # DRAWEXE excluded when library build is static
 if (NOT BUILD_SHARED_LIBS)
   list (REMOVE_ITEM BUILD_TOOLKITS DRAWEXE)
+  #list (REMOVE_ITEM BUILD_TOOLKITS DRAWBUNDLE)
   message (STATUS "Info: DRAWEXE is not included due to ${BUILD_LIBRARY_TYPE} build library type")
 endif()
 
@@ -836,7 +837,8 @@ string(TIMESTAMP CURRENT_TIME "%H:%M:%S")
 message (STATUS "Info: \(${CURRENT_TIME}\) End the collecting")
 
 list (FIND BUILD_TOOLKITS DRAWEXE DRAWEXE_INDEX)
-if (${DRAWEXE_INDEX} GREATER -1)
+list (FIND BUILD_TOOLKITS DRAWBUNDLE DRAWBUNDLE_INDEX)
+if (${DRAWEXE_INDEX} GREATER -1 OR ${DRAWBUNDLE_INDEX} GREATER -1)
   OCCT_INSTALL_FILE_OR_DIR ("data/" "${INSTALL_DIR_DATA}")
   OCCT_INSTALL_FILE_OR_DIR ("samples/tcl" "${INSTALL_DIR_SAMPLES}")
 endif()
@@ -902,7 +904,8 @@ if (INSTALL_TEST_CASES)
 endif()
 
 list (FIND BUILD_TOOLKITS DRAWEXE DRAWEXE_INDEX)
-if (${DRAWEXE_INDEX} GREATER -1)
+list (FIND BUILD_TOOLKITS DRAWBUNDLE DRAWBUNDLE_INDEX)
+if (${DRAWEXE_INDEX} GREATER -1 OR ${DRAWBUNDLE_INDEX} GREATER -1)
   # copy data and samples/tcl folders to install script folder
   OCCT_INSTALL_FILE_OR_DIR ("data/" "${INSTALL_DIR_DATA}")
   OCCT_INSTALL_FILE_OR_DIR ("samples/tcl" "${INSTALL_DIR_SAMPLES}")
index 724bf81776b9bce84f78f9102e9702a8fcc6e160..bcc60cdd37f3d2b385924270d1aee1652893b13f 100644 (file)
@@ -4,4 +4,4 @@ ModelingAlgorithms TKGeomAlgo TKTopAlgo TKPrim TKBO TKBool TKHLR TKFillet TKOffs
 Visualization TKService TKV3d TKOpenGl TKOpenGles TKMeshVS TKIVtk TKD3DHost
 ApplicationFramework TKCDF TKLCAF TKCAF TKBinL TKXmlL TKBin TKXml TKStdL TKStd TKTObj TKBinTObj TKXmlTObj TKVCAF
 DataExchange TKXSBase TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP TKIGES TKXCAF TKXDEIGES TKXDESTEP TKSTL TKVRML TKXmlXCAF TKBinXCAF TKRWMesh
-Draw TKDraw TKTopTest TKOpenGlTest TKOpenGlesTest TKD3DHostTest TKViewerTest TKXSDRAW TKDCAF TKXDEDRAW TKTObjDRAW TKQADraw TKIVtkDraw DRAWEXE
+Draw TKDraw TKTopTest TKOpenGlTest TKOpenGlesTest TKD3DHostTest TKViewerTest TKXSDRAW TKDCAF TKXDEDRAW TKTObjDRAW TKQADraw TKIVtkDraw DRAWEXE DRAWBUNDLE
index 3f3993a1573379efc0d55ec5f763a6142cd03264..f5b91d0b9ab6a7eaf287ae8285b308490f0f3bab 100644 (file)
@@ -425,6 +425,7 @@ t TKViewerTest
 t TKXDEDRAW
 t TKXSDRAW
 x DRAWEXE
+x DRAWBUNDLE
 n QADraw
 n QANCollection
 n QANewBRepNaming
index acbaac55ec7fcea3b1899bcf3f1dc6793465b93b..c13ec3863fd3b4601006ca19ffc79635b04b0423 100644 (file)
@@ -39,7 +39,7 @@ set (PRECOMPILED_DEFS)
 
 if (NOT BUILD_SHARED_LIBS)
   list (APPEND PRECOMPILED_DEFS "-DOCCT_NO_PLUGINS")
-  if (WIN32)
+  if (WIN32 AND NOT EXECUTABLE_PROJECT)
     list (APPEND PRECOMPILED_DEFS "-DOCCT_STATIC_BUILD")
   endif()
 endif()
@@ -383,7 +383,7 @@ else()
   endif()
 endif()
 
-if (BUILD_SHARED_LIBS)
+if (BUILD_SHARED_LIBS OR EXECUTABLE_PROJECT)
   if(IS_VTK_9XX)
     string (REGEX REPLACE "vtk" "VTK::" USED_TOOLKITS_BY_CURRENT_PROJECT "${USED_TOOLKITS_BY_CURRENT_PROJECT}")
   endif()
index 77359a6204001e1c3ff5cf41f7c2cff4fc30f5b7..00de7e23745bc4bcacb6890160e5d60e1567cdf3 100644 (file)
@@ -1,6 +1,6 @@
 # tcl
 
-if (NOT DEFINED INSTALL_TCL AND BUILD_SHARED_LIBS)
+if (NOT DEFINED INSTALL_TCL)
   set (INSTALL_TCL OFF CACHE BOOL "${INSTALL_TCL_DESCR}")
 endif()
 
@@ -14,7 +14,7 @@ if (NOT DEFINED 3RDPARTY_TCL_INCLUDE_DIR)
   set (3RDPARTY_TCL_INCLUDE_DIR "" CACHE FILEPATH "The directory containing headers of tcl")
 endif()
 
-if (BUILD_SHARED_LIBS)
+
   # tcl library file (with absolute path)
   if (NOT DEFINED 3RDPARTY_TCL_LIBRARY OR NOT 3RDPARTY_TCL_LIBRARY_DIR)
     set (3RDPARTY_TCL_LIBRARY "" CACHE FILEPATH "tcl library"  FORCE)
@@ -36,7 +36,7 @@ if (BUILD_SHARED_LIBS)
   if (WIN32 AND NOT DEFINED 3RDPARTY_TCL_DLL_DIR)
     set (3RDPARTY_TCL_DLL_DIR "" CACHE FILEPATH "The directory containing tcl shared library")
   endif()
-endif()
+
 
 # search for tcl in user defined directory
 if (NOT 3RDPARTY_TCL_DIR AND 3RDPARTY_DIR)
@@ -64,7 +64,7 @@ if (NOT 3RDPARTY_TCL_INCLUDE_DIR)
   endif()
 endif()
 
-if (BUILD_SHARED_LIBS)
+
   # tcl dir and library
   if (NOT 3RDPARTY_TCL_LIBRARY)
     if (TCL_LIBRARY AND EXISTS "${TCL_LIBRARY}")
@@ -98,11 +98,11 @@ if (BUILD_SHARED_LIBS)
                                            NO_DEFAULT_PATH)
     endif()
   endif()
-endif()
+
 
 COMPLIANCE_PRODUCT_CONSISTENCY(TCL)
 
-if (BUILD_SHARED_LIBS)
+
   # tcl dir and library
   if (NOT 3RDPARTY_TCL_LIBRARY)
     set (3RDPARTY_TCL_LIBRARY "3RDPARTY_TCL_LIBRARY-NOTFOUND" CACHE FILEPATH "TCL library" FORCE)
@@ -260,7 +260,7 @@ if (BUILD_SHARED_LIBS)
   endif()
 
   mark_as_advanced (3RDPARTY_TCL_LIBRARY 3RDPARTY_TCL_DLL)
-endif()
+
 
 if (TK_FOUND AND 3RDPARTY_TCL_DIR)
 
@@ -286,9 +286,9 @@ OCCT_CHECK_AND_UNSET (TK_INCLUDE_PATH)
 OCCT_CHECK_AND_UNSET (TK_WISH)
 
 if (NOT BUILD_SHARED_LIBS)
-  OCCT_CHECK_AND_UNSET (3RDPARTY_TCL_LIBRARY)
-  OCCT_CHECK_AND_UNSET (3RDPARTY_TCL_LIBRARY_DIR)
-  OCCT_CHECK_AND_UNSET (3RDPARTY_TCL_DLL)
-  OCCT_CHECK_AND_UNSET (3RDPARTY_TCL_DLL_DIR)
-  OCCT_CHECK_AND_UNSET (INSTALL_TCL)
+#  OCCT_CHECK_AND_UNSET (3RDPARTY_TCL_LIBRARY)
+#  OCCT_CHECK_AND_UNSET (3RDPARTY_TCL_LIBRARY_DIR)
+#  OCCT_CHECK_AND_UNSET (3RDPARTY_TCL_DLL)
+#  OCCT_CHECK_AND_UNSET (3RDPARTY_TCL_DLL_DIR)
+#  OCCT_CHECK_AND_UNSET (INSTALL_TCL)
 endif()
index 0a0ac0dff522076f99e91f5495bcab6d032bbb6c..428107902b385e27cf070247fecc221befe98968 100644 (file)
@@ -12,6 +12,7 @@ set VS=14
 set VSDATA=2015
 set VSPLATFORM=Win64
 set "BUILD_DIR=build-vs%VS%-%VSPLATFORM%"
+set "OCCT3RDPARTY="
 set "INSTALL_DIR=%SrcRoot%\install"
 
 set BUILD_ADDITIONAL_TOOLKITS=
diff --git a/src/DRAWBUNDLE/CMakeLists.txt b/src/DRAWBUNDLE/CMakeLists.txt
new file mode 100644 (file)
index 0000000..33a62b3
--- /dev/null
@@ -0,0 +1,5 @@
+project(DRAWBUNDLE)
+
+set (EXECUTABLE_PROJECT ON)
+OCCT_INCLUDE_CMAKE_FILE (adm/cmake/occt_toolkit)
+unset (EXECUTABLE_PROJECT)
diff --git a/src/DRAWBUNDLE/DRAWBUNDLE.cxx b/src/DRAWBUNDLE/DRAWBUNDLE.cxx
new file mode 100644 (file)
index 0000000..83b8b7e
--- /dev/null
@@ -0,0 +1,53 @@
+// Created on: 2003-08-11
+// Created by: Sergey ZARITCHNY
+// Copyright (c) 2003-2014 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#include <Draw.hxx>
+#include <DBRep.hxx>
+#include <DrawTrSurf.hxx>
+
+#include <BOPTest.hxx>
+#include <DPrsStd.hxx>
+#include <OpenGlTest.hxx>
+//#include <TObjDRAW.hxx>
+#include <ViewerTest.hxx>
+#include <XSDRAWSTLVRML.hxx>
+#include <XDEDRAW.hxx>
+
+//=======================================================================
+//function : Draw_InitAppli
+//purpose  : 
+//=======================================================================
+
+void Draw_InitAppli (Draw_Interpretor& di)
+{
+  Draw::Commands (di);
+  DBRep::BasicCommands (di);
+  DrawTrSurf::BasicCommands (di);
+
+  BOPTest::Factory (di);
+  DPrsStd::Factory (di);
+  XSDRAWSTLVRML::Factory (di);
+  XDEDRAW::Factory (di);
+  ViewerTest::Factory (di);
+  OpenGlTest::Factory (di);
+  //TObjDRAW::Factory (di);
+  //QADraw::Factory (di);
+  //OpenGlesTest::Factory (di);
+  //D3DHostTest::Factory (di);
+  //IVtkDraw::Factory (di);
+}
+
+#include <Draw_Main.hxx>
+DRAW_MAIN
diff --git a/src/DRAWBUNDLE/EXTERNLIB b/src/DRAWBUNDLE/EXTERNLIB
new file mode 100644 (file)
index 0000000..2e6318d
--- /dev/null
@@ -0,0 +1,68 @@
+TKTopTest
+TKDCAF
+TKXSDRAW
+TKXDEDRAW
+TKOpenGlTest
+TKViewerTest
+TKDraw
+TKMeshVS
+TKXDESTEP
+TKSTEP
+TKSTEPAttr
+TKSTEP209
+TKSTEPBase
+TKXDEIGES
+TKIGES
+TKXSBase
+TKVRML
+TKSTL
+TKRWMesh
+TKBinXCAF
+TKXmlXCAF
+TKBin
+TKXml
+TKXmlL
+TKBinL
+TKOpenGl
+TKXCAF
+TKVCAF
+TKStd
+TKCAF
+TKV3d
+TKHLR
+TKMesh
+TKService
+TKOffset
+TKFillet
+TKFeat
+TKBool
+TKBO
+TKShHealing
+TKPrim
+TKTopAlgo
+TKGeomAlgo
+TKBRep
+TKGeomBase
+TKG3d
+TKG2d
+TKMath
+TKStdL
+TKLCAF
+TKCDF
+TKernel
+CSF_TclLibs
+CSF_OpenVR
+CSF_OpenGlLibs
+CSF_FFmpeg
+CSF_FreeImagePlus
+CSF_FREETYPE
+CSF_user32
+CSF_advapi32
+CSF_XwLibs
+CSF_dpsLibs
+CSF_XmuLibs
+CSF_fontconfig
+CSF_objc
+CSF_Appkit
+CSF_IOKit
+CSF_winmm
diff --git a/src/DRAWBUNDLE/FILES b/src/DRAWBUNDLE/FILES
new file mode 100644 (file)
index 0000000..4f457d3
--- /dev/null
@@ -0,0 +1,2 @@
+DRAWBUNDLE.cxx
+EXTERNLIB
index 4c7d77e436c9d34d68a88e6ab29c700db68741b7..badfb8ebdba663e150cd1fb69ca42ad255b7bdfe 100644 (file)
 #ifndef _Draw_PluginMacro_HeaderFile
 #define _Draw_PluginMacro_HeaderFile
 
+#ifdef OCCT_NO_PLUGINS
+#define DPLUGIN(name)
+#else
 #define DPLUGIN(name) \
-extern "C" {Standard_EXPORT void PLUGINFACTORY(Draw_Interpretor&);} \
-void  PLUGINFACTORY(Draw_Interpretor& theDI) { \
-        name::Factory(theDI);} \
-\
+extern "C" Standard_EXPORT void PLUGINFACTORY(Draw_Interpretor& theDI) { \
+  name::Factory(theDI); \
+}
+#endif
 
 #endif
index a72770b69e109ce04e2cb9dac6eeddf6bb684384..202308a6beff75858ed14d561b3be01e5e4ce225 100644 (file)
@@ -11,9 +11,7 @@
 # Alternatively, this file may be used under the terms of Open CASCADE
 # commercial license or contractual agreement.
 
-;#
-;# Liste des toolkits WOK sous forme de full path
-;# 
+;# Return list of toolkits
 proc Draw:toolkits { } {
   set aResult [list TKDraw TKTopTest TKViewerTest TKXSDRAW TKDCAF TKXDEDRAW TKTObjDRAW TKQADraw]
 
@@ -37,41 +35,24 @@ proc Draw:toolkits { } {
   return $aResult
 }
 
-;#
 ;# Autres UDs a prendre. Listes de triplets
 ;# { ar typ UD str } Tous les types de UD vont dans un sous directory nomme root/str
 ;# Ils seront dans CAS3.0/str de l'archive de type ar (source/runtime)
 ;# { ar typ UD {}  } Tous les types de UD vont dans root/UD/src => CAS3.0/src
-;#
 proc Draw:ressources { } {
-    return [list \
-           [list both r DrawResources {}] \
-           [list both x DRAWEXE {}] \
-           ]
-}
-proc Draw:freefiles { } {
-    return {}
-}
-;#
-;# Nom du module 
-;#
-proc Draw:name { } {
-    return Draw
-}
-proc Draw:alias { } {
-    return DRAW
-}
-proc Draw:depends { } {
-    return [list DataExchange]
+  return [list \
+          [list both r DrawResources {}] \
+          [list both x DRAWEXE {}] \
+          [list both x DRAWBUNDLE {}] \
+         ]
 }
 
-proc Draw:acdepends { } {
-    return [list TCLTK]
-}
+proc Draw:freefiles { } { return {} }
+
+proc Draw:name { } { return Draw }
+proc Draw:alias { } { return DRAW }
+proc Draw:depends { } { return [list DataExchange] }
+proc Draw:acdepends { } { return [list TCLTK] }
 
-;#
 ;# Returns a list of exported features.
-;#
-proc Draw:Export { } {
-    return [list source runtime wokadm api]
-}
+proc Draw:Export { } { return [list source runtime wokadm api] }