Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Boost uses bjam for building the boost libs.
    bjam source is available in boost, hence we first need to build bjam itself:

     

    Code Block
    languagebash
    cd $BOOST_ROOT
    ./bootstrap.sh
  • For python3

    Code Block
    ./bootstrap.sh --with-python=/path/to/python3
    
    You may need to update $BOOST_ROOT/project-config.jam, with path to executable and path to include files. Note: remember to preserve the spaces, as they are significant. i.e.
    Code Block
    # using python
    #     :  # version
    #     :  # cmd-or-prefix
    #     :  # includes
    #     :  # libraries
    #     :  # condition
    #     ;
    using python : 3.5 : python3 : /usr/local/apps/python3/3.5.1-01/include/python3.5m ;
  • Ecflow uses some of compiled libraries in boost. The following script will build the required lib’s, in both debug and release forms and will configure boost build according to your platform.
  • If you do not require the ecflow python api, you can avoid build boost python libs by setting.
            export ECF_NO_PYTHON=1
    before calling $WK/build_scripts/boost_build.sh

     

    Code Block
    languagebash
    cd $BOOST_ROOT
    $WK/build_scripts/boost_1_53_fix.sh    # fix for boost, only for some platforms
    $WK/build_scripts/boost_build.sh       # compile boost libs used by ecFlow

...

After changing into the build ecflow directory, the user  has to run CMake with his/her own options. The command gives feedback on what requirements are fulfilled and what software is still required. Table below gives an overview of the different options of configure.  The default (without any options) will compile a share library only and install it in /usr/local/.

cmake options
doc
default
CMAKE_INSTALL_PREFIXwhere you want to install your ecflow /usr/local
CMAKE_BUILD_TYPE

to select the type of compilation:

  • Debug
  • RelWithDebInfo
  • Release (fully optimised compiler options)
  • Production
Release
CMAKE_CXX_FLAGSmore flags  for the C++ compiler 
ENABLE_SERVERbuild the ecflow serveron
ENABLE_PYTHONenable python interfaceon
PYTHON_EXECUTABLEPyhon3.  Path to python3 executable 
ENABLE_UIenable build of ecflowUI (requires Qt)on
CMAKE_PREFIX_PATH

use to provide path to dependent libraries which are installed in a non-system locations.
For example, if you have installed Qt in a non-system location, you should set the path in this variable.

 
ENABLE_GUIenable build of ecflowview (requires X11 and motif)on
ENABLE_ALL_TESTS

enable performance, migration, regression tests.

off
BOOST_ROOT

where to find boost ( if non-standard installation  )

If not specified cmake will look for an environment variable of the same name.

 

The  C++  compilers are chosen by CMake. (This can be overwritten by setting the environment variables CXX on the command line before you call cmake, to the preferred compiler).

...