|Anonymous | Login||2021-09-26 19:31 MSK|
|My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0029410||Community||[OCCT] OCCT:DRAW||public||2018-01-02 21:53||2021-09-09 23:09|
|Target Version||[OCCT] 7.7.0||Fixed in Version|
|Summary||0029410: DRAW - make DRAWEXE usable without environment settings|
|Description||Historically DRAW depends on environment variables and thus can be launched successfully only by the script which sets these variables according to the current setting (draw.bat or draw.sh). |
This is not convenient: it is expected that executable (DRAWEXE) should be able to run correctly if started directly, without any pre-set variables.
To achieve this, we need to find good replacement of environment variables for two kinds of paths:
1. Paths to DRAW plugin binaries. Now command pload searches for these using standard paths supported by dlopen() on Linux / macOS or LoadLibrary() on Windows. If this is not the case (e.g. OCCT is installed to /usr/local on macOS), pload fails.
2. Paths to Tcl scripts and other resources. Now these paths are expected to be defined by a bunch of environment variables. There is some fallback code trying to find paths in the absence of variables, but these fallbacks are made on DRAW is running over sources (search OCCT code for "src/DrawResources"). This is not the case when OCCT is installed with "make install".
The most straightforward approach is to extend fallback code to perform search in default locations, starting from location of the current binary. However, more universal approach should be preferred if it exists.
|Steps To Reproduce||On Linux or macOS:|
1. Build OCCT using CMake and run make install
2. Start DRAWEXE directly
|Tags||No tags attached.|
|Test case number|
edited on: 2019-03-31 17:34
what do you think about introduction of settings stored in *.ini file?
Good for that, there are a lot of open source ini parsers, such as
https://github.com/benhoyt/inih [^] or
Advantage is that it can be configured using cmake and also be human-readable.
|2018-01-02 21:53||abv||New Issue|
|2018-01-02 21:53||abv||Assigned To||=> apn|
|2018-01-02 21:55||abv||Steps to Reproduce Updated||View Revisions|
|2019-01-21 10:49||kgv||Relationship added||related to 0030339|
|2019-03-31 15:58||oan||Note Added: 0083324|
|2019-03-31 17:34||oan||Note Edited: 0083324||View Revisions|
|2019-07-10 22:24||abv||Target Version||7.4.0 => 7.5.0|
|2020-09-11 15:43||utverdov||Target Version||7.5.0 => 7.6.0*|
|2021-09-09 23:09||kgv||Target Version||7.6.0* => 7.7.0|
|Copyright © 2000 - 2021 MantisBT Team|