0027191: Documentation - redesign of information architecture -- revision (build)
authorVera Sdobnova <vera.sdobnova@opencascade.com>
Thu, 1 Oct 2020 11:54:01 +0000 (14:54 +0300)
committerabv <abv@opencascade.com>
Fri, 2 Oct 2020 13:28:52 +0000 (16:28 +0300)
Revised documentation of building OCCT and third-parties; some related tags updated

64 files changed:
dox/FILES_HTML.txt
dox/build/build_3rdparty/building_3rdparty.md [new file with mode: 0644]
dox/build/build_3rdparty/images/3rdparty_image001.png [new file with mode: 0644]
dox/build/build_3rdparty/images/3rdparty_image003.png [new file with mode: 0644]
dox/build/build_3rdparty/images/3rdparty_image004.png [new file with mode: 0644]
dox/build/build_3rdparty/images/3rdparty_image005.png [new file with mode: 0644]
dox/build/build_3rdparty/images/3rdparty_image006.png [new file with mode: 0644]
dox/build/build_3rdparty/images/3rdparty_image007.png [new file with mode: 0644]
dox/build/build_3rdparty/images/genconf_linux.png [new file with mode: 0644]
dox/build/build_3rdparty/images/genconf_osx.png [new file with mode: 0644]
dox/build/build_3rdparty/images/genconf_windows.png [new file with mode: 0644]
dox/build/build_documentation/building_documentation.md [new file with mode: 0644]
dox/build/build_occt/building_occt.md [new file with mode: 0644]
dox/build/build_occt/images/android_image001.png [new file with mode: 0644]
dox/build/build_occt/images/android_image002.png [new file with mode: 0644]
dox/build/build_occt/images/android_image003.png [new file with mode: 0644]
dox/build/build_occt/images/android_image004.png [new file with mode: 0644]
dox/build/build_occt/images/android_image005.png [new file with mode: 0644]
dox/build/build_occt/images/android_image006.png [new file with mode: 0644]
dox/build/build_occt/images/cmake_image000.png [new file with mode: 0644]
dox/build/build_occt/images/cmake_image001.png [new file with mode: 0644]
dox/build/build_occt/images/cmake_image002.png [new file with mode: 0644]
dox/build/build_occt/images/cmake_image003.png [new file with mode: 0644]
dox/build/build_occt/images/cmake_image004.png [new file with mode: 0644]
dox/build/build_occt/images/genconf_linux.png [new file with mode: 0644]
dox/build/build_occt/images/genconf_osx.png [new file with mode: 0644]
dox/build/build_occt/images/genconf_windows.png [new file with mode: 0644]
dox/build/build_upgrade.md [new file with mode: 0644]
dox/contribution/contribution.md
dox/contribution/contribution_workflow/contribution_workflow.md
dox/contribution/documentation/documentation.md
dox/contribution/git_guide/git_guide.md
dox/debug/debug.md
dox/dev_guides/building/3rdparty/3rdparty_linux.md [deleted file]
dox/dev_guides/building/3rdparty/3rdparty_osx.md [deleted file]
dox/dev_guides/building/3rdparty/3rdparty_windows.md [deleted file]
dox/dev_guides/building/3rdparty/images/3rdparty_image001.png [deleted file]
dox/dev_guides/building/3rdparty/images/3rdparty_image003.png [deleted file]
dox/dev_guides/building/3rdparty/images/3rdparty_image004.png [deleted file]
dox/dev_guides/building/3rdparty/images/3rdparty_image005.png [deleted file]
dox/dev_guides/building/3rdparty/images/3rdparty_image006.png [deleted file]
dox/dev_guides/building/3rdparty/images/3rdparty_image007.png [deleted file]
dox/dev_guides/building/3rdparty/images/genconf_linux.png [deleted file]
dox/dev_guides/building/3rdparty/images/genconf_osx.png [deleted file]
dox/dev_guides/building/3rdparty/images/genconf_windows.png [deleted file]
dox/dev_guides/building/android/android.md [deleted file]
dox/dev_guides/building/android/images/android_image001.png [deleted file]
dox/dev_guides/building/android/images/android_image002.png [deleted file]
dox/dev_guides/building/android/images/android_image003.png [deleted file]
dox/dev_guides/building/android/images/android_image004.png [deleted file]
dox/dev_guides/building/android/images/android_image005.png [deleted file]
dox/dev_guides/building/android/images/android_image006.png [deleted file]
dox/dev_guides/building/building.md [deleted file]
dox/dev_guides/building/cmake/cmake.md [deleted file]
dox/dev_guides/building/cmake/images/cmake_image000.png [deleted file]
dox/dev_guides/building/cmake/images/cmake_image001.png [deleted file]
dox/dev_guides/building/cmake/images/cmake_image002.png [deleted file]
dox/dev_guides/building/cmake/images/cmake_image003.png [deleted file]
dox/dev_guides/building/cmake/images/cmake_image004.png [deleted file]
dox/dev_guides/building/code_blocks.md [deleted file]
dox/dev_guides/building/msvc.md [deleted file]
dox/dev_guides/building/xcode.md [deleted file]
dox/introduction/introduction.md
dox/upgrade/upgrade.md

index 9208898..fa5783b 100644 (file)
@@ -18,6 +18,14 @@ introduction/introduction.md
 
 tutorial/tutorial.md
 
+build/build_upgrade.md
+build/build_occt/building_occt.md
+build/build_3rdparty/building_3rdparty.md
+build/build_documentation/building_documentation.md
+
+debug/debug.md
+upgrade/upgrade.md
+
 technical_overview/technical_overview.md
 
 user_guides/user_guides.md
@@ -46,17 +54,5 @@ contribution/coding_rules.md
 contribution/contribution_workflow/contribution_workflow.md
 contribution/git_guide/git_guide.md
 contribution/tests/tests.md
-debug/debug.md
-upgrade/upgrade.md
-
-dev_guides/building/building.md
-dev_guides/building/3rdparty/3rdparty_windows.md
-dev_guides/building/3rdparty/3rdparty_linux.md
-dev_guides/building/3rdparty/3rdparty_osx.md
-dev_guides/building/cmake/cmake.md
-dev_guides/building/android/android.md
-dev_guides/building/code_blocks.md
-dev_guides/building/msvc.md
-dev_guides/building/xcode.md
 
 license.md
diff --git a/dox/build/build_3rdparty/building_3rdparty.md b/dox/build/build_3rdparty/building_3rdparty.md
new file mode 100644 (file)
index 0000000..165c0da
--- /dev/null
@@ -0,0 +1,633 @@
+ Build 3rd-parties {#build_upgrade_building_3rdparty}
+==============================================
+@tableofcontents
+
+On Windows, the easiest way to install third-party libraries is to download archive with pre-built binaries from https://opencascade.com/content/3rd-party-components.
+On Linux and OS X, it is recommended to use the version installed in the system natively.
+
+@section dev_guides__building_3rdparty_win_1 Windows
+
+This document presents guidelines for building third-party products used by Open CASCADE Technology (OCCT) and samples on Windows platform. It is assumed that you are already familiar with MS Visual Studio / Visual C++. 
+
+You need to use the same version of MS Visual Studio for building all third-party products and OCCT itself, in order to receive a consistent set of run-time binaries. 
+
+The links for downloading the third-party products are available at https://opencascade.com/content/3rd-party-components.
+
+There are two types of third-party products used  by OCCT: 
+
+* Mandatory  products: 
+       * Tcl/Tk 8.5 -- 8.6;
+       * FreeType 2.4.10 -- 2.5.3.
+* Optional  products:
+       * TBB 3.x -- 4.x;
+       * FreeImage 3.14.1 -- 3.16.0;
+       * VTK 6.1.0.
+
+It is recommended to create a separate new folder on your workstation, where you will unpack the downloaded archives of the third-party  products, and where you will build these products (for example, *c:\\occ3rdparty*). 
+
+Further in this document, this folder is referred to as *3rdparty*. 
+
+@subsection dev_guides__building_3rdparty_win_2 Tcl/Tk
+
+Tcl/Tk is required for DRAW test harness.
+
+**Installation from sources: Tcl**
+  
+Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it.
+  
+1. In the *win* sub-directory, edit file *buildall.vc.bat*:
+
+   * Edit the line "call ... vcvars32.bat" to have correct path to the version of Visual Studio to be used for building, for instance:
+
+         call "%VS80COMNTOOLS%\vsvars32.bat"
+
+     If you are building 64-bit version, set environment accordingly, e.g.:
+
+         call "%VS80COMNTOOLS%\..\..\VC\vcvarsall.bat" amd64
+     
+   * Define variable *INSTALLDIR* pointing to directory where Tcl/Tk will be installed, e.g.:
+
+         set INSTALLDIR=D:\OCCT\3rdparty\tcltk-86-32
+
+   * Add option *install* to the first command line calling *nmake*:
+
+         nmake -nologo -f makefile.vc release htmlhelp install %1
+
+   * Remove second call to *nmake* (building statically linked executable)
+
+2. Edit file *rules.vc* replacing line 
+
+       SUFX        = tsgx
+
+   by
+
+       SUFX        = sgx
+
+   This is to avoid extra prefix 't' in the library name, which is not recognized by default by OCCT build tools.
+
+
+3. By default, Tcl uses dynamic version of run-time library (MSVCRT), which must be installed on the system where Tcl will be used.
+   You may wish to link Tcl library with static version of run-time to avoid this dependency.
+   For that:
+
+   * Edit file *makefile.vc* replacing strings "crt = -MD" by "crt = -MT"
+
+   * Edit source file *tclMain.c* (located in folder *generic*) commenting out forward declaration of function *isatty()*.
+
+
+4. In the command prompt, run *buildall.vc.bat*
+
+   You might need to run this script twice to have *tclsh* executable installed; check subfolder *bin* of specified installation path to verify this.
+
+5. For convenience of use, we recommend making a copy of *tclsh* executable created in subfolder *bin* of *INSTALLDIR* and named with Tcl version number suffix, as *tclsh.exe* (with no suffix)
+
+       > cd D:\OCCT\3rdparty\tcltk-86-32\bin
+       > cp tclsh86.exe tclsh.exe
+
+**Installation from sources: Tk**
+  
+Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it.
+
+Apply the same steps as described for building Tcl above, with the same INSTALLDIR.
+Note that Tk produces its own executable, called *wish*. 
+
+You might need to edit default value of *TCLDIR* variable defined in *buildall.vc.bat* (should be not necessary if you unpack both Tcl and Tk sources in the same folder).
+
+@subsection dev_guides__building_3rdparty_win_2_2 FreeType
+
+FreeType is required for text display in a 3D viewer. You can download its sources from https://sourceforge.net/projects/freetype/files/
+
+### The building procedure
+
+1. Unpack the downloaded archive of FreeType product into the *3rdparty*  folder. As a result, you will get a folder named, for example, *3rdparty\\freetype-2.4.10*.  Further in this document, this folder is referred to as *freetype*. 
+   
+2. Open the solution file *freetype\\builds\\win32\\vc20xx\\freetype.sln*  in Visual Studio. Here *vc20xx* stands for your version of Visual Studio. 
+
+3. Select the configuration to build: either Debug or Release. 
+
+4. Build  the *freetype* project. 
+
+   As a result, you will get a  freetype import library (.lib) in the *freetype\\obj\\win32\\vc20xx*  folder.  
+
+
+5. If you build FreeType for a 64 bit platform, select in the main menu **Build - Configuration Manager**  and add *x64* platform to the solution configuration by copying the settings from Win32 platform: 
+
+   @figure{/build/build_3rdparty/images/3rdparty_image001.png}
+
+   Update the value of the Output File for  x64 configuration: 
+
+   @figure{/build/build_3rdparty/images/3rdparty_image003.png}
+
+   Build the *freetype* project. 
+
+   As a result, you will obtain a 64 bit import library (.lib) file in the *freetype\\x64\\vc20xx*  folder. 
+
+   To build FreeType as a dynamic library (.dll) follow steps 6, 7 and 8 of this procedure. 
+
+6. Open menu Project-> Properties-> Configuration  Properties-> General and change option **Configuration Type** to *Dynamic  Library (.dll)*. 
+7. Edit file *freetype\\include\\freetype\\config\\ftoption.h*:  
+  
+   in line 255, uncomment the definition of macro *FT_EXPORT* and change it as follows: 
+
+       #define FT_EXPORT(x)   __declspec(dllexport) x 
+
+8. Build  the *freetype* project. 
+
+   As a result, you will obtain the files of the import  library (.lib) and the dynamic library (.dll)   in folders <i>freetype  \\objs\\release</i> or <i>\\objs\\debug </i>. 
+   
+   If you build for a 64 bit platform, follow step 5 of the procedure. 
+
+   To facilitate the use of FreeType libraries in OCCT with minimal adjustment of build procedures, it is recommended to copy the include files and libraries of FreeType into a separate folder, named according to the pattern: *freetype-compiler-bitness-building mode*, where: 
+   * **compiler** is *vc8* or *vc9* or *vc10* or *vc11*; 
+   * **bitness**  is *32* or *64*;
+   * **building mode** is *opt* (for Release) or *deb* (for Debug). 
+    
+   The *include* subfolder should be copied as is, while libraries should be renamed to *freetype.lib* and *freetype.dll* (suffixes removed) and placed to subdirectories *lib *and  *bin*, respectively. If the Debug configuration is built, the Debug libraries should be put into subdirectories *libd* and *bind*. 
+
+
+@subsection dev_guides__building_3rdparty_win_3_1 TBB
+
+This third-party product is installed with binaries 
+from the archive that can be downloaded from https://github.com/intel/tbb.
+Go to the **Download** page, find the  release version you need  (e.g. *tbb30_018oss*) and pick the archive for Windows  platform. 
+
+Unpack the downloaded  archive of TBB product into the *3rdparty* folder. 
+
+Further in this document,  this folder is referred to as *tbb*. 
+
+@subsection dev_guides__building_3rdparty_win_3_3 FreeImage
+
+This third-party product should be built as a dynamically loadable library (.dll file). 
+You can download its sources from 
+https://sourceforge.net/projects/freeimage/files/Source%20Distribution/
+
+### The building procedure: 
+
+1. Unpack the  downloaded archive of FreeImage product into *3rdparty* folder. 
+  
+   As a result, you should have a folder named *3rdparty\\FreeImage*. 
+  
+   Rename it according to the rule: *freeimage-platform-compiler-building  mode*, where 
+   
+   * **platform**  is *win32* or *win64*; 
+   * **compiler**  is *vc8* or *vc9* or *vc10* or *vc11*; 
+   * **building  mode** is *opt* (for release) or *deb* (for debug) 
+
+   Further in this  document, this folder is referred to as *freeimage*. 
+
+2. Open the solution file *freeimage\\FreeImage.*.sln* in your Visual Studio. 
+  
+   If you use a Visual Studio version higher than VC++ 2008, apply conversion of the workspace. 
+   Such conversion should be suggested automatically by Visual  Studio. 
+    
+3. Select a  configuration to build. 
+
+   - Choose **Release**  if you are building Release binaries. 
+   - Choose **Debug** if you are building  Debug binaries. 
+
+   *Note:* 
+
+   If you want to  build a debug version of FreeImage binaries then you need to rename the following files in FreeImage and FreeimagePlus projects:
+   
+   Project -> Properties -> Configuration Properties -> Linker -> General -> Output File
+
+       FreeImage*d*.dll  to FreeImage.dll 
+       FreeImagePlus*d*.dll to FreeImagePlus.dll 
+
+   Project -> Properties -> Configuration Properties -> Linker -> Debugging-> Generate Program Database File
+
+       FreeImage*d*.pdb  to FreeImage.pdb 
+       FreeImagePlus*d*.pdb to FreeImagePlus.pdb 
+
+   Project -> Properties -> Configuration Properties -> Linker -> Advanced-Import Library
+
+       FreeImage*d*.lib  to FreeImage.lib 
+       FreeImagePlus*d*.lib  to FreeImagePlus.lib 
+
+   Project -> Properties -> Configuration Properties -> Build Events -> Post -> Build Event -> Command Line 
+
+       FreeImage*d*.dll     to FreeImage.dll 
+       FreeImage*d*.lib     to FreeImage.lib 
+       FreeImagePlus*d*.dll to FreeImagePlus.dll 
+       FreeImagePlus*d*.lib to FreeImagePlus.lib 
+
+   Additionally, rename in project FreeImagePlus 
+   
+   Project -> Properties -> Configuration  Properties -> Linker -> Input -> Additional Dependencies 
+
+       from FreeImage*d*.lib to FreeImage.lib 
+
+4. Select a platform to build. 
+
+   - Choose *Win32* if you are building for a 32 bit platform. 
+   - Choose *x64* if you are building for a 64 bit platform. 
+
+5. Start the building process. 
+
+   As a result, you should have the  library files of FreeImage product  in *freeimage\\Dist* folder (*FreeImage.dll* and *FreeImage.lib*) and in *freeimage\\Wrapper\\FreeImagePlus\\dist* folder (*FreeImagePlus.dll* and *FreeImagePlus.lib*).
+
+@subsection dev_guides__building_3rdparty_win_3_4 VTK
+
+VTK is an open-source, freely available software system for 3D computer graphics, image processing and visualization. VTK Integration Services component provides adaptation functionality for visualization of OCCT topological shapes by means of VTK library.
+
+### The building procedure:
+
+1. Download the necessary archive from https://www.vtk.org/VTK/resources/software.html and unpack it into *3rdparty* folder.
+
+   As a result, you will get a folder named, for example, <i>3rdparty\VTK-6.1.0.</i>
+
+   Further in this document, this folder is referred to as *VTK*.
+
+2. Use CMake to generate VS projects for building the library:
+   - Start CMake-GUI and select VTK folder as source path, and the folder of your choice for VS project and intermediate build data.
+   - Click **Configure**.
+   - Select the VS version to be used from the ones you have installed (we recommend using VS 2010) and the architecture (32 or 64-bit).
+   - Generate VS projects with default CMake options. The open solution *VTK.sln* will be generated in the build folder.
+
+3. Build project VTK in Release mode.
+
+
+@section build_3rdparty_linux Linux
+
+This document presents additional guidelines for building third-party 
+products used by Open CASCADE Technology and samples on Linux platform. 
+
+The links for downloading the third-party products are available on the web site at 
+https://opencascade.com/content/3rd-party-components.
+
+There are two types of third-party products, which are  necessary to build OCCT: 
+  
+* Mandatory  products: 
+       * Tcl/Tk 8.5 - 8.6;  
+       * FreeType 2.4.10 - 2.5.3;
+* Optional  products: 
+       * TBB 3.x - 4.x;
+       * FreeImage 3.14.1 - 3.16.0;
+       * VTK 6.1.0.
+
+
+@subsection dev_guides__building_3rdparty_linux_2_1 Tcl/Tk 
+
+Tcl/Tk is required for DRAW test harness. 
+
+**Installation from sources: Tcl**
+  
+Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it.
+  
+1. Enter the unix sub-directory of the directory where the Tcl source  files are located <i>(TCL_SRC_DIR)</i>. 
+
+       cd TCL_SRC_DIR/unix   
+
+2. Run the *configure* command:
+
+       configure --enable-gcc  --enable-shared --enable-threads --prefix=TCL_INSTALL_DIR   
+
+   For a 64 bit platform also add <i>--enable-64bit</i> option to the command line. 
+  
+3. If the configure command has finished successfully, start  the building process:
+  
+       make   
+
+4. If building is finished successfully, start the installation of Tcl. 
+   All binary and service files of the product will be copied to the directory defined by *TCL_INSTALL_DIR* 
+
+       make install   
+
+**Installation from sources: Tk**
+  
+Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it.
+  
+1. Enter the unix sub-directory of the directory where the Tk source files are located <i>(TK_SRC_DIR)</i> 
+
+       cd TK_SRC_DIR/unix   
+
+2. Run the configure command, where <i>TCL_LIB_DIR</i> is *TCL_INSTALL_DIR/lib*.
+
+       configure --enable-gcc  --enable-shared --enable-threads --with-tcl=TCL_LIB_DIR  --prefix=TK_INSTALL_DIR   
+
+   For a 64 bit platform also add <i>--enable-64bit</i> option to the  command line. 
+
+3. If the configure command has finished successfully, start the building process: 
+
+       make   
+
+4. If the building has finished successfully, start the installation of Tk. 
+   All binary and service files of the product will be copied 
+   to the directory defined by *TK_INSTALL_DIR* (usually it is *TCL_INSTALL_DIR*) 
+
+       make install   
+
+@subsection dev_guides__building_3rdparty_linux_2_2 FreeType
+
+FreeType is required for text display in the 3D viewer. 
+Download the necessary archive from https://sourceforge.net/projects/freetype/files/ and unpack it.
+  
+1. Enter the directory where the source files of FreeType  are located <i>(FREETYPE_SRC_DIR)</i>. 
+
+       cd FREETYPE_SRC_DIR   
+
+2. Run the *configure* command: 
+  
+       configure  --prefix=FREETYPE_INSTALL_DIR   
+
+   For a 64 bit platform also add <i>CFLAGS='-m64 -fPIC'  CPPFLAGS='-m64 -fPIC'</i> option to the command line. 
+    
+3. If the *configure* command has finished successfully, start  the building process: 
+
+       make   
+
+4. If the building has finished successfully, start the installation of FreeType. 
+   All binary and service files of the product will be copied to the directory defined by *FREETYPE_INSTALL_DIR* 
+    
+       make install   
+
+    
+@subsection dev_guides__building_3rdparty_linux_3_1 TBB
+
+This third-party product is  installed with binaries from the archive that can be downloaded from https://github.com/intel/tbb.
+Go to the **Download** page, find the  release version you need and pick the archive for Linux platform.
+To install, unpack the downloaded archive of TBB product.
+
+@subsection dev_guides__building_3rdparty_linux_3_3 FreeImage
+
+Download the necessary archive from https://sourceforge.net/projects/freeimage/files/Source%20Distribution/
+and unpack it. The directory with unpacked sources is  further referred to as *FREEIMAGE_SRC_DIR*. 
+  
+1. Modify *FREEIMAGE_SRC_DIR/Source/OpenEXR/Imath/ImathMatrix.h*: 
+   In line 60 insert the following: 
+
+       #include string.h   
+
+2. Enter the directory where the source files of FreeImage are located <i>(FREEIMAGE_SRC_DIR)</i>. 
+  
+       cd FREEIMAGE_SRC_DIR   
+
+3. Run the building process 
+  
+       make   
+
+4. Run the installation process 
+
+   a. If you have the permission to write into directories <i>/usr/include</i> and <i>/usr/lib</i>, run the following command: 
+
+          make install   
+   b. If you do not have this permission, you need to modify file *FREEIMAGE_SRC_DIR/Makefile.gnu*: 
+  
+      Change lines 7-9 from:
+  
+          DESTDIR ?= /   
+          INCDIR  ?= $(DESTDIR)/usr/include   
+          INSTALLDIR  ?= $(DESTDIR)/usr/lib   
+
+      to: 
+
+          DESTDIR  ?= $(DESTDIR)   
+          INCDIR  ?= $(DESTDIR)/include   
+          INSTALLDIR  ?= $(DESTDIR)/lib   
+
+      Change lines 65-67 from: 
+
+          install  -m 644 -o root -g root $(HEADER) $(INCDIR)   
+          install  -m 644 -o root -g root $(STATICLIB) $(INSTALLDIR)   
+          install  -m 755 -o root -g root $(SHAREDLIB) $(INSTALLDIR)   
+  
+      to:
+
+          install  -m 755 $(HEADER) $(INCDIR)   
+          install  -m 755 $(STATICLIB) $(INSTALLDIR)   
+          install  -m 755 $(SHAREDLIB) $(INSTALLDIR)
+
+      Change line 70 from: 
+
+          ldconfig
+
+      to:
+  
+          \#ldconfig   
+    
+   Then run the installation process by the following command: 
+
+        make DESTDIR=FREEIMAGE_INSTALL_DIR  install   
+
+5. Clean temporary files
+
+        make clean
+
+@subsection dev_guides__building_3rdparty_linux_3_4 VTK
+
+You can download VTK sources from https://www.vtk.org/VTK/resources/software.html
+
+### The building procedure:
+
+Download the necessary archive from https://www.vtk.org/VTK/resources/software.html and unpack it.
+
+1. Install or build *cmake* product from the source file.
+2. Start *cmake* in GUI mode with the directory where the source files of *VTK* are located:
+
+       ccmake VTK_SRC_DIR
+
+   * Press <i>[c]</i> to make the  initial configuration
+   * Define the necessary options in *VTK_INSTALL_PREFIX*
+   * Press <i>[c]</i> to make the final  configuration
+   * Press <i>[g]</i> to generate  Makefile and exit
+
+3. Start the building of VTK:
+
+       make
+
+4. Start the installation of VTK. Binaries will be installed according to the *VTK_INSTALL_PREFIX* option.
+
+       make install
+
+@subsection dev_guides__building_3rdparty_linux_4 Installation From Official Repositories
+
+**Debian-based distributives**
+
+All 3rd-party products required for building of  OCCT could be installed
+from official repositories. You may install them from  console using apt-get utility:
+
+    sudo apt-get install tcllib tklib tcl-dev tk-dev libfreetype-dev libxt-dev libxmu-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev libfreeimage-dev libtbb-dev
+
+To launch binaries built with WOK you need to install C shell and 32-bit libraries on x86_64 distributives:
+
+    # you may need to add i386 if not done already by command "dpkg --add-architecture i386"
+    sudo apt-get install csh libstdc++6:i386 libxt6:i386 libxext6:i386 libxmu6:i386
+
+Building is possible with C++ compliant compiler:
+
+    sudo apt-get install g++
+
+@section build_3rdparty_macos Mac OS X
+
+This document presents additional guidelines for building third-party products 
+used by Open CASCADE Technology and samples on Mac OS X platform (10.6.4  and later). 
+
+The links for downloading the third-party products are available at https://opencascade.com/content/3rd-party-components.
+
+There are two types of third-party products, which are  necessary to build OCCT: 
+  
+* Mandatory  products: 
+       * Tcl/Tk 8.5 - 8.6;
+       * FreeType 2.4.10 - 2.5.3.
+* Optional  products: 
+       * TBB 3.x - 4.x;
+       * FreeImage 3.14.1 - 3.16.0
+  
+
+@subsection dev_guides__building_3rdparty_osx_2_1 Tcl/Tk 8.5 
+
+Tcl/Tk is required for DRAW test harness. Version 8.5 or  8.6 can be used with OCCT. 
+
+**Installation from sources: Tcl 8.5**
+
+Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it.
+
+1. Enter the *macosx* sub-directory of the directory where the Tcl source files are located <i>(TCL_SRC_DIR)</i>. 
+
+       cd TCL_SRC_DIR/macosx   
+
+2. Run the *configure* command 
+
+       configure --enable-gcc  --enable-shared --enable-threads --prefix=TCL_INSTALL_DIR   
+
+   For a 64 bit platform also add <i>--enable-64bit</i> option to the command line. 
+
+3. If the *configure* command has finished successfully, start the building process 
+
+       make   
+  
+4. If building is finished successfully, start the installation of Tcl. 
+   All binary and service files of the product will be copied to the directory defined by *TCL_INSTALL_DIR*. 
+
+       make install   
+
+**Installation from sources: Tk 8.5**
+
+Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it.
+
+1. Enter the *macosx* sub-directory of the directory where the  source files of Tk are located <i>(TK_SRC_DIR)</i>. 
+
+       cd TK_SRC_DIR/macosx   
+
+2. Run the *configure* command, where TCL_LIB_DIR is  TCL_INSTALL_DIR/lib 
+
+       configure --enable-gcc --enable-shared --enable-threads --with-tcl=TCL_LIB_DIR --prefix=TK_INSTALL_DIR   
+
+       For a 64 bit platform also add <i>--enable-64bit</i> option to the  command line. 
+
+3. If the *configure* command has finished successfully, start the building process:
+
+       make   
+
+4. If the building has finished successfully, start the  installation of Tk. All binary and service files of the product will be copied to the directory defined by *TK_INSTALL_DIR* (usually it is TCL_INSTALL_DIR) 
+
+       make install   
+
+@subsection dev_guides__building_3rdparty_osx_2_2 FreeType 2.4.10
+  
+FreeType is required for text display in the 3D viewer. 
+
+Download the necessary archive from https://sourceforge.net/projects/freetype/files/ and unpack it.
+
+1. Enter the directory where the source files of FreeType  are located <i>(FREETYPE_SRC_DIR)</i>. 
+
+       cd FREETYPE_SRC_DIR   
+
+2. Run the *configure* command 
+  
+       configure  --prefix=FREETYPE_INSTALL_DIR   
+
+   For a 64 bit platform also add <i>CFLAGS='-m64 -fPIC'  CPPFLAGS='-m64 -fPIC'</i> option to the command line. 
+
+3. If the *configure* command has finished successfully, start  the building process 
+
+       make   
+
+4. If building has finished successfully, start the installation of FreeType. 
+   All binary and service files of the product will be copied to the directory defined by *FREETYPE_INSTALL_DIR*.
+
+       make install   
+    
+@subsection dev_guides__building_3rdparty_osx_3_1 TBB 3.x or 4.x
+
+This third-party product is installed with binaries from the archive 
+that can be downloaded from https://github.com/intel/tbb.
+Go to the **Download** page, find the release version you need (e.g. *tbb30_018oss*) 
+and  pick the archive for Mac OS X platform. 
+To install, unpack the downloaded archive of TBB 3.0 product (*tbb30_018oss_osx.tgz*).
+
+@subsection dev_guides__building_3rdparty_osx_3_3 FreeImage 3.14.1 or 3.15.x
+
+Download the necessary archive from 
+https://sourceforge.net/projects/freeimage/files/Source%20Distribution/
+and unpack it. The directory with unpacked sources is  further referred to as *FREEIMAGE_SRC_DIR*.  
+
+Note that for building FreeImage on Mac OS X 10.7 you should replace *Makefile.osx* 
+in *FREEIMAGE_SRC_DIR* by the corrected file, which you can find in attachment to issue #22811 in OCCT Mantis bug tracker 
+(https://tracker.dev.opencascade.org/file_download.php?file_id=6937&type=bug).
+
+1. If you build FreeImage 3.15.x you can skip this  step. 
+   Modify <i>FREEIMAGE_SRC_DIR/Source/OpenEXR/Imath/ImathMatrix.h:</i> 
+  
+   In line 60 insert the following: 
+
+       #include string.h 
+
+   Modify <i>FREEIMAGE_SRC_DIR/Source/FreeImage/PluginTARGA.cpp:</i> 
+  
+   In line 320 replace: 
+
+       SwapShort(value); 
+
+   with: 
+
+       SwapShort(&value); 
+
+2. Enter the directory where the source files of FreeImage  are located <i>(FREEIMAGE_SRC_DIR)</i>. 
+
+       cd FREEIMAGE_SRC_DIR 
+
+3. Run the building process 
+
+       make   
+
+4. Run the installation process 
+   
+   1. If you have the permission to write into <i>/usr/local/include</i>  and <i>/usr/local/lib</i> directories, run the following command: 
+
+          make install   
+
+   2. If you do not have this permission, you need to modify file *FREEIMAGE_SRC_DIR/Makefile.osx*: 
+
+      Change line 49 from:     
+
+          PREFIX ?= /usr/local
+
+      to:
+   
+          PREFIX  ?= $(PREFIX) 
+
+      Change lines 65-69 from: 
+
+          install -d -m 755 -o  root -g wheel $(INCDIR) $(INSTALLDIR) 
+          install  -m 644 -o root -g wheel $(HEADER) $(INCDIR) 
+          install  -m 644 -o root -g wheel $(SHAREDLIB) $(STATICLIB) $(INSTALLDIR) 
+          ranlib  -sf $(INSTALLDIR)/$(STATICLIB) 
+          ln  -sf $(SHAREDLIB) $(INSTALLDIR)/$(LIBNAME) 
+    
+      to: 
+
+          install  -d $(INCDIR) $(INSTALLDIR) 
+          install  -m 755 $(HEADER) $(INCDIR) 
+          install  -m 755 $(STATICLIB) $(INSTALLDIR) 
+          install  -m 755 $(SHAREDLIB) $(INSTALLDIR) 
+          ln  -sf $(SHAREDLIB) $(INSTALLDIR)/$(VERLIBNAME)  
+          ln  -sf $(VERLIBNAME) $(INSTALLDIR)/$(LIBNAME)
+
+      Then run the installation process by the following command: 
+  
+          make PREFIX=FREEIMAGE_INSTALL_DIR  install 
+  
+5. Clean temporary files 
+  
+       make clean 
\ No newline at end of file
diff --git a/dox/build/build_3rdparty/images/3rdparty_image001.png b/dox/build/build_3rdparty/images/3rdparty_image001.png
new file mode 100644 (file)
index 0000000..d021815
Binary files /dev/null and b/dox/build/build_3rdparty/images/3rdparty_image001.png differ
diff --git a/dox/build/build_3rdparty/images/3rdparty_image003.png b/dox/build/build_3rdparty/images/3rdparty_image003.png
new file mode 100644 (file)
index 0000000..c7fd21d
Binary files /dev/null and b/dox/build/build_3rdparty/images/3rdparty_image003.png differ
diff --git a/dox/build/build_3rdparty/images/3rdparty_image004.png b/dox/build/build_3rdparty/images/3rdparty_image004.png
new file mode 100644 (file)
index 0000000..1b41730
Binary files /dev/null and b/dox/build/build_3rdparty/images/3rdparty_image004.png differ
diff --git a/dox/build/build_3rdparty/images/3rdparty_image005.png b/dox/build/build_3rdparty/images/3rdparty_image005.png
new file mode 100644 (file)
index 0000000..7ee7289
Binary files /dev/null and b/dox/build/build_3rdparty/images/3rdparty_image005.png differ
diff --git a/dox/build/build_3rdparty/images/3rdparty_image006.png b/dox/build/build_3rdparty/images/3rdparty_image006.png
new file mode 100644 (file)
index 0000000..f1d55a2
Binary files /dev/null and b/dox/build/build_3rdparty/images/3rdparty_image006.png differ
diff --git a/dox/build/build_3rdparty/images/3rdparty_image007.png b/dox/build/build_3rdparty/images/3rdparty_image007.png
new file mode 100644 (file)
index 0000000..91321e8
Binary files /dev/null and b/dox/build/build_3rdparty/images/3rdparty_image007.png differ
diff --git a/dox/build/build_3rdparty/images/genconf_linux.png b/dox/build/build_3rdparty/images/genconf_linux.png
new file mode 100644 (file)
index 0000000..9125c47
Binary files /dev/null and b/dox/build/build_3rdparty/images/genconf_linux.png differ
diff --git a/dox/build/build_3rdparty/images/genconf_osx.png b/dox/build/build_3rdparty/images/genconf_osx.png
new file mode 100644 (file)
index 0000000..f7b53fd
Binary files /dev/null and b/dox/build/build_3rdparty/images/genconf_osx.png differ
diff --git a/dox/build/build_3rdparty/images/genconf_windows.png b/dox/build/build_3rdparty/images/genconf_windows.png
new file mode 100644 (file)
index 0000000..409dff0
Binary files /dev/null and b/dox/build/build_3rdparty/images/genconf_windows.png differ
diff --git a/dox/build/build_documentation/building_documentation.md b/dox/build/build_documentation/building_documentation.md
new file mode 100644 (file)
index 0000000..8784a2e
--- /dev/null
@@ -0,0 +1,19 @@
+Build Documentation {#build_upgrade__building_documentation}
+=================
+
+To generate HTML documentation from sources contained in *dox* subdirectory, 
+you need to have Tcl and Doxygen 1.8.5 (or above) installed on your system.
+
+Use script **gendoc** (batch file on Windows, shell script on Linux / Mac OSX) to generate documentation.
+
+To generate Overview documentation:
+
+    cmd> gendoc -overview
+
+To generate Reference manual:
+
+    cmd> gendoc -refman
+
+Run this command without arguments to get help on supported options.
+
+See @ref occt_contribution__documentation for prerequisites and details on OCCT documentation system.
diff --git a/dox/build/build_occt/building_occt.md b/dox/build/build_occt/building_occt.md
new file mode 100644 (file)
index 0000000..ccb5a06
--- /dev/null
@@ -0,0 +1,582 @@
+Build OCCT {#build_upgrade__building_occt}
+===================
+
+@tableofcontents
+
+@note Before building OCCT, make sure to have all required third-party libraries installed.
+The list of required libraries depends on what OCCT modules will be used, and your preferences.
+The typical minimum is **Freetype** (necessary for Visualization) and **Tcl/Tk** (for DRAW).
+See @ref OCCT_OVW_SECTION_2 "requirements on 3rdparty libraries" for a full list.
+On OS X we recommend to use native libraries.
+
+@section build_occt_windows Windows
+
+@subsection build_occt_win_cmake Building with CMake tool
+
+This article describes the **CMake**-based build process, which is now suggested as a standard way to produce the binaries of Open CASCADE Technology from sources. *OCCT requires CMake version 2.8.12 or later*.
+
+@note Compared to the previous (6.x) releases of Open CASCADE Technology, OCCT 7.x has a complete set of CMake scripts and projects, so that there is no need to use WOK anymore. Moreover, CMake gives you a powerful configuration tool, which allows to control many aspects of OCCT deployment. At the same time this tool is quite intuitive, which is a significant advantage over the legacy WOK utilities.
+
+Here we describe the build procedure on the example of Windows platform with Visual Studio 2010. 
+However, CMake is cross-platform and can be used to build OCCT on Linux and OS X in essentially the same way.
+
+@note Before you start, make sure to have installed all 3-rd party products that you are going to use with OCCT; see @ref build_upgrade.
+
+@subsubsection build_cmake_start Start CMake
+
+CMake is a tool that generates the actual project files for the selected target build system (e.g. Unix makefiles) or IDE (e.g. Visual Studio 2010).
+
+For unexperienced users we recommend to start with *cmake-gui* -- a cross-platform GUI tool provided by CMake on Windows, Mac and Linux.
+A command-line alternative, *ccmake*  can also be used.
+
+CMake deals with three directories: source, build or binary and installation.
+
+* The source directory is where the sources of OCCT are located in your file system;
+* The build or binary directory is where all files created during CMake configuration and generation process will be located. The mentioned process will be described below.
+* The installation directory is where binaries will be installed after building the *INSTALL* project that is created by CMake generation process, along with header files and resources required for OCCT use in applications. 
+
+The good practice is not to use the source directory as a build one.
+Different configurations should be built in different build directories to avoid conflicts. 
+It is however possible to choose one installation directory for several configurations of OCCT (differentiated by platform, bitness, compiler and build type), for example:
+      
+    d:/occt/                   -- the source directory
+    d:/tmp/occt-build-vc10-x64 -- the build directory with the generated
+                                  solution and other intermediate files created during a CMake tool working
+    d:/occt-install            -- the installation directory that is
+                                  able to contain several OCCT configurations
+
+@subsubsection build_cmake_conf Configuration process
+
+If the command-line tool is used, run the tool from the build directory with a single argument indicating the source (relative or absolute path) directory:
+
+    cd d:/tmp/occt-build-vc10-x64
+    ccmake d:/occt
+
+@figure{/build/build_occt/images/cmake_image000.png}
+
+Press *c* to configure.
+
+All actions required in the configuration process with the GUI tool will be described below.
+
+If the GUI tool is used, run this tool without additional arguments and after that specify the source directory by clicking **Browse Source** and the build (binary) one by clicking **Browse Build**.
+
+@figure{/build/build_occt/images/cmake_image001.png}
+
+**Note**: Each configuration of the project should be built in its own directory. When building multiple configurations it is recommended to indicate in the name of build directories the system, bitness and compiler (e.g., <i>d:/occt/build/win32-vc10</i> ).
+
+Once the source and build directories are selected, "Configure" button should be pressed in order to start manual configuration process. It begins with selection of a target configurator. It is "Visual Studio 10 2010 Win64" in our example.
+
+@figure{/build/build_occt/images/cmake_image002.png}
+
+To build OCCT for **Universal Windows Platform (UWP)** specify the path to toolchain file for cross-compiling <i>d:/occt/adm/templates/uwp.toolchain.config.cmake</i>.
+
+Alternatively, if you are using CMake from the command line add options -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10.0 .
+
+**Note**: Universal Windows Platform (UWP) is supported only on "Visual Studio 14 2015". File <i>d:/occt/samples/xaml/ReadMe.md</i> describes the building procedure of XAML (UWP) sample.
+
+Once "Finish" button is pressed, the first pass of the configuration process is executed. At the end of the process, CMake outputs the list of environment variables, which have to be properly specified for successful configuration. 
+
+@figure{/build/build_occt/images/cmake_image003.png}
+
+The error message provides some information about these variables. This message will appear after each pass of the process until all required variables are specified correctly.
+
+The change of the state of some variables can lead to the appearance of new variables. The new variables appeared after the pass of the configuration process are highlighted with red color by CMake GUI tool.
+
+Note: There is "grouped" option, which groups variables with a common prefix.
+
+The following table gives the full list of environment variables used at the configuration stage:
+
+| Variable | Type | Purpose |
+|----------|------|---------|
+| CMAKE_BUILD_TYPE | String | Specifies the build type on single-configuration generators (such as make).  Possible values are Debug, Release and RelWithDebInfo |
+| USE_FREEIMAGE | Boolean flag | Indicates whether FreeImage product should be used in OCCT visualization module for support of popular graphics image formats (PNG, BMP, etc.) |
+| USE_RAPIDJSON | Boolean flag | Indicates whether RapidJSON product should be used in OCCT Data Exchange module for support of glTF mesh file format |
+| USE_TBB | Boolean flag | Indicates whether TBB 3rd party is used or not. TBB stands for Threading Building Blocks, the technology of Intel Corp, which comes with different mechanisms and patterns for injecting parallelism into your application. OCCT remains parallel even without TBB product |
+| USE_VTK | Boolean flag | Indicates whether VTK 3rd party is used or not. VTK stands for Visualization ToolKit, the technology of Kitware Inc intended for general-purpose scientific visualization. OCCT comes with a bridge between CAD data representation and VTK by means of its dedicated VIS component (VTK Integration Services). You may skip this 3rd party unless you are planning to use VTK visualization for OCCT geometry. See the official documentation @ref occt_user_guides__vis for the details on VIS |
+| 3RDPARTY_DIR | Path | Defines the root directory where all required 3rd party products will be searched. Once you define this path it is very convenient to click "Configure" button in order to let CMake automatically detect all necessary products|
+| 3RDPARTY_FREETYPE_* | Path | Path to Freetype binaries |
+| 3RDPARTY_TCL_* 3RDPARTY_TK_* | Path | Path to Tcl/Tk binaries |
+| 3RDPARTY_FREEIMAGE* | Path | Path to Freeimage binaries |
+| 3RDPARTY_TBB* | Path | Path to TBB binaries |
+| 3RDPARTY_VTK_* | Path | Path to VTK binaries |
+| BUILD_MODULE_<MODULE>| Boolean flag | Indicates whether the corresponding OCCT module should be built or not. It should be noted that some toolkits of a module can be built even if this module is not checked (this happens if some other modules depend on these toolkits). The main modules and their descriptions can be found in @ref user_guides |
+| BUILD_LIBRARY_TYPE | String |  Specifies the type of library to be created. "Shared" libraries are linked dynamically and loaded at runtime. "Static" libraries are archives of object files used when linking other targets. Note that Draw Harness plugin system is incompatible with "Static" builds, and therefore it is disabled for these builds.|
+| BUILD_ADDITIONAL_TOOLKITS | String | Semicolon-separated individual toolkits to include into build process. If you want to build some particular libraries (toolkits) only, then you may uncheck all modules in the corresponding *BUILD_MODUE_\<MODULE\>* options and provide the list of necessary libraries here. Of course, all dependencies will be resolved automatically |
+| BUILD_YACCLEX | Boolean flag | Enables Flex/Bison lexical analyzers. OCCT source files relating to STEP reader and ExprIntrp functionality are generated automatically with Flex/Bison. Checking this option leads to automatic search of Flex/Bison binaries and regeneration of the mentioned files |
+| BUILD_SAMPLES_MFC | Boolean flag | Indicates whether MFC samples should be built together with OCCT. This option is only relevant to Windows platforms |
+| BUILD_SAMPLES_QT | Boolean flag | Indicates whether QT samples should be built together with OCCT. |
+| BUILD_Inspector | Boolean flag | Indicates whether Inspector should be built together with OCCT. |
+| BUILD_DOC_Overview | Boolean flag | Indicates whether OCCT overview documentation project should be created together with OCCT. It is not built together with OCCT. Checking this option leads to automatic search of Doxygen binaries. Its building calls Doxygen command to generate the documentation in HTML format |
+| BUILD_PATCH | Path | Points to the directory recognized as a "patch" for OCCT. If specified, the files from this directory take precedence over the corresponding native OCCT sources. This way you are able to introduce patches to Open CASCADE Technology not affecting the original source distribution |
+| BUILD_WITH_DEBUG | Boolean flag | Enables extended messages of many OCCT algorithms, usually printed to cout. These include messages on internal errors and special cases encountered, timing, etc. |
+| BUILD_ENABLE_FPE_SIGNAL_HANDLER | Boolean flag | Enable/Disable the floating point exceptions (FPE) during DRAW execution only. Corresponding environment variable (CSF_FPE) can be changed manually in custom.bat/sh scripts without regeneration by CMake. |
+| CMAKE_CONFIGURATION_TYPES | String | Semicolon-separated CMake configurations |
+| INSTALL_DIR | Path | Points to the installation directory. *INSTALL_DIR* is a synonym of *CMAKE_INSTALL_PREFIX*. The user can specify both *INSTALL_DIR* or *CMAKE_INSTALL_PREFIX* |
+| INSTALL_DIR_BIN | Path | Relative path to the binaries installation directory (absolute path is ${INSTALL_DIR}/${INSTALL_DIR_BIN}) |
+| INSTALL_DIR_SCRIPT | Path | Relative path to the scripts installation directory (absolute path is ${INSTALL_DIR}/${INSTALL_DIR_SCRIPT}) |
+| INSTALL_DIR_LIB | Path | Relative path to the libraries installation directory (absolute path is ${INSTALL_DIR}/${INSTALL_DIR_LIB}) |
+| INSTALL_DIR_INCLUDE | Path | Relative path to the includes installation directory (absolute path is ${INSTALL_DIR}/${INSTALL_DIR_INCLUDE}) |
+| INSTALL_DIR_RESOURCE | Path | Relative path to the resources installation directory (absolute path is ${INSTALL_DIR}/${INSTALL_DIR_RESOURCE}) |
+| INSTALL_DIR_LAYOUT | String | Defines the structure of OCCT files (binaries, resources, headers, etc.) for the install directory. Two variants are predefined: for Windows (standard OCCT layout) and for Unix operating systems (standard Linux layout). If needed, the layout can be customized with INSTALL_DIR_* variables |
+| INSTALL_DIR_DATA | Path | Relative path to the data files installation directory (absolute path is ${INSTALL_DIR}/${INSTALL_DIR_DATA}) |
+| INSTALL_DIR_SAMPLES | Path | Relative path to the samples installation directory. Note that only "samples/tcl" folder will be installed. (absolute path is ${INSTALL_DIR}/${INSTALL_DIR_SAMPLES}) |
+| INSTALL_DIR_TESTS | Path | Relative path to the tests installation directory (absolute path is ${INSTALL_DIR}/${INSTALL_DIR_TESTS}) |
+| INSTALL_DIR_DOC | Path | Relative path to the documentation installation directory (absolute path is ${INSTALL_DIR}/${INSTALL_DIR_DOC}) |
+| INSTALL_FREETYPE | Boolean flag | Indicates whether Freetype binaries should be installed into the installation directory |
+| INSTALL_FREEIMAGE* | Boolean flag | Indicates whether Freeimage binaries should be installed into the installation directory |
+| INSTALL_TBB | Boolean flag | Indicates whether TBB binaries should be installed into the installation directory |
+| INSTALL_VTK | Boolean flag | Indicates whether VTK binaries should be installed into the installation directory |
+| INSTALL_TCL | Boolean flag | Indicates whether TCL binaries should be installed into the installation directory |
+| INSTALL_TEST_CASES | Boolean flag | Indicates whether non-regression OCCT test scripts should be installed into the installation directory |
+| INSTALL_DOC_Overview | Boolean flag | Indicates whether OCCT overview documentation should be installed into the installation directory |
+
+**Note:** Only the forward slashes ("/") are acceptable in the CMake options defining paths.
+
+@subsubsection build_cmake_3rdparty 3rd party search mechanism
+
+If *3RDPARTY_DIR* directory is defined, then required 3rd party binaries are sought in it, and default system folders are ignored.
+
+The procedure expects to find binary and header files of each 3rd party product in its own sub-directory: *bin*, *lib* and *include*.
+
+The results of the search (achieved on the next pass of the configuration process) are recorded in the corresponding variables:
+
+* *3RDPARTY_\<PRODUCT\>_DIR* -- path to the 3rdparty directory (with directory name) (e.g. <i>D:/3rdparty/tcltk-86-32</i>)
+* *3RDPARTY_\<PRODUCT\>_LIBRARY_DIR* -- path to the directory containing a library (e.g. <i>D:/3rdparty/tcltk-86-32/lib</i>). 
+* *3RDPARTY_\<PRODUCT\>_INCLUDE_DIR* -- path to the directory containing a header file (e.g., <i>D:/3rdparty/tcltk-86-32/include</i>)
+* *3RDPARTY_\<PRODUCT\>_DLL_DIR* -- path to the directory containing a shared library (e.g., <i>D:/3rdparty/tcltk-86-32/bin</i>) This variable is only relevant to Windows platforms.
+
+Note: each library and include directory should be children of the product directory if the last one is defined.
+
+The search process is as follows:
+
+1. Common path: *3RDPARTY_DIR*
+2. Path to a particular 3rd-party library: *3RDPARTY_\<PRODUCT\>_DIR*
+3. Paths to headers and binaries:
+   1. *3RDPARTY_\<PRODUCT\>_INCLUDE_DIR*
+   2. *3RDPARTY_\<PRODUCT\>_LIBRARY_DIR*
+   3. *3RDPARTY_\<PRODUCT\>_DLL_DIR*
+
+If a variable of any level is not defined (empty or <i> \<variable name\>-NOTFOUND </i>) and the upper level variable is defined, the content of the non-defined variable will be sought at the next configuration step. If the search process at level 3 does not find the required files, it seeks in default places.
+
+If a search result (include path, or library path, or dll path) does not meet your expectations, you can change *3RDPARTY_\<PRODUCT\>_*_DIR variable*, clear (if they are not empty) *3RDPARTY_\<PRODUCT\>_DLL_DIR, 3RDPARTY_\<PRODUCT\>_INCLUDE_DIR* and 3RDPARTY_\<PRODUCT\>_LIBRARY_DIR variables (or clear one of them) and run the configuration process again.
+
+At this time the search will be performed in the newly identified directory 
+and the result will be recorded to corresponding variables (replace old value if it is necessary).
+
+For example, *3RDPARTY_FREETYPE_DIR* variable 
+
+    d:/3rdparty/freetype-2.4.10
+
+can be changed to 
+
+    d:/3rdparty/freetype-2.5.3
+
+During the configuration process the related variables (*3RDPARTY_FREETYPE_DLL_DIR*, *3RDPARTY_FREETYPE_INCLUDE_DIR* and *3RDPARTY_FREETYPE_LIBRARY_DIR*) will be filled with new found values.
+
+**Note**: The names of searched libraries and header files are hard-coded. If there is the need to change their names, change appropriate cmake variables (edit CMakeCache.txt file or edit in cmake-gui in advance mode) without reconfiguration: *3RDPARTY_\<PRODUCT\>_INCLUDE* for include, *3RDPARTY_\<PRODUCT\>_LIB* for library and *3RDPARTY_\<PRODUCT\>_DLL* for shared library.
+
+@subsubsection build_cmake_gen Projects generation
+
+Once the configuration process is done, the "Generate" button is used to prepare project files for the target IDE. In our exercise the Visual Studio solution will be automatically created in the buid directory.
+
+@subsubsection build_cmake_build Building
+
+Go to the build folder, start the Visual Studio solution *OCCT.sln* and build it by clicking **Build -> Build Solution**.
+
+@figure{/build/build_occt/images/cmake_image004.png}
+
+By default the build solution process skips the building of the INSTALL and Overview project.
+
+When the building process is finished build:
+* Overview project to generate OCCT overview documentation (if BUILD_DOC_Overview variable is checked)
+* the *INSTALL* project to run **the installation process**
+
+For this, right-click on the *Overview/INSTALL* project and select **Project Only -> Build Only** -> *Overview/INSTALL* in the solution explorer. 
+
+@subsubsection build_cmake_install Installation
+
+Installation is a process of extracting redistributable resources (binaries, include files etc) from the build directory into the installation one. The installation directory will be free of project files, intermediate object files and any other information related to the build routines. 
+
+Normally you use the installation directory of OCCT to link against your specific application. 
+
+The directory structure is as follows:
+    
+    data            -- data files for OCCT (brep, iges, stp)
+    doc             -- OCCT overview documentation in HTML format
+    inc             -- header files
+    samples         -- samples
+    src             -- all required source files for OCCT
+    tests           -- OCCT test suite
+    win32\vc10\bind -- binary files (installed 3rdparties and occt)
+              \libd -- libraries (installed 3rdparties and occt)
+
+**Note:** The above example is given for debug configuration. However, it is generally safe to use the same installation directory for the release build. In the latter case the contents of install directory will be enriched with subdirectories and files related to the release configuration. In particular, the binaries directory win64 will be expanded as
+follows:
+
+    \win32\vc10\bind
+               \libd
+               \bin
+               \lib
+
+If CMake installation flags are enabled for the 3rd party products (e.g. INSTALL_FREETYPE), then the corresponding binaries will be copied to the same bin(d) and lib(d) directories together with the native binaries of OCCT. Such organization of libraries can be especially helpful if your OCCT-based software does not use itself the 3rd parties of Open CASCADE Technology (thus, there is no sense to pack them into dedicated directories).
+
+The installation folder contains the scripts to run *DRAWEXE* (*draw.bat* or *draw.sh*), samples (if they were installed) and overview.html (short-cut for installed OCCT overview documentation).
+
+@subsection build_occt_win_codeblocks Building with Code::Blocks
+
+This file describes steps to build OCCT libraries from sources using **Code::Blocks**, a cross-platform IDE, using project files generated by OCCT legacy tool **genproj**.
+It can be used as an alternative to CMake build system (see @ref build_occt_win_cmake) for all supported platforms.
+
+@subsubsection build_codeblocks_3rdparty Third-party libraries
+
+Before building OCCT, make sure to have all the needed third-party libraries installed, see @ref build_upgrade.
+
+@subsubsection build_codeblocks_conf Configuration
+
+Before building it is necessary to set up build environment.
+
+The environment is defined in the file *custom.sh* (on Linux and OS X) or *custom.bat* (on Windows) which can be edited directly:
+
+* Add paths to includes of used third-party libraries in variable *CSF_OPT_INC*. 
+* Add paths to their binary libraries in variable  *CSF_OPT_LIB64*.
+* Set variable *SHORTCUT_HEADERS* to specify a method for population of folder *inc* by header files. Supported methods are:
+  * *Copy* - headers will be copied from *src*;
+  * *ShortCut* - short-cut header files will be created, redirecting to same-named header located in *src*;
+  * "HardLink* - hard links to headers located in *src* will be created.
+* For optional  third-party libraries, set corresponding environment variable <i>HAVE_<LIBRARY_NAME></i> to either *false*,  e.g.:
+~~~~~
+       export HAVE_FREEIMAGE=false
+~~~~~
+
+Alternatively, or when *custom.sh* or *custom.bat* does not exist, you can launch **genconf** tool to configure environment interactively:
+
+@figure{/build/build_occt/images/genconf_linux.png}
+
+Click "Save" to store the specified configuration in *custom.sh* or *custom.bat* file.
+  
+@subsubsection build_codeblocks_gen Projects generation
+
+Launch **genproj** tool with option *cbp* to update content of *inc* folder and generate project files after changes in OCCT code affecting layout or composition of source files:
+
+~~~~~
+  $ cd /dev/OCCT/opencascade-7.0.0
+  $ ./genproj cbp
+~~~~~
+
+The generated Code::Blocks project are placed into subfolder *adm/&lt;OS&gt;/cbp*.
+
+@note To use **genproj** and **genconf** tools you need to have Tcl installed and accessible by PATH.
+
+@subsubsection build_codeblocks_build Building
+
+To start **Code::Blocks**, launch script *codeblocks.sh*.
+
+To build all toolkits, click **Build->Build workspace** in the menu bar.
+
+To start *DRAWEXE*, which has been built with **Code::Blocks** on Mac OS X, run the script
+~~~~~
+   ./draw.sh cbp [d]
+~~~~~
+Option *d* is used if OCCT has been built in **Debug** mode.
+
+@subsection build_occt_genproj Building with Genproj tool
+
+This page describes steps to build OCCT libraries from a complete source archive on Windows with <b>MS Visual C++</b> using projects generated by **genproj** tool. 
+It is an alternative to use of CMake build system (see @ref build_occt_win_cmake).
+
+**genproj** is a legacy tool (originated from command "wgenproj" in WOK) for generation of Visual Studio, Code.Blocks, and XCode project files used for building Open CASCADE Technology.
+These project files are placed inside OCCT directory (in *adm* subfolder) and use relative paths, thus can be moved together with sources.
+
+The project files included in official distribution of OCCT are generated by this tool.
+If you have official distribution with project files included, you can use them directly without a need to call **genproj**.
+
+@subsubsection build_msvc_3rdparty Third-party libraries
+
+Before building OCCT, make sure to have all the required third-party libraries installed.
+
+The easiest way to install third-party libraries is to download archive with pre-built binaries, corresponding to version of Visual Studio you are using, from https://opencascade.com/content/3rd-party-components.
+
+You can also build third-party libraries from their sources, see @ref build_upgrade_building_3rdparty for instructions.
+
+@subsubsection build_msvc_conf Configuration
+
+If you have Visual Studio projects already available (pre-installed or generated), you can edit file *custom.bat* manually to adjust the environment:
+
+* *VCVER* -- specification of format of project files, defining also version of Visual Studio to be used, and default name of the sub-folder for binaries:
+
+| VCVER     | Visual Studio version | Windows Platform                 | Binaries folder name |
+|-----------|-----------------------|----------------------------------|----------------------|
+| vc10      | 2010 (10)             | Desktop (Windows API)            | vc10 |
+| vc11      | 2012 (11)             | Desktop (Windows API)            | vc11 |
+| vc12      | 2013 (12)             | Desktop (Windows API)            | vc12 |
+| vc14      | 2015 (14)             | Desktop (Windows API)            | vc14 |
+| vc14-uwp  | 2015 (14)             | UWP (Universal Windows Platform) | vc14-uwp |
+| vc141     | 2017 (15)             | Desktop (Windows API)            | vc14 |
+| vc141-uwp | 2017 (15)             | UWP (Universal Windows Platform) | vc14-uwp |
+| vc142     | 2019 (16)             | Desktop (Windows API)            | vc14 |
+| vc142-uwp | 2019 (16)             | UWP (Universal Windows Platform) | vc14-uwp |
+
+* *ARCH* -- architecture (32 or 64), affects only *PATH* variable for execution
+* <i>HAVE_*</i> -- flags to enable or disable use of optional third-party products
+* <i>CSF_OPT_*</i> -- paths to search for includes and binaries of all used  third-party products
+* *SHORTCUT_HEADERS* -- defines method for population of folder *inc* by header files. Supported methods are:
+  * *Copy* - headers will be copied from *src*;
+  * *ShortCut* - short-cut header files will be created, redirecting to same-named header located in *src*;
+  * "HardLink* - hard links to headers located in *src* will be created.
+
+Alternatively, you can launch **genconf**, a GUI tool allowing to configure build options interactively.
+That tool will analyze your environment and propose you to choose available options:
+
+* Version of Visual Studio to be used (from the list of installed ones, detected by presence of environment variables like *VS100COMNTOOLS*).
+* Method to populate folder *inc* (short-cuts by default).
+* Location of third-party libraries (usually downloaded from OCCT web site, see above).
+* Path to common directory where third-party libraries are located (optional).
+* Paths to headers and binaries of the third-party libraries (found automatically basing on previous options; click button "Reset" to update).
+* Generation of PDB files within Release build ("Release with Debug info", false by default).
+
+@figure{/build/build_occt/images/genconf_windows.png}
+
+Click "Save" to store the specified configuration in *custom.bat* file.
+  
+@subsubsection build_msvc_generate Projects generation
+
+Launch **genproj** to update content of *inc* folder and generate project files after changes in OCCT code affecting layout or composition of source files.
+
+@note To use **genproj** and **genconf** tools you need to have Tcl installed and accessible by PATH.
+If Tcl is not found, the tool may prompt you to enter the path to directory where Tcl can be found.
+~~~~~
+  $ genproj.bat
+~~~~~
+
+Note that if *custom.bat* is not present, **genproj** will start **genconf** to configure environment.
+
+@subsubsection build_msvc_build Building
+
+Launch *msvc.bat* to start Visual Studio with all necessary environment variables defined, and build the whole solution or required toolkits.
+
+Note: the MSVC project files are located in folders <i>adm\\msvc\\vc...</i>.
+Binaries are produced in *win32* or *win64* folders.
+
+To start DRAW, launch *draw.bat*.
+
+@section build_occt_linux Linux
+
+You may choose one of the following ways to generate, configure and build OCCT sources on Linux just keeping in mind 
+this platform specific:
+
+* @ref build_occt_win_cmake "Configuration, generation and building OCCT on Windows using CMake tool"
+* @ref build_occt_code_blocks "Building on Mac OS X with Code::Blocks IDE"
+
+@section build_occt_crossplatform_cmake Android (cross-compiling)
+
+This article describes the steps to build OCCT libraries for Android from a complete source package
+with GNU make (makefiles). The steps on Windows 7 and Ubuntu 15.10 are similar. There is the only one difference:
+ makefiles are built with mingw32-make
+on Windows and native GNU make on Ubuntu.
+
+Required tools (download and install if it is required):
+  - CMake v3.0+ http://www.cmake.org/cmake/resources/software.html
+  - Cross-compilation toolchain for CMake https://github.com/taka-no-me/android-cmake
+  - Android NDK rev.10+ https://developer.android.com/tools/sdk/ndk/index.html
+  - GNU Make: MinGW v4.82+ for Windows (http://sourceforge.net/projects/mingw/files/), GNU Make 4.0 for Ubuntu. 
+
+Run GUI tool provided by CMake.
+
+@subsection build_occt_crossplatform_cmake_config Configuration
+
+**Configure Tools**
+  - Specify the root folder of OCCT (<i>$CASROOT</i>, which contains *CMakelists.txt* file) by clicking **Browse Source**.
+  - Specify the location (build folder) for Cmake generated project files by clicking **Browse Build**.
+
+@figure{/build/build_occt/images/android_image001.png}
+
+Click **Configure** button. It opens the window with a drop-down list of generators supported by CMake project.
+
+Select "MinGW MakeFiles" item from the list
+  - Choose "Specify toolchain file for cross-compiling"
+  - Click "Next"
+@figure{/build/build_occt/images/android_image002.png}
+
+  - Specify a toolchain file at the next dialog by android.toolchain.cmake . It is contained by cross-compilation 
+toolchain for CMake
+  - Click "Finish"
+@figure{/build/build_occt/images/android_image003.png}
+
+If ANDROID_NDK environment variable is not defined in current OS, add cache entry ANDROID_NDK (entry type is PATH) -- 
+path to the NDK folder ("Add Entry" button)
+@figure{/build/build_occt/images/android_image004.png}
+
+If on Windows the message is appeared: "CMake Error: CMake was unable to find a build program corresponding 
+to "MinGW Makefiles"
+CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.",
+specify **CMAKE_MAKE_PROGRAM** to mingw32-make executable.
+@figure{/build/build_occt/images/android_image005.png}
+
+**Configure OCCT**
+
+How to configure OCCT, see "OCCT Configuration" section of @ref build_occt_win_cmake 
+"Configure, Generate, Build using CMake tool" taking into account the specific configuration variables for android:
+  - ANDROID_ABI = armeabi-v7a
+  - ANDROID_NATIVE_API_LEVEL = 15
+  - ANDROID_NDK_LAYOUT is equal to CMAKE_BUILD_TYPE variable
+  - **BUILD_MODULE_Draw = OFF**
+
+@figure{/build/build_occt/images/android_image006.png}
+
+@subsection build_occt_crossplatform_cmake_generation Generate Makefiles
+
+Click **Generate** button and wait until the generation process is finished. 
+Then makefiles will appear in the build folder (e.g. <i> D:/tmp/occt-android </i>).
+
+@subsection build_occt_crossplatform_cmake_building Build Makefiles
+
+Open console and go to the build folder. Type "mingw32-make" (Windows) or "make" (Ubuntu) to start build process.
+
+> mingw32-make
+or
+> make
+
+Parallel building can be started with using **"-jN"** argument of "mingw32-make/make", where N is the number of
+ building threads.
+
+> mingw32-make -j4
+or
+> make -j4
+
+@subsection build_occt_crossplatform_cmake_install Install OCCT Libraries
+
+Type "mingw32-make/make" with argument "install" to place the libraries to the install folder
+
+> mingw32-make install
+or
+> make install
+
+@section build_occt_macos Mac OS X
+
+@subsection build_occt_macos_xcode Building with Xcode
+
+This file describes steps to build OCCT libraries from sources on Mac OS X with **Xcode** projects, generated by OCCT legacy tool **genproj**.
+
+<h2>Configuration</h2>
+
+Before building it is necessary to set up build environment.
+
+The environment is defined in the file *custom.sh* which can be edited directly:
+
+* Add paths to includes of used third-party libraries in variable *CSF_OPT_INC* (use colon ":" as path separator).
+* Add paths to their binary libraries in variable  *CSF_OPT_LIB64*.
+* Set variable *SHORTCUT_HEADERS* to specify a method for population of folder *inc* by header files. Supported methods are:
+  * *Copy* - headers will be copied from *src*;
+  * *ShortCut* - short-cut header files will be created, redirecting to same-named header located in *src*;
+  * "HardLink* - hard links to headers located in *src* will be created.
+* For optional  third-party libraries, set corresponding environment variable <i>HAVE_<LIBRARY_NAME></i> to either *false*,  e.g.:
+~~~~~
+       export HAVE_GL2PS=false
+~~~~~
+
+Alternatively, or when *custom.sh* does not exist, you can launch *genconf.sh* to configure environment interactively:
+
+@figure{/build/build_occt/images/genconf_osx.png}
+
+Click "Save" to store the specified configuration in *custom.sh* file.
+  
+<h2>Projects generation</h2>
+
+Launch **genproj** tool to update content of *inc* folder and generate project files after changes in OCCT code affecting layout or composition of source files.
+
+@note To use **genproj** and **genconf** tools you need to have Tcl installed and accessible by PATH.
+
+For instance, in Terminal application:
+
+~~~~~
+  $ cd /dev/OCCT/opencascade-7.0.0
+  $ ./genproj
+~~~~~
+
+<h2>Building</h2>
+
+To start **Xcode**, launch script *xcode.sh*.
+
+To build a certain toolkit, select it in **Scheme** drop-down list in Xcode toolbar, press **Product** in the menu and click **Build** button. 
+
+To build the entire OCCT:
+* Create a new empty project (select **File -> New -> Project -> Empty project** in the menu; input the project name, e.g. *OCCT*; then click **Next** and **Create**).
+* Drag and drop the *OCCT* folder in the created *OCCT* project in the Project navigator.
+* Select **File -> New -> Target -> Aggregate** in the menu. 
+* Enter the project name (e.g. *OCCT*) and click **Finish**. The **Build Phases** tab will open.  
+* Click "+" button to add the necessary toolkits to the target project. It is possible to select all toolkits by pressing **Command+A** combination. 
+
+<h2>Launching DRAW</h2>
+
+To start *DRAWEXE*, which has been built with Xcode on Mac OS X, perform the following steps:
+
+1.Open Terminal application
+
+2.Enter <i>\<OCCT_ROOT_DIR\></i>:
+~~~~~
+   cd \<OCCT_ROOT_DIR\>
+~~~~~
+
+3.Run the script
+~~~~~
+   ./draw_cbp.sh xcd [d]
+~~~~~
+
+Option *d* is used if OCCT has been built in **Debug** mode.
+
+@subsection build_occt_code_blocks Building with Code::Blocks
+
+This file describes steps to build OCCT libraries from sources using **Code::Blocks**, a cross-platform IDE, using 
+project files generated by OCCT legacy tool **genproj**.
+
+<h2>Configure</h2>
+
+Before building it is necessary to set up build environment.
+
+The environment is defined in the file *custom.sh* (on Linux and OS X) or *custom.bat* (on Windows) which can be edited 
+directly:
+
+* Add paths to includes of used third-party libraries in variable *CSF_OPT_INC*. 
+* Add paths to their binary libraries in variable  *CSF_OPT_LIB64*.
+* Set variable *SHORTCUT_HEADERS* to specify a method for population of folder *inc* by header files. Supported methods are:
+  * *Copy* - headers will be copied from *src*;
+  * *ShortCut* - short-cut header files will be created, redirecting to same-named header located in *src*;
+  * "HardLink* - hard links to headers located in *src* will be created.
+* For optional  third-party libraries, set corresponding environment variable <i>HAVE_<LIBRARY_NAME></i> to either *false*,  e.g.:
+~~~~~
+       export HAVE_GL2PS=false
+~~~~~
+
+Alternatively, or when *custom.sh* or *custom.bat* does not exist, you can launch **genconf** tool to configure
+ environment interactively:
+
+@figure{/build/build_occt/images/genconf_linux.png}
+
+Click "Save" to store the specified configuration in *custom.sh* or *custom.bat* file.
+  
+<h2>Generate Projects</h2>
+
+Launch **genproj** tool with option *cbp* to update content of *inc* folder and generate project files after changes in 
+OCCT code affecting layout or composition of source files:
+
+~~~~~
+  $ cd /dev/OCCT/opencascade-7.0.0
+  $ ./genproj cbp
+~~~~~
+
+The generated Code::Blocks project are placed into subfolder *adm/&lt;OS&gt;/cbp*.
+
+@note To use **genproj** and **genconf** tools you need to have Tcl installed and accessible by PATH.
+
+<h2>Build</h2>
+
+To start **Code::Blocks**, launch script *codeblocks.sh*.
+
+To build all toolkits, click **Build->Build workspace** in the menu bar.
+
+To start *DRAWEXE*, which has been built with **Code::Blocks** on Mac OS X, run the script
+~~~~~
+   ./draw_cbp.sh cbp [d]
+~~~~~
+Option *d* is used if OCCT has been built in **Debug** mode.
\ No newline at end of file
diff --git a/dox/build/build_occt/images/android_image001.png b/dox/build/build_occt/images/android_image001.png
new file mode 100644 (file)
index 0000000..b5c047e
Binary files /dev/null and b/dox/build/build_occt/images/android_image001.png differ
diff --git a/dox/build/build_occt/images/android_image002.png b/dox/build/build_occt/images/android_image002.png
new file mode 100644 (file)
index 0000000..64d002d
Binary files /dev/null and b/dox/build/build_occt/images/android_image002.png differ
diff --git a/dox/build/build_occt/images/android_image003.png b/dox/build/build_occt/images/android_image003.png
new file mode 100644 (file)
index 0000000..782b2d8
Binary files /dev/null and b/dox/build/build_occt/images/android_image003.png differ
diff --git a/dox/build/build_occt/images/android_image004.png b/dox/build/build_occt/images/android_image004.png
new file mode 100644 (file)
index 0000000..005ac50
Binary files /dev/null and b/dox/build/build_occt/images/android_image004.png differ
diff --git a/dox/build/build_occt/images/android_image005.png b/dox/build/build_occt/images/android_image005.png
new file mode 100644 (file)
index 0000000..1add49f
Binary files /dev/null and b/dox/build/build_occt/images/android_image005.png differ
diff --git a/dox/build/build_occt/images/android_image006.png b/dox/build/build_occt/images/android_image006.png
new file mode 100644 (file)
index 0000000..d9d9ff4
Binary files /dev/null and b/dox/build/build_occt/images/android_image006.png differ
diff --git a/dox/build/build_occt/images/cmake_image000.png b/dox/build/build_occt/images/cmake_image000.png
new file mode 100644 (file)
index 0000000..efe9a6d
Binary files /dev/null and b/dox/build/build_occt/images/cmake_image000.png differ
diff --git a/dox/build/build_occt/images/cmake_image001.png b/dox/build/build_occt/images/cmake_image001.png
new file mode 100644 (file)
index 0000000..a4f234d
Binary files /dev/null and b/dox/build/build_occt/images/cmake_image001.png differ
diff --git a/dox/build/build_occt/images/cmake_image002.png b/dox/build/build_occt/images/cmake_image002.png
new file mode 100644 (file)
index 0000000..5ebc0b3
Binary files /dev/null and b/dox/build/build_occt/images/cmake_image002.png differ
diff --git a/dox/build/build_occt/images/cmake_image003.png b/dox/build/build_occt/images/cmake_image003.png
new file mode 100644 (file)
index 0000000..3e39569
Binary files /dev/null and b/dox/build/build_occt/images/cmake_image003.png differ
diff --git a/dox/build/build_occt/images/cmake_image004.png b/dox/build/build_occt/images/cmake_image004.png
new file mode 100644 (file)
index 0000000..81b11ce
Binary files /dev/null and b/dox/build/build_occt/images/cmake_image004.png differ
diff --git a/dox/build/build_occt/images/genconf_linux.png b/dox/build/build_occt/images/genconf_linux.png
new file mode 100644 (file)
index 0000000..9125c47
Binary files /dev/null and b/dox/build/build_occt/images/genconf_linux.png differ
diff --git a/dox/build/build_occt/images/genconf_osx.png b/dox/build/build_occt/images/genconf_osx.png
new file mode 100644 (file)
index 0000000..f7b53fd
Binary files /dev/null and b/dox/build/build_occt/images/genconf_osx.png differ
diff --git a/dox/build/build_occt/images/genconf_windows.png b/dox/build/build_occt/images/genconf_windows.png
new file mode 100644 (file)
index 0000000..409dff0
Binary files /dev/null and b/dox/build/build_occt/images/genconf_windows.png differ
diff --git a/dox/build/build_upgrade.md b/dox/build/build_upgrade.md
new file mode 100644 (file)
index 0000000..9693f8a
--- /dev/null
@@ -0,0 +1,10 @@
+Build, Debug and Upgrade {#build_upgrade}
+=================
+
+This chapter contains the detailed infomation about building, debugging and upgrade procedures:
+
+* @subpage build_upgrade__building_occt
+* @subpage build_upgrade_building_3rdparty
+* @subpage build_upgrade__building_documentation
+* @subpage occt__debug
+* @subpage occt__upgrade
index f99855e..e64324b 100644 (file)
@@ -3,14 +3,13 @@
 
 The following documents provide information on OCCT building, development and testing:
 
-* @subpage occt_dev_guides__building "Building OCCT from sources"
-* @subpage occt_dev_guides__documentation "Documentation system"
+* @subpage occt_contribution__documentation "Documentation system"
 * @subpage occt_dev_guides__coding_rules "Coding Rules"
 * @subpage occt_dev_guides__contribution_workflow "Contribution Workflow"
 * @subpage occt_dev_guides__git_guide "Guide to installing and using Git for OCCT development"
 * @subpage occt_dev_guides__tests "Automatic Testing system"
-* @subpage occt_dev_guides__debug "Debugging tools and hints"
+* @subpage occt__debug "Debugging tools and hints"
 
 The following guide provides information relevant to upgrading applications developed with previous versions of OCCT, to recent one:
 
-* @subpage occt_dev_guides__upgrade "Upgrade from previous OCCT versions"
+* @subpage occt__upgrade "Upgrade from previous OCCT versions"
index 0344056..6e9ff69 100644 (file)
@@ -165,7 +165,7 @@ If the change affects a functionality described in @ref user_guides "User Guides
 
 If the change affects OCCT test system, build environment, or development tools described in @ref dev_guides "Developer Guides", the corresponding guide should be updated.
  
-The changes that break compatibility with the previous versions of OCCT (i.e. affecting API or behavior of existing functionality in the way that may require update of existing applications based on an earlier official release of OCCT to work correctly) should be described in the document @ref occt_dev_guides__upgrade "Upgrade from previous OCCT versions".
+The changes that break compatibility with the previous versions of OCCT (i.e. affecting API or behavior of existing functionality in the way that may require update of existing applications based on an earlier official release of OCCT to work correctly) should be described in the document @ref occt__upgrade "Upgrade from previous OCCT versions".
 It is recommended to add a sub-section for each change described.
 The description should provide the explanation of the incompatibility introduced by the change, and describe how it can be resolved (at least, in known situations).
 When feasible, the automatic upgrade procedure (adm/upgrade.tcl) can be extended by a new option to perform the required upgrade of the dependent code automatically. 
index 038a650..bea03d4 100644 (file)
@@ -1,4 +1,4 @@
- Documentation System {#occt_dev_guides__documentation}
+ Documentation System {#occt_contribution__documentation}
 ======================
 
 @tableofcontents
index 2a3fe68..7d93c42 100644 (file)
@@ -143,7 +143,7 @@ The official repository contains:
   - Extension: <code>.svg</code>
   - External program: <code>&lt;path_to_OCCT&gt;\\adm\\svgdiff.bat %%base %%mine %%bname %%yname</code>
 
-@figure{OCCT_GitGuide_V2_svgdiff.png,"",709}
+@figure{OCCT_GitGuide_V2_svgdiff.png,"",320}
 
 @subsection occt_gitguide_2_2 Linux platform
 
index f511636..e8381ff 100644 (file)
@@ -1,4 +1,4 @@
-Debugging tools and hints {#occt_dev_guides__debug}
+Debugging tools and hints {#occt__debug}
 =========================
 
 @tableofcontents
diff --git a/dox/dev_guides/building/3rdparty/3rdparty_linux.md b/dox/dev_guides/building/3rdparty/3rdparty_linux.md
deleted file mode 100644 (file)
index 8dcd8d8..0000000
+++ /dev/null
@@ -1,217 +0,0 @@
- Building 3rd-party libraries on Linux {#occt_dev_guides__building_3rdparty_linux}
-=========
-
-@tableofcontents 
-
-@section dev_guides__building_3rdparty_linux_1 Introduction
-
-This document presents additional guidelines for building third-party 
-products used by Open CASCADE Technology and samples on Linux platform. 
-
-The links for downloading the third-party products are available on the web site 
-of OPEN CASCADE SAS at 
-https://www.opencascade.com/content/3rd-party-components.
-
-There are two types of third-party products, which are  necessary to build OCCT: 
-  
-* Mandatory  products: 
-       * Tcl/Tk 8.5 - 8.6;  
-       * FreeType 2.4.10 - 2.5.3;
-* Optional  products: 
-       * TBB 3.x - 4.x;
-       * FreeImage 3.14.1 - 3.16.0;
-       * VTK 6.1.0.
-
-@section dev_guides__building_3rdparty_linux_2 Building Mandatory Third-party Products
-
-@subsection dev_guides__building_3rdparty_linux_2_1 Tcl/Tk 
-
-Tcl/Tk is required for DRAW test harness. 
-
-@subsubsection dev_guides__building_3rdparty_linux_2_1_2 Installation from sources: Tcl
-  
-Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it.
-  
-1. Enter the unix sub-directory of the directory where the Tcl source  files are located <i>(TCL_SRC_DIR)</i>. 
-
-       cd TCL_SRC_DIR/unix   
-
-2. Run the *configure* command:
-
-       configure --enable-gcc  --enable-shared --enable-threads --prefix=TCL_INSTALL_DIR   
-
-   For a 64 bit platform also add <i>--enable-64bit</i> option to the command line. 
-  
-3. If the configure command has finished successfully, start  the building process:
-  
-       make   
-
-4. If building is finished successfully, start the installation of Tcl. 
-   All binary and service files of the product will be copied to the directory defined by *TCL_INSTALL_DIR* 
-
-       make install   
-
-@subsubsection dev_guides__building_3rdparty_linux_2_1_3 Installation from sources: Tk
-  
-Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it.
-  
-1. Enter the unix sub-directory of the directory where the Tk source files are located <i>(TK_SRC_DIR)</i> 
-
-       cd TK_SRC_DIR/unix   
-
-2. Run the configure command, where <i>TCL_LIB_DIR</i> is *TCL_INSTALL_DIR/lib*.
-
-       configure --enable-gcc  --enable-shared --enable-threads --with-tcl=TCL_LIB_DIR  --prefix=TK_INSTALL_DIR   
-
-   For a 64 bit platform also add <i>--enable-64bit</i> option to the  command line. 
-
-3. If the configure command has finished successfully, start the building process: 
-
-       make   
-
-4. If the building has finished successfully, start the installation of Tk. 
-   All binary and service files of the product will be copied 
-   to the directory defined by *TK_INSTALL_DIR* (usually it is *TCL_INSTALL_DIR*) 
-
-       make install   
-
-@subsection dev_guides__building_3rdparty_linux_2_2 FreeType
-
-FreeType is required for text display in the 3D viewer. 
-Download the necessary archive from https://sourceforge.net/projects/freetype/files/ and unpack it.
-  
-1. Enter the directory where the source files of FreeType  are located <i>(FREETYPE_SRC_DIR)</i>. 
-
-       cd FREETYPE_SRC_DIR   
-
-2. Run the *configure* command: 
-  
-       configure  --prefix=FREETYPE_INSTALL_DIR   
-
-   For a 64 bit platform also add <i>CFLAGS='-m64 -fPIC'  CPPFLAGS='-m64 -fPIC'</i> option to the command line. 
-    
-3. If the *configure* command has finished successfully, start  the building process: 
-
-       make   
-
-4. If the building has finished successfully, start the installation of FreeType. 
-   All binary and service files of the product will be copied to the directory defined by *FREETYPE_INSTALL_DIR* 
-    
-       make install   
-
-@section dev_guides__building_3rdparty_linux_3 Building Optional Third-party Products
-    
-@subsection dev_guides__building_3rdparty_linux_3_1 TBB
-
-This third-party product is  installed with binaries from the archive that can be downloaded from https://github.com/intel/tbb.
-Go to the **Download** page, find the  release version you need and pick the archive for Linux platform.
-To install, unpack the downloaded archive of TBB product.
-
-@subsection dev_guides__building_3rdparty_linux_3_3 FreeImage
-
-Download the necessary archive from https://sourceforge.net/projects/freeimage/files/Source%20Distribution/
-and unpack it. The directory with unpacked sources is  further referred to as *FREEIMAGE_SRC_DIR*. 
-  
-1. Modify *FREEIMAGE_SRC_DIR/Source/OpenEXR/Imath/ImathMatrix.h*: 
-   In line 60 insert the following: 
-
-       #include string.h   
-
-2. Enter the directory where the source files of FreeImage are located <i>(FREEIMAGE_SRC_DIR)</i>. 
-  
-       cd FREEIMAGE_SRC_DIR   
-
-3. Run the building process 
-  
-       make   
-
-4. Run the installation process 
-
-   a. If you have the permission to write into directories <i>/usr/include</i> and <i>/usr/lib</i>, run the following command: 
-
-          make install   
-   b. If you do not have this permission, you need to modify file *FREEIMAGE_SRC_DIR/Makefile.gnu*: 
-  
-      Change lines 7-9 from:
-  
-          DESTDIR ?= /   
-          INCDIR  ?= $(DESTDIR)/usr/include   
-          INSTALLDIR  ?= $(DESTDIR)/usr/lib   
-
-      to: 
-
-          DESTDIR  ?= $(DESTDIR)   
-          INCDIR  ?= $(DESTDIR)/include   
-          INSTALLDIR  ?= $(DESTDIR)/lib   
-
-      Change lines 65-67 from: 
-
-          install  -m 644 -o root -g root $(HEADER) $(INCDIR)   
-          install  -m 644 -o root -g root $(STATICLIB) $(INSTALLDIR)   
-          install  -m 755 -o root -g root $(SHAREDLIB) $(INSTALLDIR)   
-  
-      to:
-
-          install  -m 755 $(HEADER) $(INCDIR)   
-          install  -m 755 $(STATICLIB) $(INSTALLDIR)   
-          install  -m 755 $(SHAREDLIB) $(INSTALLDIR)
-
-      Change line 70 from: 
-
-          ldconfig
-
-      to:
-  
-          \#ldconfig   
-    
-   Then run the installation process by the following command: 
-
-        make DESTDIR=FREEIMAGE_INSTALL_DIR  install   
-
-5. Clean temporary files
-
-        make clean
-
-@subsection dev_guides__building_3rdparty_linux_3_4 VTK
-
-You can download VTK sources from https://www.vtk.org/VTK/resources/software.html
-
-### The building procedure:
-
-Download the necessary archive from https://www.vtk.org/VTK/resources/software.html and unpack it.
-
-1. Install or build *cmake* product from the source file.
-2. Start *cmake* in GUI mode with the directory where the source files of *VTK* are located:
-
-       ccmake VTK_SRC_DIR
-
-   * Press <i>[c]</i> to make the  initial configuration
-   * Define the necessary options in *VTK_INSTALL_PREFIX*
-   * Press <i>[c]</i> to make the final  configuration
-   * Press <i>[g]</i> to generate  Makefile and exit
-
-3. Start the building of VTK:
-
-       make
-
-4. Start the installation of VTK. Binaries will be installed according to the *VTK_INSTALL_PREFIX* option.
-
-       make install
-
-@section dev_guides__building_3rdparty_linux_4 Installation From Official Repositories
-
-@subsection dev_guides__building_3rdparty_linux_4_1 Debian-based distributives
-
-All 3rd-party products required for building of  OCCT could be installed
-from official repositories. You may install them from  console using apt-get utility:
-
-    sudo apt-get install tcllib tklib tcl-dev tk-dev libfreetype-dev libxt-dev libxmu-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev libfreeimage-dev libtbb-dev
-
-To launch binaries built with WOK you need to install C shell and 32-bit libraries on x86_64 distributives:
-
-    # you may need to add i386 if not done already by command "dpkg --add-architecture i386"
-    sudo apt-get install csh libstdc++6:i386 libxt6:i386 libxext6:i386 libxmu6:i386
-
-Building is possible with C++ compliant compiler:
-
-    sudo apt-get install g++
diff --git a/dox/dev_guides/building/3rdparty/3rdparty_osx.md b/dox/dev_guides/building/3rdparty/3rdparty_osx.md
deleted file mode 100644 (file)
index d579043..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
- Building 3rd-party libraries on MacOS X {#occt_dev_guides__building_3rdparty_osx}
-==============================================
-@tableofcontents 
-
-@section dev_guides__building_3rdparty_osx_1 Introduction
-
-This document presents additional guidelines for building third-party products 
-used by Open CASCADE Technology and samples on Mac OS X platform (10.6.4  and later). 
-
-The links for downloading the third-party products are available 
-on the web site of OPEN CASCADE SAS at https://www.opencascade.com/content/3rd-party-components.
-
-There are two types of third-party products, which are  necessary to build OCCT: 
-  
-* Mandatory  products: 
-       * Tcl/Tk 8.5 - 8.6;
-       * FreeType 2.4.10 - 2.5.3.
-* Optional  products: 
-       * TBB 3.x - 4.x;
-       * FreeImage 3.14.1 - 3.16.0
-  
-@section dev_guides__building_3rdparty_osx_2 Building Mandatory Third-party Products
-
-@subsection dev_guides__building_3rdparty_osx_2_1 Tcl/Tk 8.5 
-
-Tcl/Tk is required for DRAW test harness. Version 8.5 or  8.6 can be used with OCCT. 
-
-@subsubsection dev_guides__building_3rdparty_osx_2_1_2 Installation from sources: Tcl 8.5
-
-Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it.
-
-1. Enter the *macosx* sub-directory of the directory where the Tcl source files are located <i>(TCL_SRC_DIR)</i>. 
-
-       cd TCL_SRC_DIR/macosx   
-
-2. Run the *configure* command 
-
-       configure --enable-gcc  --enable-shared --enable-threads --prefix=TCL_INSTALL_DIR   
-
-   For a 64 bit platform also add <i>--enable-64bit</i> option to the command line. 
-
-3. If the *configure* command has finished successfully, start the building process 
-
-       make   
-  
-4. If building is finished successfully, start the installation of Tcl. 
-   All binary and service files of the product will be copied to the directory defined by *TCL_INSTALL_DIR*. 
-
-       make install   
-
-@subsubsection dev_guides__building_3rdparty_osx_2_1_3 Installation from sources: Tk 8.5
-
-Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it.
-
-1. Enter the *macosx* sub-directory of the directory where the  source files of Tk are located <i>(TK_SRC_DIR)</i>. 
-
-       cd TK_SRC_DIR/macosx   
-
-2. Run the *configure* command, where TCL_LIB_DIR is  TCL_INSTALL_DIR/lib 
-
-       configure --enable-gcc --enable-shared --enable-threads --with-tcl=TCL_LIB_DIR --prefix=TK_INSTALL_DIR   
-
-       For a 64 bit platform also add <i>--enable-64bit</i> option to the  command line. 
-
-3. If the *configure* command has finished successfully, start the building process:
-
-       make   
-
-4. If the building has finished successfully, start the  installation of Tk. All binary and service files of the product will be copied to the directory defined by *TK_INSTALL_DIR* (usually it is TCL_INSTALL_DIR) 
-
-       make install   
-
-@subsection dev_guides__building_3rdparty_osx_2_2 FreeType 2.4.10
-  
-FreeType is required for text display in the 3D viewer. 
-
-Download the necessary archive from https://sourceforge.net/projects/freetype/files/ and unpack it.
-
-1. Enter the directory where the source files of FreeType  are located <i>(FREETYPE_SRC_DIR)</i>. 
-
-       cd FREETYPE_SRC_DIR   
-
-2. Run the *configure* command 
-  
-       configure  --prefix=FREETYPE_INSTALL_DIR   
-
-   For a 64 bit platform also add <i>CFLAGS='-m64 -fPIC'  CPPFLAGS='-m64 -fPIC'</i> option to the command line. 
-
-3. If the *configure* command has finished successfully, start  the building process 
-
-       make   
-
-4. If building has finished successfully, start the installation of FreeType. 
-   All binary and service files of the product will be copied to the directory defined by *FREETYPE_INSTALL_DIR*.
-
-       make install   
-
-@section dev_guides__building_3rdparty_osx_3 Building Optional Third-party Products
-    
-@subsection dev_guides__building_3rdparty_osx_3_1 TBB 3.x or 4.x
-
-This third-party product is installed with binaries from the archive 
-that can be downloaded from https://github.com/intel/tbb.
-Go to the **Download** page, find the release version you need (e.g. *tbb30_018oss*) 
-and  pick the archive for Mac OS X platform. 
-To install, unpack the downloaded archive of TBB 3.0 product (*tbb30_018oss_osx.tgz*).
-
-@subsection dev_guides__building_3rdparty_osx_3_3 FreeImage 3.14.1 or 3.15.x
-
-Download the necessary archive from 
-https://sourceforge.net/projects/freeimage/files/Source%20Distribution/
-and unpack it. The directory with unpacked sources is  further referred to as *FREEIMAGE_SRC_DIR*.  
-
-Note that for building FreeImage on Mac OS X 10.7 you should replace *Makefile.osx* 
-in *FREEIMAGE_SRC_DIR* by the corrected file, which you can find in attachment to issue #22811 in OCCT Mantis bug tracker 
-(https://tracker.dev.opencascade.org/file_download.php?file_id=6937&type=bug).
-
-1. If you build FreeImage 3.15.x you can skip this  step. 
-   Modify <i>FREEIMAGE_SRC_DIR/Source/OpenEXR/Imath/ImathMatrix.h:</i> 
-  
-   In line 60 insert the following: 
-
-       #include string.h 
-
-   Modify <i>FREEIMAGE_SRC_DIR/Source/FreeImage/PluginTARGA.cpp:</i> 
-  
-   In line 320 replace: 
-
-       SwapShort(value); 
-
-   with: 
-
-       SwapShort(&value); 
-
-2. Enter the directory where the source files of FreeImage  are located <i>(FREEIMAGE_SRC_DIR)</i>. 
-
-       cd FREEIMAGE_SRC_DIR 
-
-3. Run the building process 
-
-       make   
-
-4. Run the installation process 
-   
-   1. If you have the permission to write into <i>/usr/local/include</i>  and <i>/usr/local/lib</i> directories, run the following command: 
-
-          make install   
-
-   2. If you do not have this permission, you need to modify file *FREEIMAGE_SRC_DIR/Makefile.osx*: 
-
-      Change line 49 from:     
-
-          PREFIX ?= /usr/local
-
-      to:
-   
-          PREFIX  ?= $(PREFIX) 
-
-      Change lines 65-69 from: 
-
-          install -d -m 755 -o  root -g wheel $(INCDIR) $(INSTALLDIR) 
-          install  -m 644 -o root -g wheel $(HEADER) $(INCDIR) 
-          install  -m 644 -o root -g wheel $(SHAREDLIB) $(STATICLIB) $(INSTALLDIR) 
-          ranlib  -sf $(INSTALLDIR)/$(STATICLIB) 
-          ln  -sf $(SHAREDLIB) $(INSTALLDIR)/$(LIBNAME) 
-    
-      to: 
-
-          install  -d $(INCDIR) $(INSTALLDIR) 
-          install  -m 755 $(HEADER) $(INCDIR) 
-          install  -m 755 $(STATICLIB) $(INSTALLDIR) 
-          install  -m 755 $(SHAREDLIB) $(INSTALLDIR) 
-          ln  -sf $(SHAREDLIB) $(INSTALLDIR)/$(VERLIBNAME)  
-          ln  -sf $(VERLIBNAME) $(INSTALLDIR)/$(LIBNAME)
-
-      Then run the installation process by the following command: 
-  
-          make PREFIX=FREEIMAGE_INSTALL_DIR  install 
-  
-5. Clean temporary files 
-  
-       make clean 
diff --git a/dox/dev_guides/building/3rdparty/3rdparty_windows.md b/dox/dev_guides/building/3rdparty/3rdparty_windows.md
deleted file mode 100644 (file)
index ffa6c1c..0000000
+++ /dev/null
@@ -1,247 +0,0 @@
- Building 3rd-party libraries on Windows {#occt_dev_guides__building_3rdparty_windows}
-==============================================
-@tableofcontents
-
-@section dev_guides__building_3rdparty_win_1 Introduction
-
-This document presents guidelines for building third-party products used by Open CASCADE Technology (OCCT) and samples on Windows platform. It is assumed that you are already familiar with MS Visual Studio / Visual C++. 
-
-You need to use the same version of MS Visual Studio for building all third-party products and OCCT itself, in order to receive a consistent set of run-time binaries. 
-
-The links for downloading the third-party products are available on the web site of OPEN CASCADE SAS at https://www.opencascade.com/content/3rd-party-components.
-
-There are two types of third-party products used  by OCCT: 
-
-* Mandatory  products: 
-       * Tcl/Tk 8.5 -- 8.6;
-       * FreeType 2.4.10 -- 2.5.3.
-* Optional  products:
-       * TBB 3.x -- 4.x;
-       * FreeImage 3.14.1 -- 3.16.0;
-       * VTK 6.1.0.
-
-It is recommended to create a separate new folder on your workstation, where you will unpack the downloaded archives of the third-party  products, and where you will build these products (for example, *c:\\occ3rdparty*). 
-
-Further in this document, this folder is referred to as *3rdparty*. 
-
-@section dev_guides__building_3rdparty_win_2 Building Mandatory Third-party Products
-
-@subsection dev_guides__building_3rdparty_win_2_1 Tcl/Tk
-
-Tcl/Tk is required for DRAW test harness.
-
-@subsubsection dev_guides__building_3rdparty_win_2_1_1 Installation from sources: Tcl
-  
-Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it.
-  
-1. In the *win* sub-directory, edit file *buildall.vc.bat*:
-
-   * Edit the line "call ... vcvars32.bat" to have correct path to the version of Visual Studio to be used for building, for instance:
-
-         call "%VS80COMNTOOLS%\vsvars32.bat"
-
-     If you are building 64-bit version, set environment accordingly, e.g.:
-
-         call "%VS80COMNTOOLS%\..\..\VC\vcvarsall.bat" amd64
-     
-   * Define variable *INSTALLDIR* pointing to directory where Tcl/Tk will be installed, e.g.:
-
-         set INSTALLDIR=D:\OCCT\3rdparty\tcltk-86-32
-
-   * Add option *install* to the first command line calling *nmake*:
-
-         nmake -nologo -f makefile.vc release htmlhelp install %1
-
-   * Remove second call to *nmake* (building statically linked executable)
-
-2. Edit file *rules.vc* replacing line 
-
-       SUFX        = tsgx
-
-   by
-
-       SUFX        = sgx
-
-   This is to avoid extra prefix 't' in the library name, which is not recognized by default by OCCT build tools.
-
-
-3. By default, Tcl uses dynamic version of run-time library (MSVCRT), which must be installed on the system where Tcl will be used.
-   You may wish to link Tcl library with static version of run-time to avoid this dependency.
-   For that:
-
-   * Edit file *makefile.vc* replacing strings "crt = -MD" by "crt = -MT"
-
-   * Edit source file *tclMain.c* (located in folder *generic*) commenting out forward declaration of function *isatty()*.
-
-
-4. In the command prompt, run *buildall.vc.bat*
-
-   You might need to run this script twice to have *tclsh* executable installed; check subfolder *bin* of specified installation path to verify this.
-
-5. For convenience of use, we recommend making a copy of *tclsh* executable created in subfolder *bin* of *INSTALLDIR* and named with Tcl version number suffix, as *tclsh.exe* (with no suffix)
-
-       > cd D:\OCCT\3rdparty\tcltk-86-32\bin
-       > cp tclsh86.exe tclsh.exe
-
-@subsubsection dev_guides__building_3rdparty_win_2_1_2 Installation from sources: Tk
-  
-Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it.
-
-Apply the same steps as described for building Tcl above, with the same INSTALLDIR.
-Note that Tk produces its own executable, called *wish*. 
-
-You might need to edit default value of *TCLDIR* variable defined in *buildall.vc.bat* (should be not necessary if you unpack both Tcl and Tk sources in the same folder).
-
-@subsection dev_guides__building_3rdparty_win_2_2 FreeType
-
-FreeType is required for text display in a 3D viewer. You can download its sources from https://sourceforge.net/projects/freetype/files/
-
-### The building procedure
-
-1. Unpack the downloaded archive of FreeType product into the *3rdparty*  folder. As a result, you will get a folder named, for example, *3rdparty\\freetype-2.4.10*.  Further in this document, this folder is referred to as *freetype*. 
-   
-2. Open the solution file *freetype\\builds\\win32\\vc20xx\\freetype.sln*  in Visual Studio. Here *vc20xx* stands for your version of Visual Studio. 
-
-3. Select the configuration to build: either Debug or Release. 
-
-4. Build  the *freetype* project. 
-
-   As a result, you will get a  freetype import library (.lib) in the *freetype\\obj\\win32\\vc20xx*  folder.  
-
-
-5. If you build FreeType for a 64 bit platform, select in the main menu **Build - Configuration Manager**  and add *x64* platform to the solution configuration by copying the settings from Win32 platform: 
-
-   @figure{/dev_guides/building/3rdparty/images/3rdparty_image001.png}
-
-   Update the value of the Output File for  x64 configuration: 
-
-   @figure{/dev_guides/building/3rdparty/images/3rdparty_image003.png}
-
-   Build the *freetype* project. 
-
-   As a result, you will obtain a 64 bit import library (.lib) file in the *freetype\\x64\\vc20xx*  folder. 
-
-   To build FreeType as a dynamic library (.dll) follow steps 6, 7 and 8 of this procedure. 
-
-6. Open menu Project-> Properties-> Configuration  Properties-> General and change option **Configuration Type** to *Dynamic  Library (.dll)*. 
-7. Edit file *freetype\\include\\freetype\\config\\ftoption.h*:  
-  
-   in line 255, uncomment the definition of macro *FT_EXPORT* and change it as follows: 
-
-       #define FT_EXPORT(x)   __declspec(dllexport) x 
-
-8. Build  the *freetype* project. 
-
-   As a result, you will obtain the files of the import  library (.lib) and the dynamic library (.dll)   in folders <i>freetype  \\objs\\release</i> or <i>\\objs\\debug </i>. 
-   
-   If you build for a 64 bit platform, follow step 5 of the procedure. 
-
-   To facilitate the use of FreeType libraries in OCCT with minimal adjustment of build procedures, it is recommended to copy the include files and libraries of FreeType into a separate folder, named according to the pattern: *freetype-compiler-bitness-building mode*, where: 
-   * **compiler** is *vc8* or *vc9* or *vc10* or *vc11*; 
-   * **bitness**  is *32* or *64*;
-   * **building mode** is *opt* (for Release) or *deb* (for Debug). 
-    
-   The *include* subfolder should be copied as is, while libraries should be renamed to *freetype.lib* and *freetype.dll* (suffixes removed) and placed to subdirectories *lib *and  *bin*, respectively. If the Debug configuration is built, the Debug libraries should be put into subdirectories *libd* and *bind*. 
-
-@section dev_guides__building_3rdparty_win_3 Building Optional Third-party Products
-
-@subsection dev_guides__building_3rdparty_win_3_1 TBB
-
-This third-party product is installed with binaries 
-from the archive that can be downloaded from https://github.com/intel/tbb.
-Go to the **Download** page, find the  release version you need  (e.g. *tbb30_018oss*) and pick the archive for Windows  platform. 
-
-Unpack the downloaded  archive of TBB product into the *3rdparty* folder. 
-
-Further in this document,  this folder is referred to as *tbb*. 
-
-@subsection dev_guides__building_3rdparty_win_3_3 FreeImage
-
-This third-party product should be built as a dynamically loadable library (.dll file). 
-You can download its sources from 
-https://sourceforge.net/projects/freeimage/files/Source%20Distribution/
-
-### The building procedure: 
-
-1. Unpack the  downloaded archive of FreeImage product into *3rdparty* folder. 
-  
-   As a result, you should have a folder named *3rdparty\\FreeImage*. 
-  
-   Rename it according to the rule: *freeimage-platform-compiler-building  mode*, where 
-   
-   * **platform**  is *win32* or *win64*; 
-   * **compiler**  is *vc8* or *vc9* or *vc10* or *vc11*; 
-   * **building  mode** is *opt* (for release) or *deb* (for debug) 
-
-   Further in this  document, this folder is referred to as *freeimage*. 
-
-2. Open the solution file *freeimage\\FreeImage.*.sln* in your Visual Studio. 
-  
-   If you use a Visual Studio version higher than VC++ 2008, apply conversion of the workspace. 
-   Such conversion should be suggested automatically by Visual  Studio. 
-    
-3. Select a  configuration to build. 
-
-   - Choose **Release**  if you are building Release binaries. 
-   - Choose **Debug** if you are building  Debug binaries. 
-
-   *Note:* 
-
-   If you want to  build a debug version of FreeImage binaries then you need to rename the following files in FreeImage and FreeimagePlus projects:
-   
-   Project -> Properties -> Configuration Properties -> Linker -> General -> Output File
-
-       FreeImage*d*.dll  to FreeImage.dll 
-       FreeImagePlus*d*.dll to FreeImagePlus.dll 
-
-   Project -> Properties -> Configuration Properties -> Linker -> Debugging-> Generate Program Database File
-
-       FreeImage*d*.pdb  to FreeImage.pdb 
-       FreeImagePlus*d*.pdb to FreeImagePlus.pdb 
-
-   Project -> Properties -> Configuration Properties -> Linker -> Advanced-Import Library
-
-       FreeImage*d*.lib  to FreeImage.lib 
-       FreeImagePlus*d*.lib  to FreeImagePlus.lib 
-
-   Project -> Properties -> Configuration Properties -> Build Events -> Post -> Build Event -> Command Line 
-
-       FreeImage*d*.dll     to FreeImage.dll 
-       FreeImage*d*.lib     to FreeImage.lib 
-       FreeImagePlus*d*.dll to FreeImagePlus.dll 
-       FreeImagePlus*d*.lib to FreeImagePlus.lib 
-
-   Additionally, rename in project FreeImagePlus 
-   
-   Project -> Properties -> Configuration  Properties -> Linker -> Input -> Additional Dependencies 
-
-       from FreeImage*d*.lib to FreeImage.lib 
-
-4. Select a platform to build. 
-
-   - Choose *Win32* if you are building for a 32 bit platform. 
-   - Choose *x64* if you are building for a 64 bit platform. 
-
-5. Start the building process. 
-
-   As a result, you should have the  library files of FreeImage product  in *freeimage\\Dist* folder (*FreeImage.dll* and *FreeImage.lib*) and in *freeimage\\Wrapper\\FreeImagePlus\\dist* folder (*FreeImagePlus.dll* and *FreeImagePlus.lib*).
-
-@subsection dev_guides__building_3rdparty_win_3_4 VTK
-
-VTK is an open-source, freely available software system for 3D computer graphics, image processing and visualization. VTK Integration Services component provides adaptation functionality for visualization of OCCT topological shapes by means of VTK library.
-
-### The building procedure:
-
-1. Download the necessary archive from https://www.vtk.org/VTK/resources/software.html and unpack it into *3rdparty* folder.
-
-   As a result, you will get a folder named, for example, <i>3rdparty\VTK-6.1.0.</i>
-
-   Further in this document, this folder is referred to as *VTK*.
-
-2. Use CMake to generate VS projects for building the library:
-   - Start CMake-GUI and select VTK folder as source path, and the folder of your choice for VS project and intermediate build data.
-   - Click **Configure**.
-   - Select the VS version to be used from the ones you have installed (we recommend using VS 2010) and the architecture (32 or 64-bit).
-   - Generate VS projects with default CMake options. The open solution *VTK.sln* will be generated in the build folder.
-
-3. Build project VTK in Release mode.
diff --git a/dox/dev_guides/building/3rdparty/images/3rdparty_image001.png b/dox/dev_guides/building/3rdparty/images/3rdparty_image001.png
deleted file mode 100644 (file)
index d021815..0000000
Binary files a/dox/dev_guides/building/3rdparty/images/3rdparty_image001.png and /dev/null differ
diff --git a/dox/dev_guides/building/3rdparty/images/3rdparty_image003.png b/dox/dev_guides/building/3rdparty/images/3rdparty_image003.png
deleted file mode 100644 (file)
index c7fd21d..0000000
Binary files a/dox/dev_guides/building/3rdparty/images/3rdparty_image003.png and /dev/null differ
diff --git a/dox/dev_guides/building/3rdparty/images/3rdparty_image004.png b/dox/dev_guides/building/3rdparty/images/3rdparty_image004.png
deleted file mode 100644 (file)
index 1b41730..0000000
Binary files a/dox/dev_guides/building/3rdparty/images/3rdparty_image004.png and /dev/null differ
diff --git a/dox/dev_guides/building/3rdparty/images/3rdparty_image005.png b/dox/dev_guides/building/3rdparty/images/3rdparty_image005.png
deleted file mode 100644 (file)
index 7ee7289..0000000
Binary files a/dox/dev_guides/building/3rdparty/images/3rdparty_image005.png and /dev/null differ
diff --git a/dox/dev_guides/building/3rdparty/images/3rdparty_image006.png b/dox/dev_guides/building/3rdparty/images/3rdparty_image006.png
deleted file mode 100644 (file)
index f1d55a2..0000000
Binary files a/dox/dev_guides/building/3rdparty/images/3rdparty_image006.png and /dev/null differ
diff --git a/dox/dev_guides/building/3rdparty/images/3rdparty_image007.png b/dox/dev_guides/building/3rdparty/images/3rdparty_image007.png
deleted file mode 100644 (file)
index 91321e8..0000000
Binary files a/dox/dev_guides/building/3rdparty/images/3rdparty_image007.png and /dev/null differ
diff --git a/dox/dev_guides/building/3rdparty/images/genconf_linux.png b/dox/dev_guides/building/3rdparty/images/genconf_linux.png
deleted file mode 100644 (file)
index 85489b4..0000000
Binary files a/dox/dev_guides/building/3rdparty/images/genconf_linux.png and /dev/null differ
diff --git a/dox/dev_guides/building/3rdparty/images/genconf_osx.png b/dox/dev_guides/building/3rdparty/images/genconf_osx.png
deleted file mode 100644 (file)
index f7b53fd..0000000
Binary files a/dox/dev_guides/building/3rdparty/images/genconf_osx.png and /dev/null differ
diff --git a/dox/dev_guides/building/3rdparty/images/genconf_windows.png b/dox/dev_guides/building/3rdparty/images/genconf_windows.png
deleted file mode 100644 (file)
index ab815a0..0000000
Binary files a/dox/dev_guides/building/3rdparty/images/genconf_windows.png and /dev/null differ
diff --git a/dox/dev_guides/building/android/android.md b/dox/dev_guides/building/android/android.md
deleted file mode 100644 (file)
index 6df5af2..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-Building with CMake for Android {#occt_dev_guides__building_android}
-===================
-
-@tableofcontents
-
-This article describes the steps to build OCCT libraries for Android from a complete source package
-with GNU make (makefiles) on Windows 7 and Ubuntu 15.10.
-
-The steps on Windows and Ubuntu are similar. There is the only one difference: makefiles are built with mingw32-make
-on Windows and native GNU make on Ubuntu.
-
-Required tools (download and install if it is required):
-  - CMake v3.7+ https://www.cmake.org/cmake/resources/software.html
-  - Android NDK rev.10+ https://developer.android.com/tools/sdk/ndk/index.html
-  - GNU Make: MinGW v4.82+ for Windows (https://sourceforge.net/projects/mingw/files/), GNU Make 4.0 for Ubuntu.
-
-## Prerequisites
-
-In toolchain file <i>$CASROOT/adm/templates/android.toolchain.config.cmake</i>:
-
-  - Set CMAKE_ANDROID_NDK variable equal to your Android NDK path.
-  - Set CMAKE_ANDROID_STL_TYPE variable to specify which C++ standard library to use.
-
-The default value of CMAKE_ANDROID_STL_TYPE is <i>gnustl_shared</i> (GNU libstdc++ Shared)
-
-@figure{/dev_guides/building/android/images/android_image001.png}
-
-## Generation of makefiles using CMake GUI tool
-Run GUI tool provided by CMake: cmake-gui
-
-### Tools configuration
-  - Specify the root folder of OCCT (<i>$CASROOT</i>, which contains *CMakelists.txt* file) by clicking **Browse Source**.
-  - Specify the location (build folder) for Cmake generated project files by clicking **Browse Build**.
-
-@figure{/dev_guides/building/android/images/android_image002.png}
-
-Click **Configure** button. It opens the window with a drop-down list of generators supported by CMake project.
-
-Select "MinGW Makefiles" item from the list
-  - Choose "Specify toolchain file for cross-compiling"
-  - Click "Next"
-
-@figure{/dev_guides/building/android/images/android_image003.png}
-
-  - Specify a toolchain file at the next dialog by <i>android.toolchain.config.cmake</i> . It is contained by cross-compilation toolchain for CMake
-  - Click "Finish"
-@figure{/dev_guides/building/android/images/android_image004.png}
-
-If on Windows the message is appeared: "CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles"
-CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.",
-specify **CMAKE_MAKE_PROGRAM** to mingw32-make executable.
-@figure{/dev_guides/building/android/images/android_image005.png}
-
-### OCCT Configuration
-
-How to configure OCCT, see "OCCT Configuration" section of @ref occt_dev_guides__building_cmake "Building with CMake"
-
-### Generation of makefiles
-
-Click **Generate** button and wait until the generation process is finished. 
-Then makefiles will appear in the build folder (e.g. <i> D:/occt/build-android </i>).
-
-## Generation of makefiles using CMake from the command line
-
-Alternatively one may specify the values without a toolchain file:
-
-> cmake -G "MinGW Makefiles" -DCMAKE_SYSTEM_NAME=Android -DCMAKE_ANDROID_NDK=D:/DevTools/android-ndk-r13b -DCMAKE_ANDROID_STL_TYPE=gnustl_shared -DCMAKE_SYSTEM_VERSION=21 -DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a -DCMAKE_MAKE_PROGRAM=D:/DevTools/MinGW/bin/mingw32-make.exe -D3RDPARTY_DIR=D:/occt-3rdparty D:/occt
-
-@figure{/dev_guides/building/android/images/android_image006.png}
-
-## Building makefiles of OCCT
-
-Open console and go to the build folder. Type "mingw32-make" (Windows) or "make" (Ubuntu) to start build process.
-
-> mingw32-make
-or
-> make
-
-
-Parallel building can be started with using **"-jN"** argument of "mingw32-make/make", where N is the number of building threads.
-
-> mingw32-make -j4
-or
-> make -j4
-
-## Install built OCCT libraries
-
-Type "mingw32-make/make" with argument "install" to place the libraries 
-to the install folder (see "OCCT Configuration" section of @ref occt_dev_guides__building_cmake "Building with CMake")
-
-> mingw32-make install
-or
-> make install
diff --git a/dox/dev_guides/building/android/images/android_image001.png b/dox/dev_guides/building/android/images/android_image001.png
deleted file mode 100644 (file)
index a4460f3..0000000
Binary files a/dox/dev_guides/building/android/images/android_image001.png and /dev/null differ
diff --git a/dox/dev_guides/building/android/images/android_image002.png b/dox/dev_guides/building/android/images/android_image002.png
deleted file mode 100644 (file)
index 3a20979..0000000
Binary files a/dox/dev_guides/building/android/images/android_image002.png and /dev/null differ
diff --git a/dox/dev_guides/building/android/images/android_image003.png b/dox/dev_guides/building/android/images/android_image003.png
deleted file mode 100644 (file)
index 52c4f2e..0000000
Binary files a/dox/dev_guides/building/android/images/android_image003.png and /dev/null differ
diff --git a/dox/dev_guides/building/android/images/android_image004.png b/dox/dev_guides/building/android/images/android_image004.png
deleted file mode 100644 (file)
index b01d015..0000000
Binary files a/dox/dev_guides/building/android/images/android_image004.png and /dev/null differ
diff --git a/dox/dev_guides/building/android/images/android_image005.png b/dox/dev_guides/building/android/images/android_image005.png
deleted file mode 100644 (file)
index e65a7b3..0000000
Binary files a/dox/dev_guides/building/android/images/android_image005.png and /dev/null differ
diff --git a/dox/dev_guides/building/android/images/android_image006.png b/dox/dev_guides/building/android/images/android_image006.png
deleted file mode 100644 (file)
index 97f5511..0000000
Binary files a/dox/dev_guides/building/android/images/android_image006.png and /dev/null differ
diff --git a/dox/dev_guides/building/building.md b/dox/dev_guides/building/building.md
deleted file mode 100644 (file)
index 5e58ca2..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-Building OCCT from sources {#occt_dev_guides__building}
-=========
-
-Before building OCCT, make sure to have all the required third-party libraries installed.
-The list of required libraries depends on what OCCT modules will be used, and your preferences.
-The typical minimum is **Freetype** (necessary for Visualization) and **Tcl/Tk** (for DRAW Test Harness).
-See "Third-party libraries" section in \ref OCCT_OVW_SECTION_5 "Overview" for a full list.
-
-On Windows, the easiest way to install third-party libraries is to download archive with pre-built binaries from https://www.opencascade.com/content/3rd-party-components.
-On Linux and OS X, it is recommended to use the version installed in the system natively.
-
-You can also build third-party libraries from their sources:
-* \subpage occt_dev_guides__building_3rdparty_windows
-* \subpage occt_dev_guides__building_3rdparty_linux
-* \subpage occt_dev_guides__building_3rdparty_osx
-
-Build OCCT using your preferred build tool.
-* \subpage occt_dev_guides__building_cmake "Building with CMake (cross-platform)"
-* \subpage occt_dev_guides__building_android "Building with CMake for Android (cross-platform)"
-* \subpage occt_dev_guides__building_msvc "Building on Windows with MS Visual Studio projects"
-* \subpage occt_dev_guides__building_code_blocks "Building on Mac OS X with Code::Blocks projects"
-* \subpage occt_dev_guides__building_xcode "Building on Mac OS X with Xcode projects"
-
-The current version of OCCT can be consulted in the file src/Standard/Standard_Version.hxx
\ No newline at end of file
diff --git a/dox/dev_guides/building/cmake/cmake.md b/dox/dev_guides/building/cmake/cmake.md
deleted file mode 100644 (file)
index 95e66be..0000000
+++ /dev/null
@@ -1,215 +0,0 @@
-Building with CMake {#occt_dev_guides__building_cmake}
-===================
-
-@tableofcontents
-
-@section build_cmake_intro General
-
-This article describes the **CMake**-based build process, which is now suggested as a standard way to produce the binaries of Open CASCADE Technology from sources. *OCCT requires CMake version 2.8.12 or later*.
-
-@note Compared to the previous (6.x) releases of Open CASCADE Technology, OCCT 7.x has a complete set of CMake scripts and projects, so that there is no need to use WOK anymore. Moreover, CMake gives you a powerful configuration tool, which allows to control many aspects of OCCT deployment. At the same time this tool is quite intuitive, which is a significant advantage over the legacy WOK utilities.
-
-Here we describe the build procedure on the example of Windows platform with Visual Studio 2010. 
-However, CMake is cross-platform and can be used to build OCCT on Linux and OS X in essentially the same way.
-
-@note Before you start, make sure to have installed all 3-rd party products that you are going to use with OCCT; see @ref occt_dev_guides__building.
-
-@section build_cmake_start Start CMake
-
-CMake is a tool that generates the actual project files for the selected target build system (e.g. Unix makefiles) or IDE (e.g. Visual Studio 2010).
-
-For unexperienced users we recommend to start with *cmake-gui* -- a cross-platform GUI tool provided by CMake on Windows, Mac and Linux.
-A command-line alternative, *ccmake*  can also be used.
-
-CMake deals with three directories: source, build or binary and installation.
-
-* The source directory is where the sources of OCCT are located in your file system;
-* The build or binary directory is where all files created during CMake configuration and generation process will be located. The mentioned process will be described below.
-* The installation directory is where binaries will be installed after building the *INSTALL* project that is created by CMake generation process, along with header files and resources required for OCCT use in applications. 
-
-The good practice is not to use the source directory as a build one.
-Different configurations should be built in different build directories to avoid conflicts. 
-It is however possible to choose one installation directory for several configurations of OCCT (differentiated by platform, bitness, compiler and build type), for example:
-      
-    d:/occt/                   -- the source directory
-    d:/tmp/occt-build-vc10-x64 -- the build directory with the generated
-                                  solution and other intermediate files created during a CMake tool working
-    d:/occt-install            -- the installation directory that is
-                                  able to contain several OCCT configurations
-
-@section build_cmake_conf Configuration process
-
-If the command-line tool is used, run the tool from the build directory with a single argument indicating the source (relative or absolute path) directory:
-
-    cd d:/tmp/occt-build-vc10-x64
-    ccmake d:/occt
-
-@figure{/dev_guides/building/cmake/images/cmake_image000.png}
-
-Press *c* to configure.
-
-All actions required in the configuration process with the GUI tool will be described below.
-
-If the GUI tool is used, run this tool without additional arguments and after that specify the source directory by clicking **Browse Source** and the build (binary) one by clicking **Browse Build**.
-
-@figure{/dev_guides/building/cmake/images/cmake_image001.png}
-
-**Note**: Each configuration of the project should be built in its own directory. When building multiple configurations it is recommended to indicate in the name of build directories the system, bitness and compiler (e.g., <i>d:/occt/build/win32-vc10</i> ).
-
-Once the source and build directories are selected, "Configure" button should be pressed in order to start manual configuration process. It begins with selection of a target configurator. It is "Visual Studio 10 2010 Win64" in our example.
-
-@figure{/dev_guides/building/cmake/images/cmake_image002.png}
-
-To build OCCT for **Universal Windows Platform (UWP)** specify the path to toolchain file for cross-compiling <i>d:/occt/adm/templates/uwp.toolchain.config.cmake</i>.
-
-Alternatively, if you are using CMake from the command line add options -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10.0 .
-
-**Note**: Universal Windows Platform (UWP) is supported only on "Visual Studio 14 2015". File <i>d:/occt/samples/xaml/ReadMe.md</i> describes the building procedure of XAML (UWP) sample.
-
-Once "Finish" button is pressed, the first pass of the configuration process is executed. At the end of the process, CMake outputs the list of environment variables, which have to be properly specified for successful configuration. 
-
-@figure{/dev_guides/building/cmake/images/cmake_image003.png}
-
-The error message provides some information about these variables. This message will appear after each pass of the process until all required variables are specified correctly.
-
-The change of the state of some variables can lead to the appearance of new variables. The new variables appeared after the pass of the configuration process are highlighted with red color by CMake GUI tool.
-
-Note: There is "grouped" option, which groups variables with a common prefix.
-
-The following table gives the full list of environment variables used at the configuration stage:
-
-| Variable | Type | Purpose |
-|----------|------|---------|
-| CMAKE_BUILD_TYPE | String | Specifies the build type on single-configuration generators (such as make).  Possible values are Debug, Release and RelWithDebInfo |
-| USE_FREEIMAGE | Boolean flag | Indicates whether FreeImage product should be used in OCCT visualization module for support of popular graphics image formats (PNG, BMP, etc.) |
-| USE_RAPIDJSON | Boolean flag | Indicates whether RapidJSON product should be used in OCCT Data Exchange module for support of glTF mesh file format |
-| USE_TBB | Boolean flag | Indicates whether TBB 3rd party is used or not. TBB stands for Threading Building Blocks, the technology of Intel Corp, which comes with different mechanisms and patterns for injecting parallelism into your application. OCCT remains parallel even without TBB product |
-| USE_VTK | Boolean flag | Indicates whether VTK 3rd party is used or not. VTK stands for Visualization ToolKit, the technology of Kitware Inc intended for general-purpose scientific visualization. OCCT comes with a bridge between CAD data representation and VTK by means of its dedicated VIS component (VTK Integration Services). You may skip this 3rd party unless you are planning to use VTK visualization for OCCT geometry. See the official documentation @ref occt_user_guides__vis for the details on VIS |
-| 3RDPARTY_DIR | Path | Defines the root directory where all required 3rd party products will be searched. Once you define this path it is very convenient to click "Configure" button in order to let CMake automatically detect all necessary products|
-| 3RDPARTY_FREETYPE_* | Path | Path to Freetype binaries |
-| 3RDPARTY_TCL_* 3RDPARTY_TK_* | Path | Path to Tcl/Tk binaries |
-| 3RDPARTY_FREEIMAGE* | Path | Path to Freeimage binaries |
-| 3RDPARTY_TBB* | Path | Path to TBB binaries |
-| 3RDPARTY_VTK_* | Path | Path to VTK binaries |
-| BUILD_MODULE_<MODULE>| Boolean flag | Indicates whether the corresponding OCCT module should be built or not. It should be noted that some toolkits of a module can be built even if this module is not checked (this happens if some other modules depend on these toolkits). The main modules and their descriptions can be found in @ref user_guides |
-| BUILD_LIBRARY_TYPE | String |  Specifies the type of library to be created. "Shared" libraries are linked dynamically and loaded at runtime. "Static" libraries are archives of object files used when linking other targets. Note that Draw Harness plugin system is incompatible with "Static" builds, and therefore it is disabled for these builds.|
-| BUILD_ADDITIONAL_TOOLKITS | String | Semicolon-separated individual toolkits to include into build process. If you want to build some particular libraries (toolkits) only, then you may uncheck all modules in the corresponding *BUILD_MODUE_\<MODULE\>* options and provide the list of necessary libraries here. Of course, all dependencies will be resolved automatically |
-| BUILD_YACCLEX | Boolean flag | Enables Flex/Bison lexical analyzers. OCCT source files relating to STEP reader and ExprIntrp functionality are generated automatically with Flex/Bison. Checking this option leads to automatic search of Flex/Bison binaries and regeneration of the mentioned files |
-| BUILD_SAMPLES_MFC | Boolean flag | Indicates whether MFC samples should be built together with OCCT. This option is only relevant to Windows platforms |
-| BUILD_SAMPLES_QT | Boolean flag | Indicates whether QT samples should be built together with OCCT. |
-| BUILD_Inspector | Boolean flag | Indicates whether Inspector should be built together with OCCT. |
-| BUILD_DOC_Overview | Boolean flag | Indicates whether OCCT overview documentation project should be created together with OCCT. It is not built together with OCCT. Checking this option leads to automatic search of Doxygen binaries. Its building calls Doxygen command to generate the documentation in HTML format |
-| BUILD_PATCH | Path | Points to the directory recognized as a "patch" for OCCT. If specified, the files from this directory take precedence over the corresponding native OCCT sources. This way you are able to introduce patches to Open CASCADE Technology not affecting the original source distribution |
-| BUILD_WITH_DEBUG | Boolean flag | Enables extended messages of many OCCT algorithms, usually printed to cout. These include messages on internal errors and special cases encountered, timing, etc. |
-| BUILD_ENABLE_FPE_SIGNAL_HANDLER | Boolean flag | Enable/Disable the floating point exceptions (FPE) during DRAW execution only. Corresponding environment variable (CSF_FPE) can be changed manually in custom.bat/sh scripts without regeneration by CMake. |
-| CMAKE_CONFIGURATION_TYPES | String | Semicolon-separated CMake configurations |
-| INSTALL_DIR | Path | Points to the installation directory. *INSTALL_DIR* is a synonym of *CMAKE_INSTALL_PREFIX*. The user can specify both *INSTALL_DIR* or *CMAKE_INSTALL_PREFIX* |
-| INSTALL_DIR_BIN | Path | Relative path to the binaries installation directory (absolute path is ${INSTALL_DIR}/${INSTALL_DIR_BIN}) |
-| INSTALL_DIR_SCRIPT | Path | Relative path to the scripts installation directory (absolute path is ${INSTALL_DIR}/${INSTALL_DIR_SCRIPT}) |
-| INSTALL_DIR_LIB | Path | Relative path to the libraries installation directory (absolute path is ${INSTALL_DIR}/${INSTALL_DIR_LIB}) |
-| INSTALL_DIR_INCLUDE | Path | Relative path to the includes installation directory (absolute path is ${INSTALL_DIR}/${INSTALL_DIR_INCLUDE}) |
-| INSTALL_DIR_RESOURCE | Path | Relative path to the resources installation directory (absolute path is ${INSTALL_DIR}/${INSTALL_DIR_RESOURCE}) |
-| INSTALL_DIR_LAYOUT | String | Defines the structure of OCCT files (binaries, resources, headers, etc.) for the install directory. Two variants are predefined: for Windows (standard OCCT layout) and for Unix operating systems (standard Linux layout). If needed, the layout can be customized with INSTALL_DIR_* variables |
-| INSTALL_DIR_DATA | Path | Relative path to the data files installation directory (absolute path is ${INSTALL_DIR}/${INSTALL_DIR_DATA}) |
-| INSTALL_DIR_SAMPLES | Path | Relative path to the samples installation directory. Note that only "samples/tcl" folder will be installed. (absolute path is ${INSTALL_DIR}/${INSTALL_DIR_SAMPLES}) |
-| INSTALL_DIR_TESTS | Path | Relative path to the tests installation directory (absolute path is ${INSTALL_DIR}/${INSTALL_DIR_TESTS}) |
-| INSTALL_DIR_DOC | Path | Relative path to the documentation installation directory (absolute path is ${INSTALL_DIR}/${INSTALL_DIR_DOC}) |
-| INSTALL_FREETYPE | Boolean flag | Indicates whether Freetype binaries should be installed into the installation directory |
-| INSTALL_FREEIMAGE* | Boolean flag | Indicates whether Freeimage binaries should be installed into the installation directory |
-| INSTALL_TBB | Boolean flag | Indicates whether TBB binaries should be installed into the installation directory |
-| INSTALL_VTK | Boolean flag | Indicates whether VTK binaries should be installed into the installation directory |
-| INSTALL_TCL | Boolean flag | Indicates whether TCL binaries should be installed into the installation directory |
-| INSTALL_TEST_CASES | Boolean flag | Indicates whether non-regression OCCT test scripts should be installed into the installation directory |
-| INSTALL_DOC_Overview | Boolean flag | Indicates whether OCCT overview documentation should be installed into the installation directory |
-
-**Note:** Only the forward slashes ("/") are acceptable in the CMake options defining paths.
-
-@section build_cmake_3rdparty 3rd party search mechanism
-
-If *3RDPARTY_DIR* directory is defined, then required 3rd party binaries are sought in it, and default system folders are ignored.
-
-The procedure expects to find binary and header files of each 3rd party product in its own sub-directory: *bin*, *lib* and *include*.
-
-The results of the search (achieved on the next pass of the configuration process) are recorded in the corresponding variables:
-
-* *3RDPARTY_\<PRODUCT\>_DIR* -- path to the 3rdparty directory (with directory name) (e.g. <i>D:/3rdparty/tcltk-86-32</i>)
-* *3RDPARTY_\<PRODUCT\>_LIBRARY_DIR* -- path to the directory containing a library (e.g. <i>D:/3rdparty/tcltk-86-32/lib</i>). 
-* *3RDPARTY_\<PRODUCT\>_INCLUDE_DIR* -- path to the directory containing a header file (e.g., <i>D:/3rdparty/tcltk-86-32/include</i>)
-* *3RDPARTY_\<PRODUCT\>_DLL_DIR* -- path to the directory containing a shared library (e.g., <i>D:/3rdparty/tcltk-86-32/bin</i>) This variable is only relevant to Windows platforms.
-
-Note: each library and include directory should be children of the product directory if the last one is defined.
-
-The search process is as follows:
-
-1. Common path: *3RDPARTY_DIR*
-2. Path to a particular 3rd-party library: *3RDPARTY_\<PRODUCT\>_DIR*
-3. Paths to headers and binaries:
-   1. *3RDPARTY_\<PRODUCT\>_INCLUDE_DIR*
-   2. *3RDPARTY_\<PRODUCT\>_LIBRARY_DIR*
-   3. *3RDPARTY_\<PRODUCT\>_DLL_DIR*
-
-If a variable of any level is not defined (empty or <i> \<variable name\>-NOTFOUND </i>) and the upper level variable is defined, the content of the non-defined variable will be sought at the next configuration step. If the search process at level 3 does not find the required files, it seeks in default places.
-
-If a search result (include path, or library path, or dll path) does not meet your expectations, you can change *3RDPARTY_\<PRODUCT\>_*_DIR variable*, clear (if they are not empty) *3RDPARTY_\<PRODUCT\>_DLL_DIR, 3RDPARTY_\<PRODUCT\>_INCLUDE_DIR* and 3RDPARTY_\<PRODUCT\>_LIBRARY_DIR variables (or clear one of them) and run the configuration process again.
-
-At this time the search will be performed in the newly identified directory 
-and the result will be recorded to corresponding variables (replace old value if it is necessary).
-
-For example, *3RDPARTY_FREETYPE_DIR* variable 
-
-    d:/3rdparty/freetype-2.4.10
-
-can be changed to 
-
-    d:/3rdparty/freetype-2.5.3
-
-During the configuration process the related variables (*3RDPARTY_FREETYPE_DLL_DIR*, *3RDPARTY_FREETYPE_INCLUDE_DIR* and *3RDPARTY_FREETYPE_LIBRARY_DIR*) will be filled with new found values.
-
-**Note**: The names of searched libraries and header files are hard-coded. If there is the need to change their names, change appropriate cmake variables (edit CMakeCache.txt file or edit in cmake-gui in advance mode) without reconfiguration: *3RDPARTY_\<PRODUCT\>_INCLUDE* for include, *3RDPARTY_\<PRODUCT\>_LIB* for library and *3RDPARTY_\<PRODUCT\>_DLL* for shared library.
-
-@section build_cmake_gen Projects generation
-
-Once the configuration process is done, the "Generate" button is used to prepare project files for the target IDE. In our exercise the Visual Studio solution will be automatically created in the buid directory.
-
-@section build_cmake_build Building
-
-Go to the build folder, start the Visual Studio solution *OCCT.sln* and build it by clicking **Build -> Build Solution**.
-
-@figure{/dev_guides/building/cmake/images/cmake_image004.png}
-
-By default the build solution process skips the building of the INSTALL and Overview project.
-
-When the building process is finished build:
-* Overview project to generate OCCT overview documentation (if BUILD_DOC_Overview variable is checked)
-* the *INSTALL* project to run **the installation process**
-
-For this, right-click on the *Overview/INSTALL* project and select **Project Only -> Build Only** -> *Overview/INSTALL* in the solution explorer. 
-
-@section build_cmake_install Installation
-
-Installation is a process of extracting redistributable resources (binaries, include files etc) from the build directory into the installation one. The installation directory will be free of project files, intermediate object files and any other information related to the build routines. 
-
-Normally you use the installation directory of OCCT to link against your specific application. 
-
-The directory structure is as follows:
-    
-    data            -- data files for OCCT (brep, iges, stp)
-    doc             -- OCCT overview documentation in HTML format
-    inc             -- header files
-    samples         -- samples
-    src             -- all required source files for OCCT
-    tests           -- OCCT test suite
-    win32\vc10\bind -- binary files (installed 3rdparties and occt)
-              \libd -- libraries (installed 3rdparties and occt)
-
-**Note:** The above example is given for debug configuration. However, it is generally safe to use the same installation directory for the release build. In the latter case the contents of install directory will be enriched with subdirectories and files related to the release configuration. In particular, the binaries directory win64 will be expanded as
-follows:
-
-    \win32\vc10\bind
-               \libd
-               \bin
-               \lib
-
-If CMake installation flags are enabled for the 3rd party products (e.g. INSTALL_FREETYPE), then the corresponding binaries will be copied to the same bin(d) and lib(d) directories together with the native binaries of OCCT. Such organization of libraries can be especially helpful if your OCCT-based software does not use itself the 3rd parties of Open CASCADE Technology (thus, there is no sense to pack them into dedicated directories).
-
-The installation folder contains the scripts to run *DRAWEXE* (*draw.bat* or *draw.sh*), samples (if they were installed) and overview.html (short-cut for installed OCCT overview documentation).
diff --git a/dox/dev_guides/building/cmake/images/cmake_image000.png b/dox/dev_guides/building/cmake/images/cmake_image000.png
deleted file mode 100644 (file)
index efe9a6d..0000000
Binary files a/dox/dev_guides/building/cmake/images/cmake_image000.png and /dev/null differ
diff --git a/dox/dev_guides/building/cmake/images/cmake_image001.png b/dox/dev_guides/building/cmake/images/cmake_image001.png
deleted file mode 100644 (file)
index a4f234d..0000000
Binary files a/dox/dev_guides/building/cmake/images/cmake_image001.png and /dev/null differ
diff --git a/dox/dev_guides/building/cmake/images/cmake_image002.png b/dox/dev_guides/building/cmake/images/cmake_image002.png
deleted file mode 100644 (file)
index 5ebc0b3..0000000
Binary files a/dox/dev_guides/building/cmake/images/cmake_image002.png and /dev/null differ
diff --git a/dox/dev_guides/building/cmake/images/cmake_image003.png b/dox/dev_guides/building/cmake/images/cmake_image003.png
deleted file mode 100644 (file)
index 3e39569..0000000
Binary files a/dox/dev_guides/building/cmake/images/cmake_image003.png and /dev/null differ
diff --git a/dox/dev_guides/building/cmake/images/cmake_image004.png b/dox/dev_guides/building/cmake/images/cmake_image004.png
deleted file mode 100644 (file)
index 81b11ce..0000000
Binary files a/dox/dev_guides/building/cmake/images/cmake_image004.png and /dev/null differ
diff --git a/dox/dev_guides/building/code_blocks.md b/dox/dev_guides/building/code_blocks.md
deleted file mode 100644 (file)
index 77e9dbb..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-Building with Code::Blocks {#occt_dev_guides__building_code_blocks}
-==========================
-
-@tableofcontents
-
-@section build_codeblocks_intro General
-
-This file describes steps to build OCCT libraries from sources using **Code::Blocks**, a cross-platform IDE, using project files generated by OCCT legacy tool **genproj**.
-It can be used as an alternative to CMake build system (see @ref occt_dev_guides__building_cmake) for all supported platforms.
-
-@section build_codeblocks_3rdparty Third-party libraries
-
-Before building OCCT, make sure to have all the needed third-party libraries installed, see @ref occt_dev_guides__building.
-
-@section build_codeblocks_conf Configuration
-
-Before building it is necessary to set up build environment.
-
-The environment is defined in the file *custom.sh* (on Linux and OS X) or *custom.bat* (on Windows) which can be edited directly:
-
-* Add paths to includes of used third-party libraries in variable *CSF_OPT_INC*. 
-* Add paths to their binary libraries in variable  *CSF_OPT_LIB64*.
-* Set variable *SHORTCUT_HEADERS* to specify a method for population of folder *inc* by header files. Supported methods are:
-  * *Copy* - headers will be copied from *src*;
-  * *ShortCut* - short-cut header files will be created, redirecting to same-named header located in *src*;
-  * "HardLink* - hard links to headers located in *src* will be created.
-* For optional  third-party libraries, set corresponding environment variable <i>HAVE_<LIBRARY_NAME></i> to either *false*,  e.g.:
-~~~~~
-       export HAVE_FREEIMAGE=false
-~~~~~
-
-Alternatively, or when *custom.sh* or *custom.bat* does not exist, you can launch **genconf** tool to configure environment interactively:
-
-@figure{/dev_guides/building/3rdparty/images/genconf_linux.png}
-
-Click "Save" to store the specified configuration in *custom.sh* or *custom.bat* file.
-  
-@section build_codeblocks_gen Projects generation
-
-Launch **genproj** tool with option *cbp* to update content of *inc* folder and generate project files after changes in OCCT code affecting layout or composition of source files:
-
-~~~~~
-  $ cd /dev/OCCT/opencascade-7.0.0
-  $ ./genproj cbp
-~~~~~
-
-The generated Code::Blocks project are placed into subfolder *adm/&lt;OS&gt;/cbp*.
-
-@note To use **genproj** and **genconf** tools you need to have Tcl installed and accessible by PATH.
-
-@section build_codeblocks_build Building
-
-To start **Code::Blocks**, launch script *codeblocks.sh*.
-
-To build all toolkits, click **Build->Build workspace** in the menu bar.
-
-To start *DRAWEXE*, which has been built with **Code::Blocks** on Mac OS X, run the script
-~~~~~
-   ./draw.sh cbp [d]
-~~~~~
-Option *d* is used if OCCT has been built in **Debug** mode.
diff --git a/dox/dev_guides/building/msvc.md b/dox/dev_guides/building/msvc.md
deleted file mode 100644 (file)
index b7838bc..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-Building with MS Visual C++ {#occt_dev_guides__building_msvc}
-===========================
-
-@tableofcontents
-
-@section build_msvc_intro General
-
-This page describes steps to build OCCT libraries from a complete source archive on Windows with <b>MS Visual C++</b> using projects generated by **genproj** tool. 
-It is an alternative to use of CMake build system (see @ref occt_dev_guides__building_cmake).
-
-**genproj** is a legacy tool (originated from command "wgenproj" in WOK) for generation of Visual Studio, Code.Blocks, and XCode project files used for building Open CASCADE Technology.
-These project files are placed inside OCCT directory (in *adm* subfolder) and use relative paths, thus can be moved together with sources.
-
-The project files included in official distribution of OCCT are generated by this tool.
-If you have official distribution with project files included, you can use them directly without a need to call **genproj**.
-
-@section build_msvc_3rdparty Third-party libraries
-
-Before building OCCT, make sure to have all the required third-party libraries installed.
-
-The easiest way to install third-party libraries is to download archive with pre-built binaries, corresponding to version of Visual Studio you are using, from https://www.opencascade.com/content/3rd-party-components.
-
-You can also build third-party libraries from their sources, see @ref occt_dev_guides__building_3rdparty_windows for instructions.
-
-@section build_msvc_conf Configuration
-
-If you have Visual Studio projects already available (pre-installed or generated), you can edit file *custom.bat* manually to adjust the environment:
-
-* *VCVER* -- specification of format of project files, defining also version of Visual Studio to be used, and default name of the sub-folder for binaries:
-
-| VCVER     | Visual Studio version | Windows Platform                 | Binaries folder name |
-|-----------|-----------------------|----------------------------------|----------------------|
-| vc10      | 2010 (10)             | Desktop (Windows API)            | vc10 |
-| vc11      | 2012 (11)             | Desktop (Windows API)            | vc11 |
-| vc12      | 2013 (12)             | Desktop (Windows API)            | vc12 |
-| vc14      | 2015 (14)             | Desktop (Windows API)            | vc14 |
-| vc14-uwp  | 2015 (14)             | UWP (Universal Windows Platform) | vc14-uwp |
-| vc141     | 2017 (15)             | Desktop (Windows API)            | vc14 |
-| vc141-uwp | 2017 (15)             | UWP (Universal Windows Platform) | vc14-uwp |
-| vc142     | 2019 (16)             | Desktop (Windows API)            | vc14 |
-| vc142-uwp | 2019 (16)             | UWP (Universal Windows Platform) | vc14-uwp |
-
-* *ARCH* -- architecture (32 or 64), affects only *PATH* variable for execution
-* <i>HAVE_*</i> -- flags to enable or disable use of optional third-party products
-* <i>CSF_OPT_*</i> -- paths to search for includes and binaries of all used  third-party products
-* *SHORTCUT_HEADERS* -- defines method for population of folder *inc* by header files. Supported methods are:
-  * *Copy* - headers will be copied from *src*;
-  * *ShortCut* - short-cut header files will be created, redirecting to same-named header located in *src*;
-  * "HardLink* - hard links to headers located in *src* will be created.
-
-Alternatively, you can launch **genconf**, a GUI tool allowing to configure build options interactively.
-That tool will analyze your environment and propose you to choose available options:
-
-* Version of Visual Studio to be used (from the list of installed ones, detected by presence of environment variables like *VS100COMNTOOLS*).
-* Method to populate folder *inc* (short-cuts by default).
-* Location of third-party libraries (usually downloaded from OCCT web site, see above).
-* Path to common directory where third-party libraries are located (optional).
-* Paths to headers and binaries of the third-party libraries (found automatically basing on previous options; click button "Reset" to update).
-* Generation of PDB files within Release build ("Release with Debug info", false by default).
-
-@figure{/dev_guides/building/3rdparty/images/genconf_windows.png}
-
-Click "Save" to store the specified configuration in *custom.bat* file.
-  
-@section build_msvc_generate Projects generation
-
-Launch **genproj** to update content of *inc* folder and generate project files after changes in OCCT code affecting layout or composition of source files.
-
-@note To use **genproj** and **genconf** tools you need to have Tcl installed and accessible by PATH.
-If Tcl is not found, the tool may prompt you to enter the path to directory where Tcl can be found.
-~~~~~
-  $ genproj.bat
-~~~~~
-
-Note that if *custom.bat* is not present, **genproj** will start **genconf** to configure environment.
-
-@section build_msvc_build Building
-
-Launch *msvc.bat* to start Visual Studio with all necessary environment variables defined, and build the whole solution or required toolkits.
-
-Note: the MSVC project files are located in folders <i>adm\\msvc\\vc...</i>.
-Binaries are produced in *win32* or *win64* folders.
-
-To start DRAW, launch *draw.bat*.
diff --git a/dox/dev_guides/building/xcode.md b/dox/dev_guides/building/xcode.md
deleted file mode 100644 (file)
index c56e7bb..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-Building with Xcode {#occt_dev_guides__building_xcode}
-===================
-
-@tableofcontents
-
-@section build_xcode_intro General
-
-This file describes steps to build OCCT libraries from sources on Mac OS X with **Xcode** projects, generated by OCCT legacy tool **genproj**.
-
-@section build_xcode_3rdparty Third-party libraries
-
-Before building OCCT, make sure to have all the needed third-party libraries installed.
-On OS X we recommend to use native libraries.
-You can also build third-party libraries from their sources, see @ref occt_dev_guides__building_3rdparty_osx for instructions.
-
-@section build_xcode_conf Configuration
-
-Before building it is necessary to set up build environment.
-
-The environment is defined in the file *custom.sh* which can be edited directly:
-
-* Add paths to includes of used third-party libraries in variable *CSF_OPT_INC* (use colon ":" as path separator).
-* Add paths to their binary libraries in variable  *CSF_OPT_LIB64*.
-* Set variable *SHORTCUT_HEADERS* to specify a method for population of folder *inc* by header files. Supported methods are:
-  * *Copy* - headers will be copied from *src*;
-  * *ShortCut* - short-cut header files will be created, redirecting to same-named header located in *src*;
-  * "HardLink* - hard links to headers located in *src* will be created.
-* For optional  third-party libraries, set corresponding environment variable <i>HAVE_<LIBRARY_NAME></i> to either *false*,  e.g.:
-~~~~~
-       export HAVE_FREEIMAGE=false
-~~~~~
-
-Alternatively, or when *custom.sh* does not exist, you can launch *genconf.sh* to configure environment interactively:
-
-@figure{/dev_guides/building/3rdparty/images/genconf_osx.png}
-
-Click "Save" to store the specified configuration in *custom.sh* file.
-  
-@section build_xcode_gen Projects generation
-
-Launch **genproj** tool to update content of *inc* folder and generate project files after changes in OCCT code affecting layout or composition of source files.
-
-@note To use **genproj** and **genconf** tools you need to have Tcl installed and accessible by PATH.
-
-For instance, in Terminal application:
-
-~~~~~
-  $ cd /dev/OCCT/opencascade-7.0.0
-  $ ./genproj
-~~~~~
-
-Option **-static** can be used with XCode to build static libraries.
-
-~~~~~
-  $ cd /dev/OCCT/opencascade-7.0.0
-  $ ./genproj xcd -static
-~~~~~
-
-@section build_xcode_build Building
-
-To start **Xcode**, launch script *xcode.sh*.
-
-To build a certain toolkit, select it in **Scheme** drop-down list in Xcode toolbar, press **Product** in the menu and click **Build** button. 
-
-To build the entire OCCT:
-* Create a new empty project (select **File -> New -> Project -> Empty project** in the menu; input the project name, e.g. *OCCT*; then click **Next** and **Create**).
-* Drag and drop the *OCCT* folder in the created *OCCT* project in the Project navigator.
-* Select **File -> New -> Target -> Aggregate** in the menu. 
-* Enter the project name (e.g. *OCCT*) and click **Finish**. The **Build Phases** tab will open.  
-* Click "+" button to add the necessary toolkits to the target project. It is possible to select all toolkits by pressing **Command+A** combination. 
-
-@section build_xcode_draw Launching DRAW
-
-To start *DRAWEXE*, which has been built with Xcode on Mac OS X, perform the following steps:
-
-1.Open Terminal application
-
-2.Enter <i>\<OCCT_ROOT_DIR\></i>:
-~~~~~
-   cd \<OCCT_ROOT_DIR\>
-~~~~~
-
-3.Run the script
-~~~~~
-   ./draw.sh xcd [d]
-~~~~~
-
-Option *d* is used if OCCT has been built in **Debug** mode.
index 24f3f19..61c7f01 100644 (file)
@@ -180,7 +180,7 @@ OCCT documentation is provided in several forms:
   Reference documentation is presented in **Modules --> Toolkits --> Packages --> Classes** 
   logic structure with cross-references to all OCCT classes and complete in-browser search by all classes.
 
-See @ref occt_dev_guides__documentation "OCCT Documentation Guide" for details on OCCT documentation system.
+See @ref occt_contribution__documentation "OCCT Documentation Guide" for details on OCCT documentation system.
 
 **Generation of HTML documentation**
 
@@ -261,7 +261,7 @@ Don't forget to report these bugs to vendors.
 
 In most cases you need to rebuild OCCT on your platform (OS, compiler) before
 using it in your project, to ensure binary compatibility.
-See @ref occt_dev_guides__building for instructions on
+See @ref build_upgrade for instructions on
 building OCCT from sources on supported platforms.
 
 @subsection OCCT_OVW_SECTION_4_1 Using Windows installer
index be36296..6bb7f56 100644 (file)
@@ -1,4 +1,4 @@
-Upgrade from older OCCT versions  {#occt_dev_guides__upgrade}
+Upgrade from older OCCT versions  {#occt__upgrade}
 ================================
 
 @tableofcontents
@@ -395,8 +395,8 @@ This modification did not change names, API, and behavior of existing OCCT class
 However, due to redesign of basic mechanisms (CDL generic classes, Handles and RTTI) using C++ templates, some changes may be necessary in the code when porting to OCCT 7.0, as described below.
 
 WOK is not necessary anymore for building OCCT from sources, though it still can be used in a traditional way -- auxiliary files required for that are preserved.
-The recommended method for building OCCT 7.x is CMake, see @ref occt_dev_guides__building_cmake.
-The alternative solution is to use project files generated by OCCT legacy tool **genproj**, see @ref occt_dev_guides__building_msvc, @ref occt_dev_guides__building_code_blocks, and @ref occt_dev_guides__building_xcode.
+The recommended method for building OCCT 7.x is CMake, see @ref build_occt_win_cmake.
+The alternative solution is to use project files generated by OCCT legacy tool **genproj**, see @ref build_occt_genproj, @ref build_occt_win_codeblocks, and @ref build_occt_macos_xcode.
 
 @subsubsection upgrade_occt700_cdl_auto Automatic upgrade