...
cmake options | doc | default | |||
---|---|---|---|---|---|
CMAKE_INSTALL_PREFIX | where you want to install your ecFlow | /usr/local | |||
CMAKE_BUILD_TYPE | to select the type of compilation:
| Release | |||
CMAKE_CXX_FLAGS | more flags for the C++ compiler | ||||
ENABLE_SERVER | build the ecFlow server | on | |||
ENABLE_PYTHON | enable python interface | on | |||
ENABLE_UI | enable build of ecflowUI (requires Qt) | on | |||
CMAKE_PREFIX_PATH | use to provide path to dependent libraries which are installed in a non-system locations. | ||||
ENABLE_ALL_TESTS | enable performance, migration, memory leak , and regression tests | off | |||
ENABLE_SSL | Encrypted communication for user commands (experimental, from ecFlow release 4.5.0).commands Please see: Open ssl for more details. | off | ENABLE_SECURE_USER | password based protection for user commands (experimental, from ecFlow release 4.5.0) Please see: Black list file (experimental) for more details. | offon |
BOOST_ROOT | where to find boost ( if non-standard installation ) If not specified cmake will look for an environment variable of the same name. |
...
Code Block | ||||
---|---|---|---|---|
| ||||
cd $WK mkdir build; cd build; # Go with defaults, will build with CMAKE_BUILD_TYPE=Release and install to /usr/local cmake .. # build release with debug info # cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo # Override install prefix # cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/apps/ecflow/45.143.0 # do NOT build the gui. # cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/apps/ecflow -DCMAKE_BUILD_TYPE=Release -DENABLE_GUI=OFF # ignore Wdeprecated-declarations compiler warning messages and do NOT build python api # cmake .. -DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations" -DENABLE_PYTHON=OFF # Use -j option to speed up compilation. Determine number of cpu's CPUS=$(lscpu -p | grep -v '#' | wc -l) make -j${CPUS} make check make install |
...
Code Block | ||
---|---|---|
| ||
export PYTHONPATH=$PYTHONPATH:<prefix>/45.173.0/lib/python2.7/site-packages/ecflow # If you used the default's then <prefix>=/usr/local # otherwise you should use whatever you entered for -DCMAKE_INSTALL_PREFIX, hence in the examples above we would have: export PYTHONPATH=$PYTHONPATH:/usr/local/apps/ecflow/45.173.0/lib/python2python3.76/site-packages/ecflow |
Installing ecFlow Python to a custom directory
...
However sometimes we may need to install the ecFlow python module to a different prefix.(starting with release 4.3.0)
This can be done using:
Code Block |
---|
cd $WK/build # change to the build directory cmake -DCMAKE_INSTALL_PREFIX=/tmp/avi/custom/ecflow/45.173.0 -DCOMPONENT=python -P cmake_install.cmake -- make install # install python module under /tmp/avi/custom/ecflow/45.173.0 |
ecflow_ui: Make a list servers accessible to all users
...
- creating a file called servers
The format of the servers file is very easy:
Code Block title server file format <server_name> <machine_name> <port>
An example might be:
Code Block title servers file server machineX 3141 projectX machineabc 4141 exp1 machineabc 4141 mars bigmac 11031
Copy this file to CMAKE_INSTALL_PREFIX/share/ecflow/. This makes the list of servers accessible to all users of ecflow_ui
Code Block cp servers /tmp/avi/custom/ecflow/45.173.0/share/ecflow/.