Versions Compared

Key

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

...

CMake is a cross-platform free software program for managing the build process of software using a compiler-independent method.

Generating the Makefiles with CMake

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 Magics library /usr/local
CMAKE_BUILD_TYPE

to select the type of compilation:

  • Debug
  • RelWithDebInfo
  • Release
  • Production
?
CMAKE_CXX_FLAGS More flags  for the C++ compiler 
ENABLE_PYTHONenable python interfaceon
ENABLE_GUIenable build of ecflowviewon
BOOST_ROOT

where to find boost ( if non-standard installation  )

If not specified cmake will look for an environment variable

of the same name.

 

If auto, CMake will try to enable the feature, but will not fail if it can not.

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). Further the variable CMAKE_CXX_FLAGS can be used to set compiler flags for optimisation or debugging. 

Code Block
languagebash
titlecmake/ecbuild
cd $WK
mkdir build; cd build;

# Specify the directory where you want ecflow installed, we have used '/usr/local/apps/ecflow' as an example
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/apps/ecflow -DCMAKE_BUILD_TYPE=Release

# If you do not want build the GUI, use:
# cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/apps/ecflow -DCMAKE_BUILD_TYPE=Release -DENABLE_GUI=OFF

# If you do not need the python api, use:
# cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/apps/ecflow -DCMAKE_BUILD_TYPE=Release -DENABLE_PYTHON=OFF

make
make install

...