From 79d580f2eaaf326daabf4e1099afc0b978f70215 Mon Sep 17 00:00:00 2001 From: abv Date: Thu, 14 Nov 2013 12:47:01 +0400 Subject: [PATCH] 0024341: Document building OpenCL ICD Loader package - Building OpenCL ICD Loader documented; Acknowledgments section of Overview updated to mention also OpenGL and OpenCL - Reference to OpenCL updated in Overview: use general statement instead of direct link to AMD SDK. - GeForce 610, 6600, and Radeon HD 7870 added to list of tested graphic cards - Minor syntax corrections in DRAW UG to avoid interferences - Update 3rdparty products up to current state - Redesign of pages - Building OpenCL ICD Loader was documented for Linux platform - Lists reformatted, documentation manual updated to better describe use of lists. - Updating picture of structure of installed OCCT - Updating description of Automake procedure - Updating description of CMake building procedure --- .../building/3rdparty/3rdparty_linux.md | 349 +++++++-------- .../building/3rdparty/3rdparty_osx.md | 301 ++++++------- .../building/3rdparty/3rdparty_windows.md | 407 ++++++++++-------- dox/dev_guides/building/automake.md | 12 +- dox/dev_guides/building/cmake/cmake.md | 7 +- .../building/cmake/images/cmake_image001.png | Bin 109046 -> 104213 bytes dox/dev_guides/building/code_blocks.md | 2 +- dox/dev_guides/building/msvc.md | 6 +- dox/dev_guides/building/xcode.md | 2 +- dox/dev_guides/documentation/documentation.md | 106 ++++- dox/overview/Overview.md | 48 ++- dox/overview/images/overview_3rdparty.png | Bin 4420 -> 5984 bytes dox/overview/images/overview_installation.png | Bin 6699 -> 4705 bytes dox/user_guides/draw_test_harness.md | 14 +- 14 files changed, 646 insertions(+), 608 deletions(-) diff --git a/dox/dev_guides/building/3rdparty/3rdparty_linux.md b/dox/dev_guides/building/3rdparty/3rdparty_linux.md index 6cab2dbc6f..eef98ae833 100644 --- a/dox/dev_guides/building/3rdparty/3rdparty_linux.md +++ b/dox/dev_guides/building/3rdparty/3rdparty_linux.md @@ -1,280 +1,248 @@ - Building 3rd-party libraries on Linux {#dev_guides__building_3rdparty_linux} -============================================ + Building 3rd-party libraries on Linux {#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. +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 - http://www.opencascade.org/getocc/require/. +The links for downloading the third-party products are available on the web site +of OPEN CASCADE SAS at +http://www.opencascade.org/getocc/require/. - There are two types of third-party products, which are necessary to build OCCT: +There are two types of third-party products, which are necessary to build OCCT: - * Mandatory products: Tcl 8.5, Tk 8.5, FreeType 2.4.10 - * Optional products: TBB 3.x or 4.x, gl2ps 1.3.5, FreeImage 3.14.1 +* Mandatory products: Tcl/Tk 8.5 - 8.6 and  FreeType 2.4.10 - 2.4.11 +* Optional products: TBB 3.x - 4.x, gl2ps 1.3.5 - 1.3.8, FreeImage 3.14.1 - 3.15.4 @section dev_guides__building_3rdparty_linux_2 Building Mandatory Third-party Products -@subsection dev_guides__building_3rdparty_linux_2_1 Tcl/Tk 8.5 +@subsection dev_guides__building_3rdparty_linux_2_1 Tcl/Tk - Tcl/Tk is required for DRAW test harness. Version 8.5 or 8.6 can be used with OCCT. +Tcl/Tk is required for DRAW test harness. -@subsubsection dev_guides__building_3rdparty_linux_2_1_1 Installation from binaries +@subsubsection dev_guides__building_3rdparty_linux_2_1_1 Installation from binaries: - It is possible to download ready-to-install binaries from - http://www.activestate.com/activetcl/downloads +It is possible to download ready-to-install binaries from +http://www.activestate.com/activetcl/downloads - * 1. Download the binaries archive and unpack them to some TCL_SRC_DIR. - * 2. Enter the directory TCL_SRC_DIR. +1. Download the binaries archive and unpack them to some TCL_SRC_DIR. +2. Enter the directory TCL_SRC_DIR. - @verbatim - cd TCL_SRC_DIR - @endverbatim + cd TCL_SRC_DIR - * 3. Run the install command +3. Run the install command - @verbatim - install.sh - @endverbatim + install.sh - and follow instructions. + and follow instructions. -@subsubsection dev_guides__building_3rdparty_linux_2_1_2 Installation from sources: Tcl 8.5 +@subsubsection dev_guides__building_3rdparty_linux_2_1_2 Installation from sources: Tcl - Download the necessary archive from http://www.tcl.tk/software/tcltk/download.html and unpack it. +Download the necessary archive from http://www.tcl.tk/software/tcltk/download.html and unpack it. - * 1. Enter the unix sub-directory of the directory where the source files of Tcl are located (TCL_SRC_DIR). +1. Enter the unix sub-directory of the directory where the source files of Tcl are located (TCL_SRC_DIR). - @verbatim - cd TCL_SRC_DIR/unix - @endverbatim + cd TCL_SRC_DIR/unix - * 2. Run the configure command +2. Run the configure command - @verbatim - configure --enable-gcc --enable-shared --enable-threads --prefix=TCL_INSTALL_DIR - @endverbatim + configure --enable-gcc --enable-shared --enable-threads --prefix=TCL_INSTALL_DIR - For a 64 bit platform also add --enable-64bit option to the command line. + For a 64 bit platform also add --enable-64bit option to the command line. - * 3. If the configure command has finished successfully, start the building process +3. If the configure command has finished successfully, start the building process - @verbatim - make - @endverbatim + 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 +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 - @verbatim - make install - @endverbatim + make install -@subsubsection dev_guides__building_3rdparty_linux_2_1_3 Installation from sources: Tk 8.5 +@subsubsection dev_guides__building_3rdparty_linux_2_1_3 Installation from sources: Tk - Download the necessary archive from http://www.tcl.tk/software/tcltk/download.html and unpack it. +Download the necessary archive from http://www.tcl.tk/software/tcltk/download.html and unpack it. - * 1. Enter the unix sub-directory of the directory where the source files of Tk are located (TK_SRC_DIR). +1. Enter the unix sub-directory of the directory where the source files of Tk are located (TK_SRC_DIR). - @verbatim - cd TK_SRC_DIR/unix - @endverbatim + cd TK_SRC_DIR/unix - * 2. Run the configure command, where TCL_LIB_DIR is TCL_INSTALL_DIR/lib +2. Run the configure command, where TCL_LIB_DIR is TCL_INSTALL_DIR/lib - @verbatim - configure --enable-gcc --enable-shared --enable-threads --with-tcl=TCL_LIB_DIR --prefix=TK_INSTALL_DIR - @endverbatim + configure --enable-gcc --enable-shared --enable-threads --with-tcl=TCL_LIB_DIR --prefix=TK_INSTALL_DIR - where TCL_LIB_DIR is TCL_INSTALL_DIR/lib + where TCL_LIB_DIR is TCL_INSTALL_DIR/lib - For a 64 bit platform also add --enable-64bit option to the command line. + For a 64 bit platform also add --enable-64bit option to the command line. - * 3. If the configure command has finished successfully, start the building process +3. If the configure command has finished successfully, start the building process - @verbatim - make - @endverbatim + make - * 4. If 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 TK_INSTALL_DIR is TCL_INSTALL_DIR) +4. If 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 TK_INSTALL_DIR is TCL_INSTALL_DIR) - @verbatim - make install - @endverbatim + make install -@subsection dev_guides__building_3rdparty_linux_2_2 FreeType 2.4.10 +@subsection dev_guides__building_3rdparty_linux_2_2 FreeType - FreeType is required for display of text in 3D viewer. - Download the necessary archive from http://sourceforge.net/projects/freetype/files/ and unpack it. +FreeType is required for display of text in 3D viewer. +Download the necessary archive from http://sourceforge.net/projects/freetype/files/ and unpack it. - * 1. Enter the directory where the source files of FreeType are located (FREETYPE_SRC_DIR). +1. Enter the directory where the source files of FreeType are located (FREETYPE_SRC_DIR). - @verbatim - cd FREETYPE_SRC_DIR - @endverbatim + cd FREETYPE_SRC_DIR - * 2. Run the configure command +2. Run the configure command - @verbatim - configure --prefix=FREETYPE_INSTALL_DIR - @endverbatim + configure --prefix=FREETYPE_INSTALL_DIR - For a 64 bit platform also add CFLAGS='-m64 -fPIC' CPPFLAGS='-m64 -fPIC' option to the command line. + For a 64 bit platform also add CFLAGS='-m64 -fPIC' CPPFLAGS='-m64 -fPIC' option to the command line. - * 3. If the configure command has finished successfully, start the building process +3. If the configure command has finished successfully, start the building process - @verbatim - make - @endverbatim + 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 +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 - @verbatim - make install - @endverbatim + make install @section dev_guides__building_3rdparty_linux_3 Building Optional Third-party Products -@subsection dev_guides__building_3rdparty_linux_3_1 TBB 3.x or 4.x +@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 http://threadingbuildingblocks.org. - Go to \"Downloads page\", find the release version you need (e.g. tbb30_018oss) and pick the archive for Linux platform. - To install, unpack the downloaded archive of TBB 3.0 product (*tbb30_018oss_lin.tgz*). +This third-party product is installed with binaries from the archive that can be downloaded from http://threadingbuildingblocks.org. +Go to \"Downloads 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_2 gl2ps 1.3.5 +@subsection dev_guides__building_3rdparty_linux_3_2 gl2ps - Download the necessary archive from http://geuz.org/gl2ps/ and unpack it. +Download the necessary archive from http://geuz.org/gl2ps/ and unpack it. - * 1. Install or build cmake product from source file. - * 2. Start cmake in GUI mode with the directory where the source files of gl2ps are located: - @verbatim - ccmake GL2PS_SRC_DIR - @endverbatim - * 2.1. Press [c] to make the initial configuration - * 2.2. Define the necessary options CMAKE_INSTALL_PREFIX - * 2.3. Press [c] to make the final configuration - * 2.4. Press [g] to generate Makefile and exit +1. Install or build cmake product from source file. +2. Start cmake in GUI mode with the directory where the source files of gl2ps are located: + + ccmake GL2PS_SRC_DIR + + a. Press [c] to make the initial configuration + b. Define the necessary options CMAKE_INSTALL_PREFIX + c. Press [c] to make the final configuration + d. Press [g] to generate Makefile and exit - or just run the following command: + or just run the following command: - @verbatim - cmake –DCMAKE_INSTALL_PREFIX=GL2PS_INSTALL_DIR –DCMAKE_BUILD_TYPE=Release - @endverbatim + cmake –DCMAKE_INSTALL_PREFIX=GL2PS_INSTALL_DIR –DCMAKE_BUILD_TYPE=Release - * 3. Start building of gl2ps +3. Start building of gl2ps - @verbatim - make - @endverbatim + make - * 4. Start the installation of gl2ps. Binaries will be installed according to the CMAKE_INSTALL_PREFIX option +4. Start the installation of gl2ps. Binaries will be installed according to the CMAKE_INSTALL_PREFIX option - @verbatim - make install - @endverbatim + make install -@subsection dev_guides__building_3rdparty_linux_3_3 FreeImage 3.14.1 +@subsection dev_guides__building_3rdparty_linux_3_3 FreeImage - Download the necessary archive from http://sourceforge.net/projects/freeimage/files/Source%20Distribution/ - and unpack it. The directory with unpacked sources is further referred to as FREEIMAGE_SRC_DIR. +Download the necessary archive from http://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: +1. Modify FREEIMAGE_SRC_DIR/Source/OpenEXR/Imath/ImathMatrix.h: In line 60 insert the following: - @verbatim - #include string.h - @endverbatim + #include string.h - * 2. Enter the directory where the source files of FreeImage are located (FREEIMAGE_SRC_DIR). +2. Enter the directory where the source files of FreeImage are located (FREEIMAGE_SRC_DIR). - @verbatim - cd FREEIMAGE_SRC_DIR - @endverbatim + cd FREEIMAGE_SRC_DIR - * 3. Run the building process +3. Run the building process - @verbatim - make - @endverbatim - - * 4. Run the installation process - * 4.1. If you have permissions to write to /usr/include and /usr/lib directories then run the following command: - @verbatim - make install - @endverbatim - * 4.2. If you don’t have permissions to write to /usr/include and + make + +4. Run the installation process + + a. If you have permissions to write to /usr/include and /usr/lib directories then run the following command: + + make install + b. If you don’t have permissions to write to /usr/include and /usr/lib directories then you need to modify the file FREEIMAGE_SRC_DIR/Makefile.gnu: - Change lines 7-9 from: + Change lines 7-9 from: - @verbatim - DESTDIR ?= / - INCDIR ?= $(DESTDIR)/usr/include - INSTALLDIR ?= $(DESTDIR)/usr/lib - @endverbatim - - to: - - @verbatim - DESTDIR ?= $(DESTDIR) - INCDIR ?= $(DESTDIR)/include - INSTALLDIR ?= $(DESTDIR)/lib - @endverbatim - - Change lines 65-67 from: - - @verbatim - 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) - @endverbatim + 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: + to: - @verbatim - install -m 755 $(HEADER) $(INCDIR) - install -m 755 $(STATICLIB) $(INSTALLDIR) - install -m 755 $(SHAREDLIB) $(INSTALLDIR) - @endverbatim + install -m 755 $(HEADER) $(INCDIR) + install -m 755 $(STATICLIB) $(INSTALLDIR) + install -m 755 $(SHAREDLIB) $(INSTALLDIR) - Change line 70 from:  + Change line 70 from:  - @verbatim - ldconfig - @endverbatim + ldconfig - to: + to: - @verbatim - \#ldconfig - @endverbatim + \#ldconfig - Then run the installation process by the following command: + Then run the installation process by the following command: - @verbatim - make DESTDIR=FREEIMAGE_INSTALL_DIR install - @endverbatim + make DESTDIR=FREEIMAGE_INSTALL_DIR install - * 5. Clean the temporary files +5. Clean the temporary files - @verbatim - make clean - @endverbatim + make clean + +@subsection dev_guides__building_3rdparty_linux_3_4 OpenCL ICD Loader + +If you have OpenCL SDK (one provided by Apple, AMD, NVIDIA, Intel, or other +vendor) installed on your system, you should find OpenCL headers and +libraries required for building OCCT inside that SDK. + +Alternatively, you can use OpenCL ICD (Installable Client Driver) Loader +provided by Khronos group. The following describes steps used to build OpenCL +ICD Loader version 1.2.11.0. + +1. Download OpenCL ICD Loader sources archive and OpenCL header files from + Khronos OpenCL Registry + http://www.khronos.org/registry/cl/ + +2. Unpack the archive and put headers in **inc/CL** sub-folder + +3. Print **make** in root of unpacked archive to compile OpenCL libraries. + +4. Create installation folder for OpenCL IDL Loader package and put there: + + 1. OpenCL header files in **include/CL** subfolder + + 2. **libOpenCL.so** (generated in **bin** subfolder of source package) in **lib** subfolder @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: +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: - @verbatim sudo apt-get install \ tcllib tklib tcl-dev tk-dev \ libfreetype-dev \ @@ -283,21 +251,14 @@ libfreeimage-dev \ libtbb-dev \ libgl2ps-dev - @endverbatim - To launch WOK-prebuilt binaries you need install C shell and 32-bit libraries on x86_64 distributives: +To launch WOK-prebuilt binaries you need install C shell and 32-bit libraries on x86_64 distributives: - @verbatim sudo apt-get install \ csh \ libstdc++5:i386 libxt6:i386 - @endverbatim - Any compliant C++ compiler is required for building anyway: +Any compliant C++ compiler is required for building anyway: - @verbatim sudo apt-get install \ - g++ \ - @endverbatim - -@see http://www.opencascade.org for details + g++ diff --git a/dox/dev_guides/building/3rdparty/3rdparty_osx.md b/dox/dev_guides/building/3rdparty/3rdparty_osx.md index eaea1a1f25..88bd211e9e 100644 --- a/dox/dev_guides/building/3rdparty/3rdparty_osx.md +++ b/dox/dev_guides/building/3rdparty/3rdparty_osx.md @@ -1,269 +1,218 @@ - Building 3rd-party libraries on MacOS X {#dev_guides__building_3rdparty_osx} + Building 3rd-party libraries on MacOS X {#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). +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 - http://www.opencascade.org/getocc/require/. +The links for downloading the third-party products are available +on the web site of OPEN CASCADE SAS at +http://www.opencascade.org/getocc/require/. - There are two types of third-party products, which are necessary to build OCCT: +There are two types of third-party products, which are necessary to build OCCT: - * Mandatory products: Tcl 8.5, Tk 8.5, FreeType 2.4.10 - * Optional products: TBB 3.x or 4.x, gl2ps 1.3.5, FreeImage 3.14.1 or 3.15.x +* Mandatory products: Tcl 8.5, Tk 8.5, FreeType 2.4.10 +* Optional products: TBB 3.x or 4.x, gl2ps 1.3.5, FreeImage 3.14.1 or 3.15.x @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. +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_1 Installation from binaries - It is possible to download ready-to-install binaries from - http://www.activestate.com/activetcl/downloads +It is possible to download ready-to-install binaries from +http://www.activestate.com/activetcl/downloads - * 1. Download the disk image to some TCL_DOWNLOAD_DIR. - * 2. Open in Finder the directory TCL_DOWNLOAD_DIR. - * 3. Open disk image and follow instructions. +1. Download the disk image to some TCL_DOWNLOAD_DIR. +2. Open in Finder the directory TCL_DOWNLOAD_DIR. +3. Open disk image and follow instructions. @subsubsection dev_guides__building_3rdparty_osx_2_1_2 Installation from sources: Tcl 8.5 - Download the necessary archive from http://www.tcl.tk/software/tcltk/download.html and unpack it. +Download the necessary archive from http://www.tcl.tk/software/tcltk/download.html and unpack it. - * 1. Enter the macosx sub-directory of the directory where the source files of Tcl are located (TCL_SRC_DIR). +1. Enter the macosx sub-directory of the directory where the source files of Tcl are located (TCL_SRC_DIR). - @verbatim - cd TCL_SRC_DIR/macosx - @endverbatim + cd TCL_SRC_DIR/macosx - * 2. Run the configure command +2. Run the configure command - @verbatim - configure --enable-gcc --enable-shared --enable-threads --prefix=TCL_INSTALL_DIR - @endverbatim + configure --enable-gcc --enable-shared --enable-threads --prefix=TCL_INSTALL_DIR - For a 64 bit platform also add --enable-64bit option to the command line. + For a 64 bit platform also add --enable-64bit option to the command line. - * 3. If the configure command has finished successfully, start the building process +3. If the configure command has finished successfully, start the building process - @verbatim - make - @endverbatim + 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 +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 - @verbatim - make install - @endverbatim + make install @subsubsection dev_guides__building_3rdparty_osx_2_1_3 Installation from sources: Tk 8.5 - Download the necessary archive from http://www.tcl.tk/software/tcltk/download.html and unpack it. +Download the necessary archive from http://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 (TK_SRC_DIR). +1. Enter the macosx sub-directory of the directory where the source files of Tk are located (TK_SRC_DIR). - @verbatim - cd TK_SRC_DIR/macosx - @endverbatim + cd TK_SRC_DIR/macosx - * 2. Run the configure command, where TCL_LIB_DIR is TCL_INSTALL_DIR/lib +2. Run the configure command, where TCL_LIB_DIR is TCL_INSTALL_DIR/lib - @verbatim - configure --enable-gcc --enable-shared --enable-threads --with-tcl=TCL_LIB_DIR --prefix=TK_INSTALL_DIR - @endverbatim + configure --enable-gcc --enable-shared --enable-threads --with-tcl=TCL_LIB_DIR --prefix=TK_INSTALL_DIR - where TCL_LIB_DIR is TCL_INSTALL_DIR/lib. For a 64 bit platform also add --enable-64bit option to the command line. + where TCL_LIB_DIR is TCL_INSTALL_DIR/lib. For a 64 bit platform also add --enable-64bit option to the command line. - * 3. If the configure command has finished successfully, start the building process +3. If the configure command has finished successfully, start the building process - @verbatim - make - @endverbatim + make - * 4. If 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 TK_INSTALL_DIR is TCL_INSTALL_DIR) +4. If 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 TK_INSTALL_DIR is TCL_INSTALL_DIR) - @verbatim - make install - @endverbatim + make install @subsection dev_guides__building_3rdparty_osx_2_2 FreeType 2.4.10 - FreeType is required for display of text in 3D viewer. +FreeType is required for display of text in 3D viewer. - Download the necessary archive from http://sourceforge.net/projects/freetype/files/ and unpack it. +Download the necessary archive from http://sourceforge.net/projects/freetype/files/ and unpack it. - * 1. Enter the directory where the source files of FreeType are located (FREETYPE_SRC_DIR). +1. Enter the directory where the source files of FreeType are located (FREETYPE_SRC_DIR). - @verbatim - cd FREETYPE_SRC_DIR - @endverbatim + cd FREETYPE_SRC_DIR - * 2. Run the configure command +2. Run the configure command - @verbatim - configure --prefix=FREETYPE_INSTALL_DIR - @endverbatim + configure --prefix=FREETYPE_INSTALL_DIR - For a 64 bit platform also add CFLAGS='-m64 -fPIC' CPPFLAGS='-m64 -fPIC' option to the command line. + For a 64 bit platform also add CFLAGS='-m64 -fPIC' CPPFLAGS='-m64 -fPIC' option to the command line. - * 3. If the configure command has finished successfully, start the building process +3. If the configure command has finished successfully, start the building process - @verbatim - make - @endverbatim + 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 +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 - @verbatim - make install - @endverbatim + 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 http://threadingbuildingblocks.org/. - Go to \"Downloads / Commercial Aligned Release\", 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*). +This third-party product is installed with binaries from the archive +that can be downloaded from http://threadingbuildingblocks.org/. +Go to \"Downloads / Commercial Aligned Release\", 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_2 gl2ps 1.3.5 - Download the necessary archive from http://geuz.org/gl2ps/ and unpack it. +Download the necessary archive from http://geuz.org/gl2ps/ and unpack it. - * 1. Install or build cmake product from source file. +1. Install or build cmake product from source file. - * 2. Start cmake in GUI mode with the directory where the source files of fl2ps are located - @verbatim - ccmake GL2PS_SRC_DIR - @endverbatim - * 2.1. Press [c] to make the initial configuration - * 2.2. Define the necessary options CMAKE_INSTALL_PREFIX - * 2.3. Press [c] to make the final configuration - * 2.4. Press [g] to generate Makefile and exit +2. Start cmake in GUI mode with the directory where the source files of fl2ps are located - or just run the following command: + ccmake GL2PS_SRC_DIR - @verbatim - cmake –DCMAKE_INSTALL_PREFIX=GL2PS_INSTALL_DIR –DCMAKE_BUILD_TYPE=Release - @endverbatim + 1. Press [c] to make the initial configuration + 2. Define the necessary options CMAKE_INSTALL_PREFIX + 3. Press [c] to make the final configuration + 4. Press [g] to generate Makefile and exit - * 3. Start building of gl2ps + or just run the following command: - @verbatim - make - @endverbatim + cmake –DCMAKE_INSTALL_PREFIX=GL2PS_INSTALL_DIR –DCMAKE_BUILD_TYPE=Release - * 4. Start the installation of gl2ps. Binaries will be installed according to the CMAKE_INSTALL_PREFIX option +3. Start building of gl2ps - @verbatim - make install - @endverbatim + make + +4. Start the installation of gl2ps. Binaries will be installed according to the CMAKE_INSTALL_PREFIX option + + make install @subsection dev_guides__building_3rdparty_osx_3_3 FreeImage 3.14.1 or 3.15.x - Download the necessary archive from - http://sourceforge.net/projects/freeimage/files/Source%20Distribution/ - and unpack it. The directory with unpacked sources is further referred to as FREEIMAGE_SRC_DIR. +Download the necessary archive from +http://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 corrected one which you can find in attachment to issue #22811 in OCCT Mantis bug tracker - (http://tracker.dev.opencascade.org/file_download.php?file_id=6937&type=bug) or elsewhere. +Note that for building FreeImage on Mac OS X 10.7 you should replace Makefile.osx +in FREEIMAGE_SRC_DIR by corrected one which you can find in attachment to issue #22811 in OCCT Mantis bug tracker +(http://tracker.dev.opencascade.org/file_download.php?file_id=6937&type=bug) or elsewhere. - * 1.If you are building FreeImage 3.15.x you can skip this step. - Modify FREEIMAGE_SRC_DIR/Source/OpenEXR/Imath/ImathMatrix.h: +1. If you are building FreeImage 3.15.x you can skip this step. + Modify FREEIMAGE_SRC_DIR/Source/OpenEXR/Imath/ImathMatrix.h: - In line 60 insert the following: + In line 60 insert the following: - @verbatim - #include string.h - @endverbatim + #include string.h - Modify FREEIMAGE_SRC_DIR/Source/FreeImage/PluginTARGA.cpp: + Modify FREEIMAGE_SRC_DIR/Source/FreeImage/PluginTARGA.cpp: - In line 320 replace: - @verbatim - SwapShort(value); - @endverbatim + In line 320 replace: + + SwapShort(value); + + with: + + SwapShort(&value); + +2. Enter the directory where the source files of FreeImage are located (FREEIMAGE_SRC_DIR). - with: - @verbatim - SwapShort(&value); - @endverbatim + cd FREEIMAGE_SRC_DIR - * 2.Enter the directory where the source files of FreeImage are located (FREEIMAGE_SRC_DIR). +3. Run the building process - @verbatim - cd FREEIMAGE_SRC_DIR - @endverbatim + make - * 3.Run the building process +4. Run the installation process + + 1. If you have permissions to write to /usr/local/include and /usr/local/lib directories then run the following command: - @verbatim - make - @endverbatim + make install - * 4.Run the installation process - * 4.1. If you have permissions to write to /usr/local/include and /usr/local/lib directories then run the following command: - @verbatim - make install - @endverbatim - * 4.2. If you don’t have permissions to write to /usr/include and /usr/lib directories - then you need to modify the file FREEIMAGE_SRC_DIR/Makefile.osx: + 2. If you do not have permissions to write to /usr/include and /usr/lib directories + then you need to modify the file FREEIMAGE_SRC_DIR/Makefile.osx: - Change line 49 from:    + Change line 49 from:    - @verbatim - PREFIX ?= /usr/local - @endverbatim + PREFIX ?= /usr/local - to: + to: - @verbatim - PREFIX ?= $(PREFIX) - @endverbatim - -  Change lines 65-69 from: - - @verbatim - 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) - @endverbatim + 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: - - @verbatim - 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) - @endverbatim - - Then run the installation process by the following command: + 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: - @verbatim - make PREFIX=FREEIMAGE_INSTALL_DIR install - @endverbatim + make PREFIX=FREEIMAGE_INSTALL_DIR install - * 5.Clean the temporary files +5. Clean the temporary files - @verbatim - make clean - @endverbatim - -@see http://www.opencascade.org for details + make clean diff --git a/dox/dev_guides/building/3rdparty/3rdparty_windows.md b/dox/dev_guides/building/3rdparty/3rdparty_windows.md index 914835c71c..6a68c2ac35 100644 --- a/dox/dev_guides/building/3rdparty/3rdparty_windows.md +++ b/dox/dev_guides/building/3rdparty/3rdparty_windows.md @@ -1,270 +1,311 @@ - Building 3rd-party libraries on Windows {#dev_guides__building_3rdparty_windows} + Building 3rd-party libraries on Windows {#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. +This document presents guidelines for building third-party products +used by Open CASCADE Technology (OCCT) and samples on Windows platform. - In order to understand these guidelines, you need to be familiar with MS Visual Studio / Visual C++. +This guide assumfamiliar 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. +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 http://www.opencascade.org/getocc/require/. - There are two types of third-party products which are used by OCCT: +The links for downloading the third-party products are available on the web site +of OPEN CASCADE SAS at http://www.opencascade.org/getocc/require/. +There are two types of third-party products which are used by OCCT: - * Mandatory products: Tcl 8.5, Tk 8.5 and  FreeType 2.4.10 - * Optional products: TBB 3.x or 4.x, gl2ps * 1.3.5, FreeImage 3.14.1 +* Mandatory products: Tcl/Tk 8.5 - 8.6 and  FreeType 2.4.10 - 2.4.11 +* Optional products: TBB 3.x - 4.x, gl2ps 1.3.5 - 1.3.8, FreeImage 3.14.1 -3.15.4 - 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*). +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*. +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 8.5 +@subsection dev_guides__building_3rdparty_win_2_1 Tcl/Tk - Tcl/Tk is required for DRAW test harness. Version 8.5 or * 8.6 can be used for OCCT. - We recommend installing a binary distribution that could be downloaded from - http://www.activestate.com/activetcl. +Tcl/Tk is required for DRAW test harness.We recommend installing a binary distribution that could +be downloaded from http://www.activestate.com/activetcl. - Go to \"Free Downloads\" and pick the version of the Install Wizard - that matches your target platform – 32 bit (x86) or 64 bit (x64). - The version of Visual Studio you use is irrelevant when choosing the Install Wizard. +Go to \"Free Downloads\" and pick the version of the Install Wizard +that matches your target platform – 32 bit (x86) or 64 bit (x64). +The version of Visual Studio you use is irrelevant when choosing the Install Wizard. - Run the Install Wizard you downloaded, and install Tcl/Tk products - to 3rdparty\\tcltk-win32 folder (for 32-bit platform) or - to 3rdparty\\tcltk-win64 folder (for 64-bit platform). +Run the Install Wizard you downloaded, and install Tcl/Tk products - Further in this document, this folder is referred to as *tcltk*. +* to 3rdparty\\tcltk-win32 folder (for 32-bit platform) or +* to 3rdparty\\tcltk-win64 folder (for 64-bit platform). -@subsection dev_guides__building_3rdparty_win_2_2 FreeType 2.4.10 +Further in this document, this folder is referred to as *tcltk*. - FreeType is required for display of text in 3D viewer. - You can download its sources from http://sourceforge.net/projects/freetype/files/ +@subsection dev_guides__building_3rdparty_win_2_2 FreeType - The building process is the following: +FreeType is required for display of text in 3D viewer. +You can download its sources from http://sourceforge.net/projects/freetype/files/ - * 1. Unpack the downloaded archive of FreeType 2.4.10 product into the *3rdparty* folder. +The building process is the following: - As a result, you should have a folder named *3rdparty\\freetype-2.4.10*. Further in this document, this folder is referred to as *freetype*. +1. Unpack the downloaded archive of FreeType product into the *3rdparty* folder. - * 2. Open the solution file *freetype\\builds\\win32\\vc20xx\\freetype.sln* in Visual Studio, where vc20xx stands for the version of Visual Studio you are using. - * 3. Select a configuration to build: either Debug or Release. - * 4. Build the *freetype* project. + As a result, you should have a folder named for example, *3rdparty\\freetype-2.4.10*. Further in this document, this folder is referred to as *freetype*. - As a result, you will get a freetype import library (.lib) in the *freetype\\obj\\win32\\vc20xx* folder. +2. Open the solution file *freetype\\builds\\win32\\vc20xx\\freetype.sln* in Visual Studio, where vc20xx stands for the version of Visual Studio you are using. +3. Select a configuration to build: either Debug or Release. +4. Build the *freetype* project. - * 5. If you are building for 64 bit platform, start the Configuration Manager (Build - Configuration Manager), - and add *x64* platform to the solution configuration by copying the settings from Win32 platform: + As a result, you will get a freetype import library (.lib) in the *freetype\\obj\\win32\\vc20xx* folder. -@image html /dev_guides/building/3rdparty/images/3rdparty_image001.png -@image latex /dev_guides/building/3rdparty/images/3rdparty_image001.png +5. If you are building for 64 bit platform, start the Configuration Manager (Build - Configuration Manager), + and add *x64* platform to the solution configuration by copying the settings from Win32 platform: - Update the value of the Output File for x64 configuration: + @image html /dev_guides/building/3rdparty/images/3rdparty_image001.png + @image latex /dev_guides/building/3rdparty/images/3rdparty_image001.png -@image html /dev_guides/building/3rdparty/images/3rdparty_image003.png -@image latex /dev_guides/building/3rdparty/images/3rdparty_image003.png + Update the value of the Output File for x64 configuration: - Build the *freetype* project. + @image html /dev_guides/building/3rdparty/images/3rdparty_image003.png + @image latex /dev_guides/building/3rdparty/images/3rdparty_image003.png + + Build the *freetype* project. As a result, you should obtain a 64 bit import library (.lib) file in the *freetype\\x64\\vc20xx* folder. - If you want to build freetype as an import library (.lib) and a dynamic library (.dll) you should follow items 6, 7 and 8 of this list. - * 6. Open Project-Properties-Configuration Properties-General and change option 'Configuration Type' to \"*Dynamic Library (.dll)*\". - * 7. Edit file *freetype\\include\\freetype\\config\\ftoption.h*: + If you want to build freetype as a dynamic library (.dll) follow items 6, 7 and 8 of this list. + +6. Open 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: + in line 255, uncomment the definition of macro FT_EXPORT and change it as follows: - @verbatim - #define FT_EXPORT(x) __declspec(dllexport) x - @endverbatim + #define FT_EXPORT(x) __declspec(dllexport) x - * 8. Build the *freetype* project. +8. Build the *freetype* project. - As a result, you should obtain import library (.lib) and dynamic library (.dll) - files in *freetype \\objs\\release or \\objs\\debug folders.* - If you are building for a 64 bit platform, follow item 5 of this list. + As a result, you should obtain import library (.lib) and dynamic library (.dll) + files in *freetype \\objs\\release or \\objs\\debug folders.* + If you are building for a 64 bit platform, follow item 5 of this list. - In order to facilitate use of the FreeType libraries in OCCT with minimal adjustment of its build procedures, - it is recommended to copy the include files and libraries of FreeType to a separate folder, named according to the pattern: - *freetype-compiler-bitness-building mode* - where + In order to facilitate use of the FreeType libraries in OCCT with minimal adjustment of its build procedures, + it is recommended to copy the include files and libraries of FreeType to 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) + * 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 Debug configuration is built, - the Debug libraries should be put in subdirectories *libd* and *bind*. + 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 Debug configuration is built, + the Debug libraries should be put in 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 3.x or 4.x +@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 http://threadingbuildingblocks.org/. +Go to \"Downloads 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_2 gl2ps + +This third-party product should be built as a dynamically loadable library (dll file). +You can download its sources from http://geuz.org/gl2ps/src/ + +The building process is the following: + +1. Unpack the downloaded archive of gl2ps product (e.g. *gl2ps-1.3.5.tgz*) into the *3rdparty* folder. - This third-party product is installed with binaries - from the archive that can be downloaded from http://threadingbuildingblocks.org/. - Go to \"Downloads 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*. + As a result, you should have a folder named for example, *3rdparty\\gl2ps-1.3.5-source*. -@subsection dev_guides__building_3rdparty_win_3_2 gl2ps * 1.3.5 + Rename it according to the rule: gl2ps-platform-compiler-building mode, where - This third-party product should be built as a dynamically loadable library (dll file). - You can download its sources from http://geuz.org/gl2ps/src/ + * platform is win32 or win64; + * compiler is vc8 or vc9 or vc10; + * building mode - opt (for release) or deb (for debug) - The building process is the following: + Further in this document, this folder is referred to as *gl2ps*. - * 1. Unpack the downloaded archive of gl2ps * 1.3.5 product (*gl2ps-* 1.3.5.tgz*) into the *3rdparty* folder. - As a result, you should have a folder named *3rdparty\\gl2ps-* 1.3.5-source*. - Rename it according to the rule: gl2ps-platform-compiler-building mode, where - platform is win32 or win64; - compiler is vc8 or vc9 or vc10; - building mode - opt (for release) or deb (for debug) - Further in this document, this folder is referred to as *gl2ps*. +2. Download (from http://www.cmake.org/cmake/resources/software.html) + and install the *CMake* build system. - * 2. Download (from http://www.cmake.org/cmake/resources/software.html) - and install the *CMake* build system. +3. Edit the file *gl2ps\\CMakeLists.txt*. - * 3. Edit the file *gl2ps\\CMakeLists.txt*. After line 113 in CMakeLists.txt: - @verbatim - set_target_properties(shared PROPERTIES COMPILE_FLAGS \"-DGL2PSDLL -DGL2PSDLL_EXPORTS\") - @endverbatim + set_target_properties(shared PROPERTIES COMPILE_FLAGS \"-DGL2PSDLL -DGL2PSDLL_EXPORTS\") add the following line: - @verbatim - add_definitions(-D_USE_MATH_DEFINES) - @endverbatim + add_definitions(-D_USE_MATH_DEFINES) - Attention: If cygwin was installed on your computer make sure that there is no path - to the latter in the PATH variable in order to avoid possible conflicts during the configuration. + Attention: If cygwin was installed on your computer make sure that there is no path + to the latter in the PATH variable in order to avoid possible conflicts during the configuration. - * 4. Launch CMake (cmake-gui.exe) using the Program menu. - In CMake: +4. Launch CMake (cmake-gui.exe) using the Program menu. + + In CMake: - * Define where the source code is. - This path must point to *gl2ps* folder. - * Define where to build the binaries. - This path must point to the folder where generated gl2ps project binaries will be placed - (for example, *gl2ps\\bin*). - Further in this document, this folder is referred to as *gl2ps_bin*. - * Press the \"Configure\" button. -@image html /dev_guides/building/3rdparty/images/3rdparty_image004.png -@image latex /dev_guides/building/3rdparty/images/3rdparty_image004.png - * Select the generator (the compiler and the target platform - 32 or 64 bit) in the pop-up window. -@image html /dev_guides/building/3rdparty/images/3rdparty_image005.png -@image latex /dev_guides/building/3rdparty/images/3rdparty_image005.png - * Then press the \"Finish\" button to return to the main CMake window. - Expand the ENABLE group and uncheck ENABLE_PNG and ENABLE_ZLIB check boxes. -@image html /dev_guides/building/3rdparty/images/3rdparty_image006.png -@image latex /dev_guides/building/3rdparty/images/3rdparty_image006.png - * Expand the CMAKE group and define CMAKE_INSTALL_PREFIX - (path where you want to install the build results, for example, *c:\\occ3rdparty\\gl2ps\-1.3.5*). -@image html /dev_guides/building/3rdparty/images/3rdparty_image007.png -@image latex /dev_guides/building/3rdparty/images/3rdparty_image007.png - * Press the \"Configure\" button again, and then the \"Generate\" button in order to generate + * Define where the source code is. + This path must point to *gl2ps* folder. + + * Define where to build the binaries. + This path must point to the folder where generated gl2ps project binaries will be placed + (for example, *gl2ps\\bin*). + Further in this document, this folder is referred to as *gl2ps_bin*. + + * Press the \"Configure\" button. + @image html /dev_guides/building/3rdparty/images/3rdparty_image004.png + @image latex /dev_guides/building/3rdparty/images/3rdparty_image004.png + + * Select the generator (the compiler and the target platform - 32 or 64 bit) in the pop-up window. + @image html /dev_guides/building/3rdparty/images/3rdparty_image005.png + @image latex /dev_guides/building/3rdparty/images/3rdparty_image005.png + + * Then press the \"Finish\" button to return to the main CMake window. + Expand the ENABLE group and uncheck ENABLE_PNG and ENABLE_ZLIB check boxes. + @image html /dev_guides/building/3rdparty/images/3rdparty_image006.png + @image latex /dev_guides/building/3rdparty/images/3rdparty_image006.png + + * Expand the CMAKE group and define CMAKE_INSTALL_PREFIX + (path where you want to install the build results, for example, *c:\\occ3rdparty\\gl2ps-1.3.5*). + @image html /dev_guides/building/3rdparty/images/3rdparty_image007.png + @image latex /dev_guides/building/3rdparty/images/3rdparty_image007.png + + * Press the \"Configure\" button again, and then the \"Generate\" button in order to generate Visual Studio projects. After completion, close CMake application. - * 5. Open the solution file *gl2ps_bin\\gl2ps.sln* in Visual Studio. - * Select a configuration to build - * Choose \"*Release*\" if you are building Release binaries. - * Choose \"*Debug*\" if you are building Debug binaries. - * 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. - * Build the solution. - * Build the *INSTALL* project. +5. Open the solution file *gl2ps_bin\\gl2ps.sln* in Visual Studio. + + * Select a configuration to build + * Choose \"*Release*\" if you are building Release binaries. + * Choose \"*Debug*\" if you are building Debug binaries. + * 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. + * Build the solution. + * Build the *INSTALL* project. - As a result, you should have the installed gl2ps product in the *CMAKE_INSTALL_PREFIX* path. +As a result, you should have the installed gl2ps product in the *CMAKE_INSTALL_PREFIX* path. -@subsection dev_guides__building_3rdparty_win_3_3 FreeImage 3.14.1 +@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 - http://sourceforge.net/projects/freeimage/files/Source%20Distribution/ +This third-party product should be built as a dynamically loadable library (.dll file). +You can download its sources from +http://sourceforge.net/projects/freeimage/files/Source%20Distribution/ - The building process is the following: +The building process is the following: - * 1. Unpack the downloaded archive of FreeImage 3.14.1 product (*FreeImage314* 1.zip*) into *3rdparty* folder. +1. Unpack the downloaded archive of FreeImage product into *3rdparty* folder. + + As a result, you should have a folder named *3rdparty\\FreeImage*. - 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 Visual Studio that corresponds to the version of Visual Studio you use. + 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 Visual Studio that corresponds to the version of Visual Studio you use. - Since the version of Visual Studio you use is higher than VC++ 2008, apply conversion of the workspace. - Such conversion should be suggested automatically by Visual Studio. + Since the version of Visual Studio you use is 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. +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 must rename the following files for projects FreeImage and FreeimagePlus: - Project-Properties-Configuration Properties-Linker-General-Output File + Project-Properties-Configuration Properties-Linker-General-Output File - @verbatim - from FreeImage*d*.dll to FreeImage.dll - from FreeImagePlus*d*.dll to FreeImagePlus.dll - @endverbatim + from FreeImage*d*.dll to FreeImage.dll + from FreeImagePlus*d*.dll to FreeImagePlus.dll - Project-Properties-Configuration Properties-Linker-Debugging-Generate Program Database File + Project-Properties-Configuration Properties-Linker-Debugging-Generate Program Database File - @verbatim - from FreeImage*d*.pdb to FreeImage.pdb - from FreeImagePlus*d*.pdb to FreeImagePlus.pdb - @endverbatim + from FreeImage*d*.pdb to FreeImage.pdb + from FreeImagePlus*d*.pdb to FreeImagePlus.pdb - Project-Properties-Configuration Properties-Linker-Advanced-Import Library + Project-Properties-Configuration Properties-Linker-Advanced-Import Library - @verbatim - from FreeImage*d*.lib to FreeImage.lib - from FreeImagePlus*d*.lib to FreeImagePlus.lib - @endverbatim + from FreeImage*d*.lib to FreeImage.lib + from FreeImagePlus*d*.lib to FreeImagePlus.lib - Project-Properties-Configuration Properties-Build Events-Post-Build Event-Comand Line + Project-Properties-Configuration Properties-Build Events-Post-Build Event-Comand Line - @verbatim - from FreeImage*d*.dll to FreeImage.dll - from FreeImage*d*.lib to FreeImage.lib - from FreeImagePlus*d*.dll to FreeImagePlus.dll - from FreeImagePlus*d*.lib to FreeImagePlus.lib - @endverbatim + from FreeImage*d*.dll to FreeImage.dll + from FreeImage*d*.lib to FreeImage.lib + from FreeImagePlus*d*.dll to FreeImagePlus.dll + from FreeImagePlus*d*.lib to FreeImagePlus.lib - Additionally, for project FreeImagePlus rename: - Project-Properties-Configuration Properties-Linker-Input-Additional Dependencies + Additionally, for project FreeImagePlus rename: + Project-Properties-Configuration Properties-Linker-Input-Additional Dependencies - @verbatim - from FreeImage*d*.lib to FreeImage.lib - @endverbatim + from FreeImage*d*.lib to FreeImage.lib - * 4. Select a platform to build. +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. + - 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. +5. Start the building process. - As a result, you should have the library files of FreeImage product in the *freeimage\\Dist* + As a result, you should have the library files of FreeImage product in the + *freeimage\\Dist* folder (FreeImage.dll and FreeImage.lib files) and in the + *freeimage\\Wrapper\\FreeImagePlus\\dist* folder (FreeImagePlus.dll and + FreeImagePlus.lib files). - @verbatim - folder (FreeImage.dll and FreeImage.lib files) and in the *freeimage\\Wrapper\\FreeImagePlus\\dist* - folder (FreeImagePlus.dll and FreeImagePlus.lib files). - @endverbatim +@subsection dev_guides__building_3rdparty_win_opencl OpenCL ICD Loader -@see http://www.opencascade.org for details +If you have OpenCL SDK (one provided by Apple, AMD, NVIDIA, Intel, or other +vendor) installed on your system, you should find OpenCL headers and +libraries required for building OCCT inside that SDK. + +Alternatively, you can use OpenCL ICD (Installable Client Driver) Loader +provided by Khronos group. The following describes steps used to build OpenCL +ICD Loader version 1.2.11.0. + +1. Download OpenCL ICD Loader sources archive and OpenCL header files from + Khronos OpenCL Registry + http://www.khronos.org/registry/cl/ + +2. Unpack the archive and put headers in **inc/CL** sub-folder + +3. Use CMake to generate VS projects for building the library: + - Start CMake-GUI and select OpenCL ICD Loader folder as source path, + and the folder of your choice for VS project and intermediate build data + - Click Generate + - Select VS version to be used (among the one you have installed; we + recommend using VS 2010), and architecture (32- or 64-bit) + +4. Open solution **OPENCL_ICD_LOADER.sln** generated in the build folder. + Though not strictly necessary, we recommend making two changes in generated + projects: + - Add file **OpenCL.rc** to project OpenCL, to have version and Khronos + copyright correctly embedded in DLL + - In properties of OpenCL project, on "C/C++ / Code Generation" page, + for Release configuration, change "Runtime library" to "Multi-threaded + (/MT)", to avoid dependency on run-time DLL. + +5. Build project OpenCL in Release mode + +6. Create installation folder for OpenCL IDL Loader package and put there: + - OpenCL header files in **include/CL** subfolder + - OpenCL.dll (generated in **bin/Release** subfolder of source package) + in **bin** subfolder + - OpenCL.lib (generated in **Release** subfolder of build directory) + in **lib** subfolder diff --git a/dox/dev_guides/building/automake.md b/dox/dev_guides/building/automake.md index fc2f611727..ed53803708 100644 --- a/dox/dev_guides/building/automake.md +++ b/dox/dev_guides/building/automake.md @@ -6,10 +6,10 @@ archive on Linux with GNU build system (Autotools). If you are building OCCT from bare sources (as in Git repository), or do some changes affecting CDL files, you need to use WOK to re-generate header files -and build scripts / projects. See \ref dev_guides__building__wok for instructions. +and build scripts / projects. See paragraph 1 \ref dev_guides__building__wok for instructions. -Before building OCCT, you need to install required third-party libraries; see -OCCT_Build3rdParty_Linux.pdf for instructions. +Before building OCCT, you need to install required third-party libraries; see paragraph 1 of +\ref dev_guides__building for instructions. Note that during compilation by makefiles on some Linux OS on a station with NVIDIA video card you may experience problems because the installation @@ -46,11 +46,13 @@ To prevent this, suggest making links: * --with-freeimage= defines location of installed FreeImage product * --with-tbb-include= defines location of tbb.h * --with-tbb-library= defines location of libtbb.so + * --with-opencl-include= defines location of cl.h + * --with-opencl-library= defines location of libOpenCL.so * --enable-debug= yes: includes debug information, no: does not include debug information * --enable-production= yes: switches code optimization, no: switches off code optimization * --disable-draw - allows OCCT building without Draw. - If location of FreeImage, TBB, and Gl2Ps is not specified, OCCT will be + If location of FreeImage, TBB, gl2ps or OpenCL is not specified, OCCT will be built without these optional libraries. @@ -58,7 +60,7 @@ To prevent this, suggest making links: Example: - > ./configure -prefix=/PRODUCTS/occt-6.5.5 --with-tcl=/PRODUCTS/tcltk-8.5.8/lib --with-tk=/PRODUCTS/tcltk-8.5.8/lib --with-freetype=/PRODUCTS/freetype-2.4.10 --with-gl2ps=/PRODUCTS/gl2ps-1.3.5 --with-freeimage=/PRODUCTS/freeimage-3.14.1 --with-tbb-include=/PRODUCTS/tbb30_018oss/include --with-tbb-library=/PRODUCTS/tbb30_018oss/lib/ia32/cc4.1.0_libc2.4_kernel2.6.16.21 + > ./configure -prefix=/PRODUCTS/occt-6.5.5 --with-tcl=/PRODUCTS/tcltk-8.5.8/lib --with-tk=/PRODUCTS/tcltk-8.5.8/lib --with-freetype=/PRODUCTS/freetype-2.4.10 --with-gl2ps=/PRODUCTS/gl2ps-1.3.5 --with-freeimage=/PRODUCTS/freeimage-3.14.1 --with-tbb-include=/PRODUCTS/tbb30_018oss/include --with-tbb-library=/PRODUCTS/tbb30_018oss/lib/ia32/cc4.1.0_libc2.4_kernel2.6.16.21 --with-opencl-include=/PRODUCTS/opencl-icd-1.2.11.0/include --with-opencl-library=/PRODUCTS/opencl-icd-1.2.11.0/lib 3.If configure exits successfully, you can build OCCT with make command. diff --git a/dox/dev_guides/building/cmake/cmake.md b/dox/dev_guides/building/cmake/cmake.md index 8ab8bdaba8..05b2ca6185 100644 --- a/dox/dev_guides/building/cmake/cmake.md +++ b/dox/dev_guides/building/cmake/cmake.md @@ -12,9 +12,8 @@ If you are building OCCT from bare sources (as in Git repository), or do some changes affecting CDL files, you need to use WOK to re-generate header files and build scripts / projects. See \ref dev_guides__building__wok for instructions. -Before building OCCT, you need to install required third-party libraries; see -instructions for your platform on Resources page at http://dev.opencascade.org -and @ref dev_guides__building article for details. +Before building OCCT, you need to install required third-party libraries; see paragraph 1 of +\ref dev_guides__building for instructions. ## Decide on location of build and install directories. @@ -52,7 +51,7 @@ It is recommended to use GUI tools provided by CMake: cmake-gui on Windows and M In the console, change to the build directory and call ccmake with the path to the source directory of the project: > cd ~/occt/build/debug - > ccmake ~/occt/adm/cmake + > ccmake ~/occt @image html /dev_guides/building/cmake/images/cmake_image003.png @image latex /dev_guides/building/cmake/images/cmake_image003.png diff --git a/dox/dev_guides/building/cmake/images/cmake_image001.png b/dox/dev_guides/building/cmake/images/cmake_image001.png index 6c38e3b4e6c3328bc62207cc4e4925899003c245..ead63df7dc1136bcf5423ac824f4563bd4dba4ed 100644 GIT binary patch literal 104213 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 Wx7%tEN1aW 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

7RRJR-mXIY~y&YYABG6&= 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�_FO>uy+YN{IaD%iabe@;zagS7S+ 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 JVny?i{{_bDu;Ty# literal 109046 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

Wz|J`sLCXaX{BHNSw;9CZ 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. For this: diff --git a/dox/dev_guides/building/msvc.md b/dox/dev_guides/building/msvc.md index 7807c44bfa..8c9fde71f1 100644 --- a/dox/dev_guides/building/msvc.md +++ b/dox/dev_guides/building/msvc.md @@ -9,11 +9,11 @@ changes affecting CDL files, you need to use WOK to re-generate header files and build scripts / projects. See \ref dev_guides__building__wok for instructions. Before building OCCT, you need to install required third-party libraries; see -OCCT_Build3rdParty_Windows.pdf for instructions. +paragraph 1 of \ref dev_guides__building for instructions. 1. Edit file custom.bat to define environment: - - VCVER - version of Visual Studio (vc8, vc9, vc10 or vc11), + - VCVER - version of Visual Studio (vc8, vc9, vc10, vc11 or vc12), and relevant VCVARS path - ARCH - architecture (32 or 64), affects only PATH variable for execution - HAVE_* - flags to enable or disable use of optional third-party products @@ -23,7 +23,7 @@ OCCT_Build3rdParty_Windows.pdf for instructions. 2. Launch msvc.bat to start Visual Studio with all necessary environment variables defined. - Note: the MSVC project files are located in folders adm\\msvc\\vc[9-11]. + Note: the MSVC project files are located in folders adm\\msvc\\vc[9-12]. Binaries are produced in win32 or win64 folders. 3. Build with Visual Studio diff --git a/dox/dev_guides/building/xcode.md b/dox/dev_guides/building/xcode.md index 7d9ff0c7e3..5e9784429e 100644 --- a/dox/dev_guides/building/xcode.md +++ b/dox/dev_guides/building/xcode.md @@ -9,7 +9,7 @@ changes affecting CDL files, you need to use WOK to re-generate header files and build scripts / projects. See \ref dev_guides__building__wok for instructions. Before building OCCT, you need to install required third-party libraries; see -OCCT_Build3rdParty_OSX.pdf for details. +paragraph 1 of \ref dev_guides__building for details. 1. Add paths to the mandatory 3rd-party products (Tcl/Tk and FreeType) in file custom.sh located in \. For this: diff --git a/dox/dev_guides/documentation/documentation.md b/dox/dev_guides/documentation/documentation.md index bfcfffdc06..c31d05fa2a 100644 --- a/dox/dev_guides/documentation/documentation.md +++ b/dox/dev_guides/documentation/documentation.md @@ -86,9 +86,9 @@ structure of documentation directories, etc. @subsection OCCT_DM_SECTION_3_1 File Format -It is proposed to use MarkDown file format for easy maintainance of generic text documents. +The format used for documentation is MarkDown with Doxygen extensions. The MarkDown files have a "*.md" extension and are based on rules desribed in -@htmlonly Document Syntax @endhtmlonly section. +\ref OCCT_DM_SECTION_A section. @subsection OCCT_DM_SECTION_3_2 Directory Structure @@ -215,36 +215,95 @@ To create a bulleted list, start each line with a hyphen or an asterisk, followed by a space. List items can be nested. This code: @verbatim - * Bullet 1 - * Bullet 2 - * Bullet 2a - * Bullet 2b - * Bullet 3 +* Bullet 1 +* Bullet 2 + - Bullet 2a + - Bullet 2b +* Bullet 3 @endverbatim - produces this list: +produces this list: - * Bullet 1 - * Bullet 2 - * Bullet 2a - * Bullet 2b - * Bullet 3 +* Bullet 1 +* Bullet 2 + * Bullet 2a + * Bullet 2b +* Bullet 3 -To create a numbered list, start each line with number and a period, then a space. Thus this code +To create a numbered list, start each line with number and a period, +then a space. Numbered lists can also be nested. Thus this code @verbatim - 1. ListItem_1 - 2. ListItem_2 - 3. ListItem_3 +1. List item 1 + 1. Sub-item 1 + 2. Sub-item 2 +2. List item 2 +3. List item 3 @endverbatim - produces this list: +produces this list: - 1. ListItem_1 - 2. ListItem_2 - 3. ListItem_3 +1. List item 1 + 1. Sub-item 1 + 2. Sub-item 2 +2. List item 2 +3. List item 3 -It is recommended to indent lists with 2 spaces. +Each list item can contain several paragraphs of text; these paragraphs must +have the same indentation as text after bullet or number in the numbered list +item (otherwise numbering will be broken). + +Code blocks can be inserted as paragraphs with additional indentation +(4 spaces more). Note that fenced code blocks do not work within numbered lists +and their use may cause numeration to be reset. + + +Example of complex nested list: + +@verbatim +1. ListItem_1 + + Additional paragraph + + code fragment + + One more paragraph + + 1. Sub-item 1 + + code fragment for sub-item 1 + + 2. Sub-item 2 + + Paragraph for sub-item 2 + + Yet one more paragraph for list item 1 + +2. ListItem_2 +@endverbatim + +1. List item 1 + + Additional paragraph + + code fragment + + One more paragraph + + 1. Sub-item 1 + + code fragment for sub-item 1 + + 2. Sub-item 2 + + Paragraph for sub-item 2 + + Yet one more paragraph for list item 1 + +2. List item 2 + +Note that numbers of paragraphs are regenerated so they do not necessarily +follow numbering of source items. @subsection OCCT_DM_SECTION_A_4 Tables @@ -281,6 +340,9 @@ which will looks as follows: | 10 | 10 | 10 | | 1000 | 1000 | 1000 | +Note that each table raw should be contained in one line of text; complex +tables can be created using HTML tags. + @subsection OCCT_DM_SECTION_A_5 Code Blocks It is recommended to indent a code lines with 4 spaces. diff --git a/dox/overview/Overview.md b/dox/overview/Overview.md index ced18abced..d730f88b30 100644 --- a/dox/overview/Overview.md +++ b/dox/overview/Overview.md @@ -34,7 +34,15 @@ You are hereby informed that all software is a property of its respective author international and domestic laws on intellectual property and trademarks. Should you need further information, please directly contact the authors. -CAS.CADE and Open CASCADE are registered trademarks of OPEN CASCADE S.A.S. +**CAS.CADE** and **Open CASCADE** are registered trademarks of +OPEN CASCADE S.A.S. + +**Linux** is a registered trademark of Linus Torvalds. + +**Windows** is a registered trademark of Microsoft Corporation in the United States and other countries. + +**Mac** and the Mac logo, **OpenCL** and the OpenCL logo, are trademarks of +Apple Inc., registered in the U.S. and other countries. Acknowledgements ------------------ @@ -87,6 +95,20 @@ TBB is available under GPLv2 license with the runtime exception. Open CASCADE Technology WOK module on Windows also makes use of LGPL-licensed C routines **regexp** and **getopt**, taken from GNU C library. +**OpenGL** is an industry standard API for 3D graphics used by OCCT for +implementation of 3D viewer. OpenGL specification is developed by the +Khronos group, http://www.khronos.org/opengl/. OCCT code includes header +file *glext.h* obtained from Khronos web site. + +**OpenCL** (Open Computing Language) is open, royalty-free standard for +cross-platform, parallel programming of modern processors, optionally used by +OCCT for ray tracing. OpenCL specification is developed by the +Khronos group, http://www.khronos.org/opencl/. The implementations of OpenCL +are available from Apple, AMD, NVIDIA, Intel, and other vendors. +**OpenCL Installable Client Driver (ICD) Loader** is a library provided by +Khronos group which allows dispatching OpenCL calls to underlying +implementation. + **Doxygen** developed by Dimitri van Heesch is open source documentation system for C++, C, Java, Objective-C, Python, IDL, PHP and C#. This product is used in Open CASCADE Technology for automatic creation of Technical Documentation from C++ header files. @@ -114,12 +136,6 @@ on this tool. Adobe Systems, Inc. provides **Adobe Reader**, which can be used to view files in Portable Document Format (PDF). -**Linux** is a registered trademark of Linus Torvalds. - -**Windows** is a registered trademark of Microsoft Corporation in the United States and other countries. - -**Mac** and the Mac logo are trademarks of Apple Inc., registered in the U.S. and other countries. - @section OCCT_OVW_SECTION_3 Documentation OCCT documentation is provided in several forms: @@ -207,7 +223,7 @@ for which OCCT is certified to work. | FreeImage (optional, for support of common 2D graphic formats) | FreeImage 3.15.4 http://sourceforge.net/projects/freeimage/files | | gl2ps (optional, for export contents of OCCT viewer to vector graphic files) | gl2ps-1.3.8 http://geuz.org/gl2ps/ | | Intel TBB (optional, for multithreaded algorithms) | TBB 3.x or 4.x http://www.threadingbuildingblocks.org/ | -| OpenCL (optional, for ray tracing visualization core | OpenCL 1.1+ http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/downloads/ | +| OpenCL (optional, for ray tracing visualization) | OpenCL SDK (usually one provided by vendor of your graphic card) or OpenCL ICD Loader by Khronos group, http://www.khronos.org/registry/cl | * Debian 60 64 bit is a platform used for regular testing of contributions @@ -225,8 +241,8 @@ for which OCCT is certified to work. | Freetype (OCCT Text rendering) | freetype-2.4.11 http://sourceforge.net/projects/freetype/files/ | | FreeImage (Support of common graphic formats) | FreeImage 3.15.4 http://sourceforge.net/projects/freeimage/files | | gl2ps (Export contents of OCCT viewer to vector graphic file) | gl2ps-1.3.8 http://geuz.org/gl2ps/ | -| Intel TBB (optional tool for multithreaded algorithms) | TBB 3.x or 4.x http://www.threadingbuildingblocks.org/ | -| OpenCL (optional for providing ray tracing visualization core | OpenCL 1.1+ http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/downloads/ | +| Intel TBB (optional, for multithreaded algorithms) | TBB 3.x or 4.x http://www.threadingbuildingblocks.org/ | +| OpenCL (optional, for ray tracing visualization) | OpenCL SDK (usually one provided by vendor of your graphic card) or OpenCL ICD Loader by Khronos group, http://www.khronos.org/registry/cl | * VC++ 9 32-bit is used for certification of contributions and for building binary package of official release of OCCT on Windows. @@ -244,8 +260,8 @@ for which OCCT is certified to work. | Freetype (OCCT Text rendering) | freetype-2.4.11 http://sourceforge.net/projects/freetype/files/ | | FreeImage (Support of common graphic formats) | FreeImage 3.15.4 http://sourceforge.net/projects/freeimage/files | | gl2ps (Export contents of OCCT viewer to vector graphic file) | gl2ps-1.3.8 http://geuz.org/gl2ps/ | -| Intel TBB (optional tool for multithreaded algorithms) | TBB 3.x or 4.x http://www.threadingbuildingblocks.org/ | -| OpenCL (optional for providing ray tracing visualization core | OpenCL 1.1+ http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/downloads/ | +| Intel TBB (optional, for multithreaded algorithms) | TBB 3.x or 4.x http://www.threadingbuildingblocks.org/ | +| OpenCL (optional, for ray tracing visualization) | Native OpenCL 1.2.8 | @subsection overview_req_graphics Graphic cards @@ -255,13 +271,15 @@ For ray tracing, hardware implementation of OpenCL 1.1+ is required. The following table lists graphic cards tested to work with OCCT. -| Graphic card | Driver/GL/GLSL/CL version | OS | OpenGL (fixed pipeline) | OpenGL (shaders) | OpenCL (ray tracing | +| Graphic card | Driver/GL/GLSL/CL version | OS | OpenGL (fixed pipeline) | OpenGL (shaders) | OpenCL (ray tracing) | | ---- | ---- | ---- | :----: | :----: | :----: | -| NVIDIA GeForce GT 630M | Driver 311.44, GL 4.3.0, GLSL 4.30 | Windows 7 64 bit | OK | OK | OK | +| NVIDIA GeForce GT 610, 630M, 640 | Driver 311.44, GL 4.3.0, GLSL 4.30 | Windows 7 64 bit | OK | OK | OK | | Intel(R) HD Graphics 3000 | GL 3.1.0, GLSL 1.40 | Windows 7 64 bit | OK | OK | none | | RadeOn 9600 | GL 2.1.8454, GLSL 1.20 | | OK | bad | none | +| AMD/ATI RadeOn HD 7870 | Driver 6.14.10.12002, GL 4.2.12002, GLSL 4.20 | Windows 7 64-bit | OK | OK | OK | | Mesa 7.8.2 Windows GDI Driver\* | GL 2.1, GLSL version 1.20 | Mac OS X 10.6 / OS X 10.9 | OK | artifacts | none | -| GeForce 320 | | Mac OS X 10.6 / OS X 10.9 | OK | OK | OK | +| NVIDIA GeForce 320 | | Mac OS X 10.6 / OS X 10.9 | OK | OK | OK on OSX 10.6, bad on OSX 10.9 | +| NVIDIA GeForce 6600 GT | GL 2.1.2, GLSL 1.20 | Windows XP 32-bit | OK | OK | none | | Apple software OpenGL | | Mac OS X 10.6 / OS X 10.9 | OK | OK | OK | * Mesa implementation of OpenGL is used for certification testing of OCCT diff --git a/dox/overview/images/overview_3rdparty.png b/dox/overview/images/overview_3rdparty.png index 5db69ffc174232dfa337d1e17ffc795c83a880bc..0ccf41e392bc0e487b1136012aae957877b5deef 100644 GIT binary patch literal 5984 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 diff --git a/dox/overview/images/overview_installation.png b/dox/overview/images/overview_installation.png index 96394c5b8984d5323d397451160ea2f7fc8b7701..7e3b8f907df5dfd6040c7bbaa7f2678d8df64676 100644 GIT binary patch literal 4705 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 literal 6699 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 VPHuUgz`s3YdfLX&iW_$${tcymx%L16 diff --git a/dox/user_guides/draw_test_harness.md b/dox/user_guides/draw_test_harness.md index 406f1300d7..576d5dfb05 100644 --- a/dox/user_guides/draw_test_harness.md +++ b/dox/user_guides/draw_test_harness.md @@ -7532,7 +7532,9 @@ Syntax: DT_SplitSurface result Surface|GridSurf tol split(0|1) Divides surface with C1 criterion and returns the result of splitting of a given surface into surface, which is given as parameter result. If the surface has been divided into segments, then each segment is put to an individual result. This command can correct a given C0 surface at a knot with a given tolerance, if it is impossible, then the given surface is split at that knot. If the last parameter is 1, then 5 knots are added to the given surface, and its surface is split by segments, but this will be performed not for all parametric spaces. **Example:** -# split surface with name ‘su’ + +~~~~~ +# split surface with name "su" DT_SplitSurface res su 0.1 1 == single surf == appel a SplitSurface::Init @@ -7542,7 +7544,7 @@ DT_SplitSurface res su 0.1 1 == appel a Surfaces == transfert resultat == res1_1_1 res1_2_1 res1_3_1 res1_4_1 res1_5_1 res1_6_1 - +~~~~~ @subsubsection occt_2142243456_1672096717128 DT_ToBspl @@ -7555,10 +7557,10 @@ DT_ToBspl res sh == error = 5.20375663162094e-08 spans = 10 == Surface is aproximated with continuity 2 -@section occt_2142243456_1640587828 Performance evaluation commands +@section occt_draw_commands_perf Performance evaluation commands -@subsubsection occt_2142243456_16405878281.1 VDrawSphere +@subsection occt_draw_commands_perf_vdrawsphere VDrawSphere Syntax: vdrawsphere shapeName Fineness [X=0.0 Y=0.0 Z=0.0] [Radius=100.0] [ToEnableVBO=1] [NumberOfViewerUpdate=1] [ToShowEdges=0] @@ -7582,12 +7584,14 @@ The following chapters explain how to extend Test Harness with custom commands a Custom command implementation has not undergone any changes since the introduction of the plug-in mechanism. The syntax of every command should still be like in the following example. **Example:** +~~~~~ static Standard_Integer myadvcurve(Draw_Interpretor& di, Standard_Integer n, char** a) { ... } +~~~~~ For examples of existing commands refer to Open CASCADE Technology (e.g. GeomliteTest.cxx). @@ -7597,6 +7601,7 @@ For examples of existing commands refer to Open CASCADE Technology (e.g. Geomlit To become available in the Test Harness the custom command must be registered in it. This should be done as follows. **Example:** +~~~~~ void MyPack::CurveCommands(Draw_Interpretor& theCommands) { ... @@ -7608,6 +7613,7 @@ char* g = ;Advanced curves creation;; __FILE__, myadvcurve, g); ... } +~~~~~ @subsection occt_2142243456_7136599993 Creating a toolkit (library) as a plug-in -- 2.20.1