932ba75c9f20ba456e28e3142588907206d975aa
[occt.git] / dox / dev_guides / building / code_blocks.md
1 Building with Code::Blocks {#occt_dev_guides__building_code_blocks}
2 ==========================
3
4 @tableofcontents
5
6 @section build_codeblocks_intro General
7
8 This file describes steps to build OCCT libraries from sources using **Code::Blocks**, a cross-platform IDE, using project files generated by OCCT legacy tool **genproj**.
9 It can be used as an alternative to CMake build system (see @ref occt_dev_guides__building_cmake) for all supported platforms.
10
11 @section build_codeblocks_3rdparty Third-party libraries
12
13 Before building OCCT, make sure to have all the needed third-party libraries installed, see @ref occt_dev_guides__building.
14
15 @section build_codeblocks_conf Configuration
16
17 Before building it is necessary to set up build environment.
18
19 The environment is defined in the file *custom.sh* (on Linux and OS X) or *custom.bat* (on Windows) which can be edited directly:
20
21 * Add paths to includes of used third-party libraries in variable *CSF_OPT_INC*. 
22 * Add paths to their binary libraries in variable  *CSF_OPT_LIB64*.
23 * Set variable *SHORTCUT_HEADERS* to specify a method for population of folder *inc* by header files. Supported methods are:
24   * *Copy* - headers will be copied from *src*;
25   * *ShortCut* - short-cut header files will be created, redirecting to same-named header located in *src*;
26   * "HardLink* - hard links to headers located in *src* will be created.
27 * For optional  third-party libraries, set corresponding environment variable <i>HAVE_<LIBRARY_NAME></i> to either *false*,  e.g.:
28 ~~~~~
29        export HAVE_GL2PS=false
30 ~~~~~
31
32 Alternatively, or when *custom.sh* or *custom.bat* does not exist, you can launch **genconf** tool to configure environment interactively:
33
34 @figure{/dev_guides/building/3rdparty/images/genconf_linux.png}
35
36 Click "Save" to store the specified configuration in *custom.sh* or *custom.bat* file.
37   
38 @section build_codeblocks_gen Projects generation
39
40 Launch **genproj** tool with option *cbp* to update content of *inc* folder and generate project files after changes in OCCT code affecting layout or composition of source files:
41
42 ~~~~~
43   $ cd /dev/OCCT/opencascade-7.0.0
44   $ ./genproj cbp
45 ~~~~~
46
47 The generated Code::Blocks project are placed into subfolder *adm/&lt;OS&gt;/cbp*.
48
49 @note To use **genproj** and **genconf** tools you need to have Tcl installed and accessible by PATH.
50
51 @section build_codeblocks_build Building
52
53 To start **Code::Blocks**, launch script *codeblocks.sh*.
54
55 To build all toolkits, click **Build->Build workspace** in the menu bar.
56
57 To start *DRAWEXE*, which has been built with **Code::Blocks** on Mac OS X, run the script
58 ~~~~~
59    ./draw_cbp.sh cbp [d]
60 ~~~~~
61 Option *d* is used if OCCT has been built in **Debug** mode.