1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-10 18:51:21 +03:00

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
This commit is contained in:
abv 2013-11-14 12:47:01 +04:00 committed by bugmaster
parent f9032cf2ee
commit 79d580f2ea
14 changed files with 638 additions and 600 deletions

View File

@ -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 @tableofcontents
@section dev_guides__building_3rdparty_linux_1 Introduction @section dev_guides__building_3rdparty_linux_1 Introduction
This document presents additional guidelines for building third-party This document presents additional guidelines for building third-party
products used by Open CASCADE Technology and samples on Linux platform. 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 The links for downloading the third-party products are available on the web site
of OPEN CASCADE SAS at of OPEN CASCADE SAS at
http://www.opencascade.org/getocc/require/. 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 * Mandatory products: Tcl/Tk 8.5 - 8.6 and  FreeType 2.4.10 - 2.4.11
* Optional products: TBB 3.x or 4.x, gl2ps 1.3.5, FreeImage 3.14.1 * 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 @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 It is possible to download ready-to-install binaries from
http://www.activestate.com/activetcl/downloads http://www.activestate.com/activetcl/downloads
* 1. Download the binaries archive and unpack them to some TCL_SRC_DIR. 1. Download the binaries archive and unpack them to some TCL_SRC_DIR.
* 2. Enter the directory TCL_SRC_DIR. 2. Enter the directory TCL_SRC_DIR.
@verbatim cd TCL_SRC_DIR
cd TCL_SRC_DIR
@endverbatim
* 3. Run the install command 3. Run the install command
@verbatim install.sh
install.sh
@endverbatim
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
cd TCL_SRC_DIR/unix
@endverbatim
* 2. Run the configure command 2. Run the configure command
@verbatim configure --enable-gcc --enable-shared --enable-threads --prefix=TCL_INSTALL_DIR
configure --enable-gcc --enable-shared --enable-threads --prefix=TCL_INSTALL_DIR
@endverbatim
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
make
@endverbatim
* 4. If building is finished successfully, start the installation of Tcl. 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 All binary and service files of the product will be copied to the directory defined by TCL_INSTALL_DIR
@verbatim make install
make install
@endverbatim
@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
cd TK_SRC_DIR/unix
@endverbatim
* 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
configure --enable-gcc --enable-shared --enable-threads --with-tcl=TCL_LIB_DIR --prefix=TK_INSTALL_DIR
@endverbatim
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
make
@endverbatim
* 4. If building has finished successfully, start the installation of Tk. 4. If building has finished successfully, start the installation of Tk.
All binary and service files of the product will be copied 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) to the directory defined by TK_INSTALL_DIR (usually TK_INSTALL_DIR is TCL_INSTALL_DIR)
@verbatim make install
make install
@endverbatim
@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. 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
cd FREETYPE_SRC_DIR
@endverbatim
* 2. Run the configure command 2. Run the configure command
@verbatim configure --prefix=FREETYPE_INSTALL_DIR
configure --prefix=FREETYPE_INSTALL_DIR
@endverbatim
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
make
@endverbatim
* 4. If building has finished successfully, start the installation of FreeType. 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 All binary and service files of the product will be copied to the directory defined by FREETYPE_INSTALL_DIR
@verbatim make install
make install
@endverbatim
@section dev_guides__building_3rdparty_linux_3 Building Optional Third-party Products @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. 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. 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 3.0 product (*tbb30_018oss_lin.tgz*). 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. 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: 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
or just run the following command: ccmake GL2PS_SRC_DIR
@verbatim a. Press [c] to make the initial configuration
cmake DCMAKE_INSTALL_PREFIX=GL2PS_INSTALL_DIR DCMAKE_BUILD_TYPE=Release b. Define the necessary options CMAKE_INSTALL_PREFIX
@endverbatim c. Press [c] to make the final configuration
d. Press [g] to generate Makefile and exit
* 3. Start building of gl2ps or just run the following command:
@verbatim cmake DCMAKE_INSTALL_PREFIX=GL2PS_INSTALL_DIR DCMAKE_BUILD_TYPE=Release
make
@endverbatim
* 4. Start the installation of gl2ps. Binaries will be installed according to the CMAKE_INSTALL_PREFIX option 3. Start building of gl2ps
@verbatim make
make install
@endverbatim
@subsection dev_guides__building_3rdparty_linux_3_3 FreeImage 3.14.1 4. Start the installation of gl2ps. Binaries will be installed according to the CMAKE_INSTALL_PREFIX option
Download the necessary archive from http://sourceforge.net/projects/freeimage/files/Source%20Distribution/ make install
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: @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.
1. 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
#include string.h
@endverbatim
* 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
cd FREEIMAGE_SRC_DIR
@endverbatim
* 3. Run the building process 3. Run the building process
@verbatim make
make
@endverbatim
* 4. Run the installation process 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 a. If you have permissions to write to /usr/include and /usr/lib directories then run the following command:
make install
@endverbatim make install
* 4.2. If you dont have permissions to write to /usr/include and b. If you dont have permissions to write to /usr/include and
/usr/lib directories then you need to modify the file FREEIMAGE_SRC_DIR/Makefile.gnu: /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 ?= /
DESTDIR ?= / INCDIR ?= $(DESTDIR)/usr/include
INCDIR ?= $(DESTDIR)/usr/include INSTALLDIR ?= $(DESTDIR)/usr/lib
INSTALLDIR ?= $(DESTDIR)/usr/lib
@endverbatim
to: to:
@verbatim DESTDIR ?= $(DESTDIR)
DESTDIR ?= $(DESTDIR) INCDIR ?= $(DESTDIR)/include
INCDIR ?= $(DESTDIR)/include INSTALLDIR ?= $(DESTDIR)/lib
INSTALLDIR ?= $(DESTDIR)/lib
@endverbatim
Change lines 65-67 from: Change lines 65-67 from:
@verbatim install -m 644 -o root -g root $(HEADER) $(INCDIR)
install -m 644 -o root -g root $(HEADER) $(INCDIR) install -m 644 -o root -g root $(STATICLIB) $(INSTALLDIR)
install -m 644 -o root -g root $(STATICLIB) $(INSTALLDIR) install -m 755 -o root -g root $(SHAREDLIB) $(INSTALLDIR)
install -m 755 -o root -g root $(SHAREDLIB) $(INSTALLDIR)
@endverbatim
to: to:
@verbatim install -m 755 $(HEADER) $(INCDIR)
install -m 755 $(HEADER) $(INCDIR) install -m 755 $(STATICLIB) $(INSTALLDIR)
install -m 755 $(STATICLIB) $(INSTALLDIR) install -m 755 $(SHAREDLIB) $(INSTALLDIR)
install -m 755 $(SHAREDLIB) $(INSTALLDIR)
@endverbatim
Change line 70 from:  Change line 70 from: 
@verbatim ldconfig
ldconfig
@endverbatim
to: to:
@verbatim \#ldconfig
\#ldconfig
@endverbatim
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
make DESTDIR=FREEIMAGE_INSTALL_DIR install
@endverbatim
* 5. Clean the temporary files 5. Clean the temporary files
@verbatim make clean
make clean
@endverbatim @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 @section dev_guides__building_3rdparty_linux_4 Installation From Official Repositories
@subsection dev_guides__building_3rdparty_linux_4_1 Debian-based distributives @subsection dev_guides__building_3rdparty_linux_4_1 Debian-based distributives
All 3rd-party products required for building of OCCT could be installed 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: from official repositories. You may install them from console using apt-get utility:
@verbatim
sudo apt-get install \ sudo apt-get install \
tcllib tklib tcl-dev tk-dev \ tcllib tklib tcl-dev tk-dev \
libfreetype-dev \ libfreetype-dev \
@ -283,21 +251,14 @@
libfreeimage-dev \ libfreeimage-dev \
libtbb-dev \ libtbb-dev \
libgl2ps-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 \ sudo apt-get install \
csh \ csh \
libstdc++5:i386 libxt6:i386 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 \ sudo apt-get install \
g++ \ g++
@endverbatim
@see http://www.opencascade.org for details

View File

@ -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 @tableofcontents
@section dev_guides__building_3rdparty_osx_1 Introduction @section dev_guides__building_3rdparty_osx_1 Introduction
This document presents additional guidelines for building third-party products 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). 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 The links for downloading the third-party products are available
on the web site of OPEN CASCADE SAS at on the web site of OPEN CASCADE SAS at
http://www.opencascade.org/getocc/require/</a>. http://www.opencascade.org/getocc/require/</a>.
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 * 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 * 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 @section dev_guides__building_3rdparty_osx_2 Building Mandatory Third-party Products
@subsection dev_guides__building_3rdparty_osx_2_1 Tcl/Tk 8.5 @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 @subsubsection dev_guides__building_3rdparty_osx_2_1_1 Installation from binaries
It is possible to download ready-to-install binaries from It is possible to download ready-to-install binaries from
http://www.activestate.com/activetcl/downloads http://www.activestate.com/activetcl/downloads
* 1. Download the disk image to some TCL_DOWNLOAD_DIR. 1. Download the disk image to some TCL_DOWNLOAD_DIR.
* 2. Open in Finder the directory TCL_DOWNLOAD_DIR. 2. Open in Finder the directory TCL_DOWNLOAD_DIR.
* 3. Open disk image and follow instructions. 3. Open disk image and follow instructions.
@subsubsection dev_guides__building_3rdparty_osx_2_1_2 Installation from sources: Tcl 8.5 @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
cd TCL_SRC_DIR/macosx
@endverbatim
* 2. Run the configure command 2. Run the configure command
@verbatim configure --enable-gcc --enable-shared --enable-threads --prefix=TCL_INSTALL_DIR
configure --enable-gcc --enable-shared --enable-threads --prefix=TCL_INSTALL_DIR
@endverbatim
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
make
@endverbatim
* 4. If building is finished successfully, start the installation of Tcl. 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 All binary and service files of the product will be copied to the directory defined by TCL_INSTALL_DIR
@verbatim make install
make install
@endverbatim
@subsubsection dev_guides__building_3rdparty_osx_2_1_3 Installation from sources: Tk 8.5 @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
cd TK_SRC_DIR/macosx
@endverbatim
* 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
configure --enable-gcc --enable-shared --enable-threads --with-tcl=TCL_LIB_DIR --prefix=TK_INSTALL_DIR
@endverbatim
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
make
@endverbatim
* 4. If building has finished successfully, start the installation of Tk. 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 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) defined by TK_INSTALL_DIR (usually TK_INSTALL_DIR is TCL_INSTALL_DIR)
@verbatim make install
make install
@endverbatim
@subsection dev_guides__building_3rdparty_osx_2_2 FreeType 2.4.10 @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
cd FREETYPE_SRC_DIR
@endverbatim
* 2. Run the configure command 2. Run the configure command
@verbatim configure --prefix=FREETYPE_INSTALL_DIR
configure --prefix=FREETYPE_INSTALL_DIR
@endverbatim
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
make
@endverbatim
* 4. If building has finished successfully, start the installation of FreeType. 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 All binary and service files of the product will be copied to the directory defined by FREETYPE_INSTALL_DIR
@verbatim make install
make install
@endverbatim
@section dev_guides__building_3rdparty_osx_3 Building Optional Third-party Products @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 @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 This third-party product is installed with binaries from the archive
that can be downloaded from http://threadingbuildingblocks.org/. that can be downloaded from http://threadingbuildingblocks.org/.
Go to \"Downloads / Commercial Aligned Release\", find the release version you need (e.g. tbb30_018oss) 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. and pick the archive for Mac OS X platform.
To install, unpack the downloaded archive of TBB 3.0 product (*tbb30_018oss_osx.tgz*). 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 @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 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
or just run the following command: ccmake GL2PS_SRC_DIR
@verbatim 1. Press [c] to make the initial configuration
cmake DCMAKE_INSTALL_PREFIX=GL2PS_INSTALL_DIR DCMAKE_BUILD_TYPE=Release 2. Define the necessary options CMAKE_INSTALL_PREFIX
@endverbatim 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 cmake DCMAKE_INSTALL_PREFIX=GL2PS_INSTALL_DIR DCMAKE_BUILD_TYPE=Release
make
@endverbatim
* 4. Start the installation of gl2ps. Binaries will be installed according to the CMAKE_INSTALL_PREFIX option 3. Start building of gl2ps
@verbatim make
make install
@endverbatim 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 @subsection dev_guides__building_3rdparty_osx_3_3 FreeImage 3.14.1 or 3.15.x
Download the necessary archive from Download the necessary archive from
http://sourceforge.net/projects/freeimage/files/Source%20Distribution/ http://sourceforge.net/projects/freeimage/files/Source%20Distribution/
and unpack it. The directory with unpacked sources is further referred to as FREEIMAGE_SRC_DIR. 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 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 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. (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. 1. If you are building FreeImage 3.15.x you can skip this step.
Modify FREEIMAGE_SRC_DIR/Source/OpenEXR/Imath/ImathMatrix.h: 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
#include string.h
@endverbatim
Modify FREEIMAGE_SRC_DIR/Source/FreeImage/PluginTARGA.cpp: Modify FREEIMAGE_SRC_DIR/Source/FreeImage/PluginTARGA.cpp:
In line 320 replace: In line 320 replace:
@verbatim
SwapShort(value);
@endverbatim
with: SwapShort(value);
@verbatim
SwapShort(&value);
@endverbatim
* 2.Enter the directory where the source files of FreeImage are located (FREEIMAGE_SRC_DIR). with:
@verbatim SwapShort(&value);
cd FREEIMAGE_SRC_DIR
@endverbatim
* 3.Run the building process 2. Enter the directory where the source files of FreeImage are located (FREEIMAGE_SRC_DIR).
@verbatim cd FREEIMAGE_SRC_DIR
make
@endverbatim
* 4.Run the installation process 3. Run the building 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 dont 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:    make
@verbatim 4. Run the installation process
PREFIX ?= /usr/local
@endverbatim
to: 1. If you have permissions to write to /usr/local/include and /usr/local/lib directories then run the following command:
@verbatim make install
PREFIX ?= $(PREFIX)
@endverbatim
  Change lines 65-69 from: 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:
@verbatim Change line 49 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)
@endverbatim
to: PREFIX ?= /usr/local
@verbatim 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)
@endverbatim
Then run the installation process by the following command: PREFIX ?= $(PREFIX)
@verbatim   Change lines 65-69 from:
make PREFIX=FREEIMAGE_INSTALL_DIR install
@endverbatim
* 5.Clean the temporary files 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)
@verbatim to:
make clean
@endverbatim
@see http://www.opencascade.org for details 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 the temporary files
make clean

View File

@ -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 @tableofcontents
@section dev_guides__building_3rdparty_win_1 Introduction @section dev_guides__building_3rdparty_win_1 Introduction
This document presents guidelines for building third-party products This document presents guidelines for building third-party products
used by Open CASCADE Technology (OCCT) and samples on Windows platform. 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 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. 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 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/. of OPEN CASCADE SAS at http://www.opencascade.org/getocc/require/.
There are two types of third-party products which are used by OCCT: 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 * Mandatory products: Tcl/Tk 8.5 - 8.6 and  FreeType 2.4.10 - 2.4.11
* Optional products: TBB 3.x or 4.x, gl2ps * 1.3.5, FreeImage 3.14.1 * 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 It is recommended to create a separate new folder on your workstation where
you will unpack the downloaded archives of the third-party products, you will unpack the downloaded archives of the third-party products,
and where you will build these products (for example, *c:\\occ3rdparty*). 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 @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. Tcl/Tk is required for DRAW test harness.We recommend installing a binary distribution that could
We recommend installing a binary distribution that could be downloaded from be downloaded from http://www.activestate.com/activetcl.
http://www.activestate.com/activetcl.
Go to \"Free Downloads\" and pick the version of 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). 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. 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 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).
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. @subsection dev_guides__building_3rdparty_win_2_2 FreeType
You can download its sources from http://sourceforge.net/projects/freetype/files/
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. 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*.
* 3. Select a 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. 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), As a result, you will get a freetype import library (.lib) in the *freetype\\obj\\win32\\vc20xx* folder.
and add *x64* platform to the solution configuration by copying the settings from Win32 platform:
@image html /dev_guides/building/3rdparty/images/3rdparty_image001.png 5. If you are building for 64 bit platform, start the Configuration Manager (Build - Configuration Manager),
@image latex /dev_guides/building/3rdparty/images/3rdparty_image001.png 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 Update the value of the Output File for x64 configuration:
@image latex /dev_guides/building/3rdparty/images/3rdparty_image003.png
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. 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)*\". If you want to build freetype as a dynamic library (.dll) follow items 6, 7 and 8 of this list.
* 7. Edit file *freetype\\include\\freetype\\config\\ftoption.h*:
in line 255, uncomment the definition of macro FT_EXPORT and change it as follows: 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*:
@verbatim in line 255, uncomment the definition of macro FT_EXPORT and change it as follows:
#define FT_EXPORT(x) __declspec(dllexport) x
@endverbatim
* 8. Build the *freetype* project. #define FT_EXPORT(x) __declspec(dllexport) x
As a result, you should obtain import library (.lib) and dynamic library (.dll) 8. Build the *freetype* project.
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, As a result, you should obtain import library (.lib) and dynamic library (.dll)
it is recommended to copy the include files and libraries of FreeType to a separate folder, named according to the pattern: files in *freetype \\objs\\release or \\objs\\debug folders.*
*freetype-compiler-bitness-building mode* If you are building for a 64 bit platform, follow item 5 of this list.
where
* compiler is vc8 or vc9 or vc10 or vc11; In order to facilitate use of the FreeType libraries in OCCT with minimal adjustment of its build procedures,
* bitness is 32 or 64; it is recommended to copy the include files and libraries of FreeType to a separate folder, named according to the pattern:
* building mode is opt (for Release) or deb (for Debug) *freetype-compiler-bitness-building mode*
where
The include subfolder should be copied as is, while libraries should be renamed to * compiler is vc8 or vc9 or vc10 or vc11;
*freetype.lib* and *freetype.dll* (suffixes removed) and placed to subdirectories * bitness is 32 or 64;
*lib *and *bin*, respectively. If Debug configuration is built, * building mode is opt (for Release) or deb (for Debug)
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 @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 This third-party product is installed with binaries
from the archive that can be downloaded from http://threadingbuildingblocks.org/. 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. 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. Unpack the downloaded archive of TBB product into the *3rdparty* folder.
Further in this document, this folder is referred to as *tbb*. Further in this document, this folder is referred to as *tbb*.
@subsection dev_guides__building_3rdparty_win_3_2 gl2ps * 1.3.5 @subsection dev_guides__building_3rdparty_win_3_2 gl2ps
This third-party product should be built as a dynamically loadable library (dll file). 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/ You can download its sources from http://geuz.org/gl2ps/src/
The building process is the following: The building process is the following:
* 1. Unpack the downloaded archive of gl2ps * 1.3.5 product (*gl2ps-* 1.3.5.tgz*) into the *3rdparty* folder. 1. Unpack the downloaded archive of gl2ps product (e.g. *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) As a result, you should have a folder named for example, *3rdparty\\gl2ps-1.3.5-source*.
and install the *CMake* build system.
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.
3. Edit the file *gl2ps\\CMakeLists.txt*.
* 3. Edit the file *gl2ps\\CMakeLists.txt*.
After line 113 in CMakeLists.txt: After line 113 in CMakeLists.txt:
@verbatim set_target_properties(shared PROPERTIES COMPILE_FLAGS \"-DGL2PSDLL -DGL2PSDLL_EXPORTS\")
set_target_properties(shared PROPERTIES COMPILE_FLAGS \"-DGL2PSDLL -DGL2PSDLL_EXPORTS\")
@endverbatim
add the following line: add the following line:
@verbatim add_definitions(-D_USE_MATH_DEFINES)
add_definitions(-D_USE_MATH_DEFINES)
@endverbatim
Attention: If cygwin was installed on your computer make sure that there is no path 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. 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. 4. Launch CMake (cmake-gui.exe) using the Program menu.
In CMake:
* Define where the source code is. In CMake:
This path must point to *gl2ps* folder.
* Define where to build the binaries. * Define where the source code is.
This path must point to the folder where generated gl2ps project binaries will be placed This path must point to *gl2ps* folder.
(for example, *gl2ps\\bin*).
Further in this document, this folder is referred to as *gl2ps_bin*. * Define where to build the binaries.
* Press the \"Configure\" button. This path must point to the folder where generated gl2ps project binaries will be placed
@image html /dev_guides/building/3rdparty/images/3rdparty_image004.png (for example, *gl2ps\\bin*).
@image latex /dev_guides/building/3rdparty/images/3rdparty_image004.png Further in this document, this folder is referred to as *gl2ps_bin*.
* 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 * Press the \"Configure\" button.
@image latex /dev_guides/building/3rdparty/images/3rdparty_image005.png @image html /dev_guides/building/3rdparty/images/3rdparty_image004.png
* Then press the \"Finish\" button to return to the main CMake window. @image latex /dev_guides/building/3rdparty/images/3rdparty_image004.png
Expand the ENABLE group and uncheck ENABLE_PNG and ENABLE_ZLIB check boxes.
@image html /dev_guides/building/3rdparty/images/3rdparty_image006.png * Select the generator (the compiler and the target platform - 32 or 64 bit) in the pop-up window.
@image latex /dev_guides/building/3rdparty/images/3rdparty_image006.png @image html /dev_guides/building/3rdparty/images/3rdparty_image005.png
* Expand the CMAKE group and define CMAKE_INSTALL_PREFIX @image latex /dev_guides/building/3rdparty/images/3rdparty_image005.png
(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 * Then press the \"Finish\" button to return to the main CMake window.
@image latex /dev_guides/building/3rdparty/images/3rdparty_image007.png Expand the ENABLE group and uncheck ENABLE_PNG and ENABLE_ZLIB check boxes.
* Press the \"Configure\" button again, and then the \"Generate\" button in order to generate @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. Visual Studio projects. After completion, close CMake application.
* 5. Open the solution file *gl2ps_bin\\gl2ps.sln* in Visual Studio. 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. * 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.
@subsection dev_guides__building_3rdparty_win_3_3 FreeImage 3.14.1 As a result, you should have the installed gl2ps product in the *CMAKE_INSTALL_PREFIX* path.
This third-party product should be built as a dynamically loadable library (.dll file). @subsection dev_guides__building_3rdparty_win_3_3 FreeImage
You can download its sources from
http://sourceforge.net/projects/freeimage/files/Source%20Distribution/
The building process is the following: 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/
* 1. Unpack the downloaded archive of FreeImage 3.14.1 product (*FreeImage314* 1.zip*) into *3rdparty* folder. The building process is the following:
As a result, you should have a folder named *3rdparty\\FreeImage*. 1. Unpack the downloaded archive of FreeImage product into *3rdparty* folder.
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. As a result, you should have a folder named *3rdparty\\FreeImage*.
Since the version of Visual Studio you use is higher than VC++ 2008, apply conversion of the workspace. Rename it according to the rule: freeimage-platform-compiler-building mode, where
Such conversion should be suggested automatically by Visual Studio.
* 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.
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:* *Note:*
If you want to build a debug version of FreeImage binaries then you must rename If you want to build a debug version of FreeImage binaries then you must rename
the following files for projects FreeImage and FreeimagePlus: 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 FreeImage*d*.dll to FreeImage.dll from FreeImagePlus*d*.dll to FreeImagePlus.dll
from FreeImagePlus*d*.dll to FreeImagePlus.dll
@endverbatim
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 FreeImage*d*.pdb to FreeImage.pdb from FreeImagePlus*d*.pdb to FreeImagePlus.pdb
from FreeImagePlus*d*.pdb to FreeImagePlus.pdb
@endverbatim
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 FreeImage*d*.lib to FreeImage.lib from FreeImagePlus*d*.lib to FreeImagePlus.lib
from FreeImagePlus*d*.lib to FreeImagePlus.lib
@endverbatim
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*.dll to FreeImage.dll from FreeImage*d*.lib to FreeImage.lib
from FreeImage*d*.lib to FreeImage.lib from FreeImagePlus*d*.dll to FreeImagePlus.dll
from FreeImagePlus*d*.dll to FreeImagePlus.dll from FreeImagePlus*d*.lib to FreeImagePlus.lib
from FreeImagePlus*d*.lib to FreeImagePlus.lib
@endverbatim
Additionally, for project FreeImagePlus rename: Additionally, for project FreeImagePlus rename:
Project-Properties-Configuration Properties-Linker-Input-Additional Dependencies Project-Properties-Configuration Properties-Linker-Input-Additional Dependencies
@verbatim from FreeImage*d*.lib to FreeImage.lib
from FreeImage*d*.lib to FreeImage.lib
@endverbatim
* 4. Select a platform to build. 4. Select a platform to build.
Choose \" *Win32* \" if you are building for a 32 bit platform. - Choose \" *Win32* \" if you are building for a 32 bit platform.
Choose \" *x64* \" if you are building for a 64 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 @subsection dev_guides__building_3rdparty_win_opencl OpenCL ICD Loader
folder (FreeImage.dll and FreeImage.lib files) and in the *freeimage\\Wrapper\\FreeImagePlus\\dist*
folder (FreeImagePlus.dll and FreeImagePlus.lib files).
@endverbatim
@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

View File

@ -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 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 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 Before building OCCT, you need to install required third-party libraries; see paragraph 1 of
OCCT_Build3rdParty_Linux.pdf for instructions. \ref dev_guides__building for instructions.
Note that during compilation by makefiles on some Linux OS on a station with Note that during compilation by makefiles on some Linux OS on a station with
NVIDIA video card you may experience problems because the installation 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-freeimage= defines location of installed FreeImage product
* --with-tbb-include= defines location of tbb.h * --with-tbb-include= defines location of tbb.h
* --with-tbb-library= defines location of libtbb.so * --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-debug= yes: includes debug information, no: does not include debug information
* --enable-production= yes: switches code optimization, no: switches off code optimization * --enable-production= yes: switches code optimization, no: switches off code optimization
* --disable-draw - allows OCCT building without Draw. * --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. built without these optional libraries.
@ -58,7 +60,7 @@ To prevent this, suggest making links:
Example: 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. 3.If configure exits successfully, you can build OCCT with make command.

View File

@ -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 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 \ref dev_guides__building__wok for instructions.
Before building OCCT, you need to install required third-party libraries; see Before building OCCT, you need to install required third-party libraries; see paragraph 1 of
instructions for your platform on Resources page at http://dev.opencascade.org \ref dev_guides__building for instructions.
and @ref dev_guides__building article for details.
## Decide on location of build and install directories. ## 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: 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 > cd ~/occt/build/debug
> ccmake ~/occt/adm/cmake > ccmake ~/occt
@image html /dev_guides/building/cmake/images/cmake_image003.png @image html /dev_guides/building/cmake/images/cmake_image003.png
@image latex /dev_guides/building/cmake/images/cmake_image003.png @image latex /dev_guides/building/cmake/images/cmake_image003.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

After

Width:  |  Height:  |  Size: 102 KiB

View File

@ -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. and build scripts / projects. See \ref dev_guides__building__wok for instructions.
Before building OCCT, you need to install required third-party libraries; see 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 1. Add paths to the mandatory 3rd-party products (Tcl/Tk and FreeType) in file
custom.sh located in \<OCCT_ROOT_DIR\>. For this: custom.sh located in \<OCCT_ROOT_DIR\>. For this:

View File

@ -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. and build scripts / projects. See \ref dev_guides__building__wok for instructions.
Before building OCCT, you need to install required third-party libraries; see 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: 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 and relevant VCVARS path
- ARCH - architecture (32 or 64), affects only PATH variable for execution - ARCH - architecture (32 or 64), affects only PATH variable for execution
- HAVE_* - flags to enable or disable use of optional third-party products - 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 2. Launch msvc.bat to start Visual Studio with all necessary environment
variables defined. 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. Binaries are produced in win32 or win64 folders.
3. Build with Visual Studio 3. Build with Visual Studio

View File

@ -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. and build scripts / projects. See \ref dev_guides__building__wok for instructions.
Before building OCCT, you need to install required third-party libraries; see 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) 1. Add paths to the mandatory 3rd-party products (Tcl/Tk and FreeType)
in file custom.sh located in \<OCCT_ROOT_DIR\>. For this: in file custom.sh located in \<OCCT_ROOT_DIR\>. For this:

View File

@ -86,9 +86,9 @@ structure of documentation directories, etc.
@subsection OCCT_DM_SECTION_3_1 File Format @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 The MarkDown files have a "*.md" extension and are based on rules desribed in
@htmlonly <a href="#OCCT_DM_SECTION_A">Document Syntax</a> @endhtmlonly section. \ref OCCT_DM_SECTION_A section.
@subsection OCCT_DM_SECTION_3_2 Directory Structure @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: followed by a space. List items can be nested. This code:
@verbatim @verbatim
* Bullet 1 * Bullet 1
* Bullet 2 * Bullet 2
* Bullet 2a - Bullet 2a
* Bullet 2b - Bullet 2b
* Bullet 3 * Bullet 3
@endverbatim @endverbatim
produces this list: produces this list:
* Bullet 1 * Bullet 1
* Bullet 2 * Bullet 2
* Bullet 2a * Bullet 2a
* Bullet 2b * Bullet 2b
* Bullet 3 * 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 @verbatim
1. ListItem_1 1. List item 1
2. ListItem_2 1. Sub-item 1
3. ListItem_3 2. Sub-item 2
2. List item 2
3. List item 3
@endverbatim @endverbatim
produces this list: produces this list:
1. ListItem_1 1. List item 1
2. ListItem_2 1. Sub-item 1
3. ListItem_3 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 @subsection OCCT_DM_SECTION_A_4 Tables
@ -281,6 +340,9 @@ which will looks as follows:
| 10 | 10 | 10 | | 10 | 10 | 10 |
| 1000 | 1000 | 1000 | | 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 @subsection OCCT_DM_SECTION_A_5 Code Blocks
It is recommended to indent a code lines with 4 spaces. It is recommended to indent a code lines with 4 spaces.

View File

@ -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. international and domestic laws on intellectual property and trademarks.
Should you need further information, please directly contact the authors. 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 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** Open CASCADE Technology WOK module on Windows also makes use of LGPL-licensed C routines **regexp**
and **getopt**, taken from GNU C library. 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 **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 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. 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). 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 @section OCCT_OVW_SECTION_3 Documentation
OCCT documentation is provided in several forms: 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 | | 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/ | | 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/ | | 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 * 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/ | | 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 | | 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/ | | 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/ | | Intel TBB (optional, 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/ | | 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 * VC++ 9 32-bit is used for certification of contributions and for building
binary package of official release of OCCT on Windows. 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/ | | 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 | | 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/ | | 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/ | | Intel TBB (optional, 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/ | | OpenCL (optional, for ray tracing visualization) | Native OpenCL 1.2.8 |
@subsection overview_req_graphics Graphic cards @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. 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 | | 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 | | 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 | | 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 | | 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 * Mesa implementation of OpenGL is used for certification testing of OCCT

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@ -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. 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:** **Example:**
# split surface with name su
~~~~~
# split surface with name "su"
DT_SplitSurface res su 0.1 1 DT_SplitSurface res su 0.1 1
== single surf == single surf
== appel a SplitSurface::Init == appel a SplitSurface::Init
@ -7542,7 +7544,7 @@ DT_SplitSurface res su 0.1 1
== appel a Surfaces == appel a Surfaces
== transfert resultat == transfert resultat
== res1_1_1 res1_2_1 res1_3_1 res1_4_1 res1_5_1 res1_6_1 == res1_1_1 res1_2_1 res1_3_1 res1_4_1 res1_5_1 res1_6_1
~~~~~
@subsubsection occt_2142243456_1672096717128 DT_ToBspl @subsubsection occt_2142243456_1672096717128 DT_ToBspl
@ -7555,10 +7557,10 @@ DT_ToBspl res sh
== error = 5.20375663162094e-08 spans = 10 == error = 5.20375663162094e-08 spans = 10
== Surface is aproximated with continuity 2 == 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] 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. 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:** **Example:**
~~~~~
static Standard_Integer myadvcurve(Draw_Interpretor&amp; di, static Standard_Integer myadvcurve(Draw_Interpretor&amp; di,
Standard_Integer n, Standard_Integer n,
char** a) char** a)
{ {
... ...
} }
~~~~~
For examples of existing commands refer to Open CASCADE Technology (e.g. GeomliteTest.cxx). 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. To become available in the Test Harness the custom command must be registered in it. This should be done as follows.
**Example:** **Example:**
~~~~~
void MyPack::CurveCommands(Draw_Interpretor&amp; theCommands) void MyPack::CurveCommands(Draw_Interpretor&amp; theCommands)
{ {
... ...
@ -7608,6 +7613,7 @@ char* g = ;Advanced curves creation;;
__FILE__, myadvcurve, g); __FILE__, myadvcurve, g);
... ...
} }
~~~~~
@subsection occt_2142243456_7136599993 Creating a toolkit (library) as a plug-in @subsection occt_2142243456_7136599993 Creating a toolkit (library) as a plug-in