mirror of
https://github.com/Open-Cascade-SAS/OCCT.git
synced 2026-05-10 09:30:48 +08:00
0033723: Configuration - Removing Genproj and Update files
Cleaning repo from not maintaining functionality - genproj and wok Only 'gendoc' functionality kept. TODO: migrate gendoc to cmake
This commit is contained in:
@@ -287,125 +287,3 @@ Type "mingw32-make/make" with argument "install" to place the libraries to the i
|
||||
> mingw32-make install
|
||||
or
|
||||
> make install
|
||||
|
||||
@section build_occt_genproj Building with Genproj tool
|
||||
|
||||
**genproj** is a legacy tool (originated from command "wgenproj" in WOK) for generation of Visual Studio, Code::Blocks, Qt Creator (qmake), and XCode project files for building Open CASCADE Technology.
|
||||
These project files are placed inside OCCT directory (in *adm* subfolder) and use relative paths, thus can be moved together with sources.
|
||||
The project files included in official distribution of OCCT are generated by this tool.
|
||||
|
||||
@note If you have official distribution with project files included, you can use them directly without a need to call **genproj**.
|
||||
|
||||
**genproj** is a less flexible alternative to use of CMake build system (see @ref build_occt_win_cmake), but still has some small features useful for OCCT development.
|
||||
|
||||
@subsection build_genproj Configuration process
|
||||
|
||||
The environment is defined in the file *custom.sh* (on Linux and macOS) or *custom.bat* (on Windows) which can be edited directly:
|
||||
|
||||
* `ARCH` -- architecture (32 or 64), affects only `PATH` variable for execution
|
||||
* `HAVE_*` -- flags to enable or disable use of optional third-party products
|
||||
* `CSF_OPT_*` -- paths to search for includes and binaries of all used third-party products
|
||||
* `SHORTCUT_HEADERS` -- defines method for population of folder *inc* by header files. Supported methods are:
|
||||
* *Copy* - headers will be copied from *src*;
|
||||
* *ShortCut* - short-cut header files will be created, redirecting to same-named header located in *src*;
|
||||
* *HardLink* - hard links to headers located in *src* will be created.
|
||||
* `VCVER` -- specification of format of project files, defining also version of Visual Studio to be used, and default name of the sub-folder for binaries:
|
||||
* Add paths to includes of used third-party libraries in variable `CSF_OPT_INC`.
|
||||
* Add paths to their binary libraries in variable `CSF_OPT_LIB64`.
|
||||
* For optional third-party libraries, set corresponding environment variable `HAVE_<LIBRARY_NAME>` to either *false*, e.g. `export HAVE_FREEIMAGE=false`.
|
||||
|
||||
| VCVER | Visual Studio version | Windows Platform | Binaries folder name |
|
||||
|-----------|-----------------------|----------------------------------|----------------------|
|
||||
| vc10 | 2010 (10) | Desktop (Windows API) | vc10 |
|
||||
| vc11 | 2012 (11) | Desktop (Windows API) | vc11 |
|
||||
| vc12 | 2013 (12) | Desktop (Windows API) | vc12 |
|
||||
| vc14 | 2015 (14) | Desktop (Windows API) | vc14 |
|
||||
| vc14-uwp | 2015 (14) | UWP (Universal Windows Platform) | vc14-uwp |
|
||||
| vc141 | 2017 (15) | Desktop (Windows API) | vc14 |
|
||||
| vc141-uwp | 2017 (15) | UWP (Universal Windows Platform) | vc14-uwp |
|
||||
| vc142 | 2019 (16) | Desktop (Windows API) | vc14 |
|
||||
| vc142-uwp | 2019 (16) | UWP (Universal Windows Platform) | vc14-uwp |
|
||||
| vc143 | 2022 (17) | Desktop (Windows API) | vc14 |
|
||||
|
||||
Alternatively, you can launch **genconf**, a GUI tool allowing to configure build options interactively.
|
||||
That tool will analyze your environment and propose you to choose available options:
|
||||
|
||||
* Type and version of project files to generate (from the list of installed ones, detected by presence of environment variables like `VS100COMNTOOLS` on Windows platform).
|
||||
* Method to populate folder *inc* (short-cuts by default).
|
||||
* Location of third-party libraries (usually downloaded from OCCT web site, see above).
|
||||
* Path to common directory where third-party libraries are located (optional).
|
||||
* Paths to headers and binaries of the third-party libraries (found automatically basing on previous options; click button "Reset" to update).
|
||||
* Generation of PDB files within Release build ("Release with Debug info", false by default).
|
||||
|
||||
Below are screenshots of **genconf** tool on various platforms (Windows and Linux):
|
||||
@figure{/build/build_occt/images/genconf_windows.png}
|
||||
@figure{/build/build_occt/images/genconf_linux.png}
|
||||
|
||||
Click "Save" to store the specified configuration in *custom.bat* (Windows) or *custom.sh* (other systems) file.
|
||||
|
||||
@subsection build_genproj_generate Projects generation
|
||||
|
||||
Launch **genproj** to update content of *inc* folder and generate project files after changes in OCCT code affecting layout or composition of source files.
|
||||
|
||||
@note To use **genproj** and **genconf** tools you need to have Tcl installed and accessible by `PATH`.
|
||||
If Tcl is not found, the tool may prompt you to enter the path to directory where Tcl can be found.
|
||||
|
||||
~~~~
|
||||
$ genproj.bat
|
||||
~~~~
|
||||
|
||||
Note that if *custom.bat* is not present, **genproj** will start **genconf** to configure environment.
|
||||
|
||||
@subsection build_genproj_build Building
|
||||
|
||||
@subsubsection build_msvc_build Visual Studio
|
||||
|
||||
Launch *msvc.bat* to start Visual Studio with all necessary environment variables defined, and build the whole solution or required toolkits.
|
||||
|
||||
The MSVC project files are located in folders <i>adm\\msvc\\vc...</i>.
|
||||
Binaries are produced in *win32* or *win64* folders.
|
||||
|
||||
To start DRAW, launch *draw.bat*.
|
||||
|
||||
@subsubsection build_codeblocks_build Code::Blocks
|
||||
|
||||
Code::Blocks is a cross-platform IDE which can be used for building OCCT on Linux, macOS and Windows platforms.
|
||||
The generated Code::Blocks project could be found within subfolder *adm/<OS>/cbp*.
|
||||
|
||||
To start **Code::Blocks**, launch script *codeblocks.sh*.
|
||||
To build all toolkits, click **Build->Build workspace** in the menu bar.
|
||||
|
||||
To start *DRAWEXE*, which has been built with **Code::Blocks** on Mac OS X, run the script
|
||||
~~~~
|
||||
./draw.sh cbp [d]
|
||||
~~~~
|
||||
Option *d* is used if OCCT has been built in **Debug** mode.
|
||||
|
||||
@subsubsection build_occt_macos_xcode XCode
|
||||
|
||||
XCode is an IDE for development on macOS platform and targeting macOS and iOS platforms.
|
||||
**genproj** tool comes with a legacy XCode project files generator, but CMake is a preferred way for building OCCT on macOS platform.
|
||||
|
||||
To start **XCode**, launch script *xcode.sh*.
|
||||
To build a certain toolkit, select it in **Scheme** drop-down list in XCode toolbar, press **Product** in the menu and click **Build** button.
|
||||
|
||||
To build the entire OCCT:
|
||||
* Create a new empty project (select **File -> New -> Project -> Empty project** in the menu; input the project name, e.g. *OCCT*; then click **Next** and **Create**).
|
||||
* Drag and drop the *OCCT* folder in the created *OCCT* project in the Project navigator.
|
||||
* Select **File -> New -> Target -> Aggregate** in the menu.
|
||||
* Enter the project name (e.g. *OCCT*) and click **Finish**. The **Build Phases** tab will open.
|
||||
* Click "+" button to add the necessary toolkits to the target project. It is possible to select all toolkits by pressing **Command+A** combination.
|
||||
|
||||
To start *DRAWEXE*, which has been built with XCode on Mac OS X, perform the following steps:
|
||||
|
||||
1.Open Terminal application
|
||||
2.Enter `<OCCT_ROOT_DIR>`:
|
||||
~~~~
|
||||
cd \<OCCT_ROOT_DIR\>
|
||||
~~~~
|
||||
3.Run the script
|
||||
~~~~
|
||||
./draw.sh xcd [d]
|
||||
~~~~
|
||||
|
||||
Option *d* is used if OCCT has been built in **Debug** mode.
|
||||
|
||||
Reference in New Issue
Block a user