CMake Options & Environment
It is possible to customize the RobWork installation through various CMake options. RobWork has many dependencies, of which many are optional. It is important to ensure that CMake finds the correct optional dependencies to enable certain parts of RobWork. Here we will give an introduction to the CMake system and the most relevant options. We will also provide some information about how to control where CMake searches for the dependencies.
To implement the customizing use the CMake system like in this example to disable use for LUA:
cd ~/RobWork/Build/RW
cmake -D CMAKE_BUILD_TYPE=Release -D RW_USE_LUA=OFF ../../RobWork
make -j4
Warning
This page is still being written. The following sections will therefore include a non compleat list of CMake options
The variables shown can been used when calling CMake by using the suffix “-D”
Common Options
- WITH_RWS=[True|False]
Default: True
Use this option to control if RobWorkStudio should be used (only when building all projects together).
- WITH_RWSIM=[True|False]
Default: True
Use this option to control if RobWorkSim should be used (only when building all projects together).
- LIB_INSTALL_DIR=<Install_DIR>
Default: “lib”
Use this argument to specify where the libraries should be installed.
- CMAKE_BUILD_TYPE=[Release|None|Debug|RelWithDebInfo]
Default: “None”
This value specify what kind of build should be compiled. None means the compiler decides
- CMAKE_DISABLE_FIND_PACKAGE_<PackageName>=[True|False]
Default: False
CMake provides the option to disable using optional packages. For most of the packages disabling them this way will either result in removing packages/functionality or making sure that internal package of the same name will be compiled and used.
- RobWork Optional packages
GLUT, FreeGLUT, XercesC, Yaobi, FCL, EIGEN3, SWIG, LUA51, LUA, ASSIMP, ZLIB, MINIZIP, PythonInterp, PythonLibs, GTest, Mathematica, OpenMP
- SWIG_EXECUTABLE=”Path/to/swig.exe”
Default: let CMake find the path
Use this argument to specify which swig executable should be used.
- SWIG_DEFAULT_COMPILE=OFF
Default: make seperate compile targets for Python, Java and lua (make python, make java, make lua)
If set to On Python, Java and Lua will be build as part of the normal Build Procedure ( make)
- BOOST_ROOT=”Pathtoboost_<version>”
Default: let CMake find the path
Use this to specify where cmake can find boost
- BOOST_LIBRARYDIR=”Path/to/boost_<version>/<compiler type>”
Default: let CMake find the path
Use this to clarify which compiler specific binaries of boost should be used
- GTEST_ROOT:PATH=””Path/to/GTest/googletest”
Default: let CMake find the path
Use this in combination with GTEST_SOURCE to specify where to find gtest.
- GTEST_SOURCE:PATH=”Path/to/GTest/googletest”
Default: let CMake find the path
Use this in combination with GTEST_ROOT to specify where to find gtest.
- XERCESC_ROOT:PATH=”Path/to/xerces-c-<version>/xerces-install”
Default: let cmake find the path
Use this to specify where to find Xerces.
- BULLET_ROOT:PATH=”Path/to/bullet3/install”
Default: let cmake find the path
Use this to specify where to find Bullet.
- CMAKE_PREFIX_PATH=”Path/to/Qt/<version>/<compiler>”
Default: None
This variable can be used to specify CMakes search path, read more about this here. For RobWork this variable can be used to find Qt, as seen in the example.
- ODE_DIR:PATH=”Path/to/ode/install”
Default: let cmake find the path
Use this to specify the ODE installation
Robwork Options
- RW_SHARED_LIBS=[ON|OFF]
Default: ON
Use this option to Compile RobWork as a shared or static library
- BUILD_SHARED_LIBS=[ON|OFF]
Default: RW_SHARED_LIBS
Used to build assimp and GTESTS as a shared library. It also builds zlib and lua as DLL on windows.
- RW_ENABLE_ASSERT=[ON|OFF]
Default: ON
Use this to disable/enable RW_ASSERT from generating output messages with regards to errors. Only works for non-debug builds.
- USE_FCL=[ON|OFF]
Default: ON if fcl can be found
Set to OFF to disable looking for the FCL libraries
- USE_OCC=[ON|OFF]
Default: ON if OpenCascade can be found
Set to OFF to disable looking for the OpenCascade libraries
- USE_CSGJS=[ON|OFF]
Default: ON
Use this to prevent RobWork from using CsgJs (always compiled from RobWork/ext folder).
- USE_SWIG=[ON|OFF]
Default: ON if SWIG can be found
Set to OFF to disable looking for the SWIG libraries
- USE_LUA=[ON|OFF]
Default: ON if LUA can be found
Use this to prevent RobWork from looking for lua.
- USE_ASSIMP=[ON|OFF]
Default: ON if assimp can be found
Use this to prevent RobWork from looking for Assimp.
- USE_Python=[ON|OFF]
Default: ON if Python can be found
Use this to prevent RobWork from looking for Python.
- USE_numpy=[ON|OFF]
Default: ON if numpy can be found
Use this to prevent RobWork from looking for numpy.
- USE_GTest=[ON|OFF]
Default: OFF
Use this to prevent/allow RobWork to look for GTest libraries.
- USE_Mathematica=[ON|OFF]
Default: OFF
Use this to prevent/allow RobWork to look for Mathematica libraries.
- USE_RW_ASSERT=[ON|OFF]
Default: ON
Enable/disable the assert code in RobWork. Can be used to speed up the code, by removing the assert error checks
- USE_OpenMP=[ON|OFF]
Default: ON
Enable/Disable looking for OpenMP Libraries
- RW_USE_YAOBI=[ON|OFF]
Default: NOT RW_DISABLE_YAOBI
Use this to prevent RobWork from using Yaobi.
- RW_USE_PQP=[ON|OFF]
Default: NOT RW_DISABLE_PQP
Use this or the disable argument (see default) to prevent RobWork from using PQP.
- RW_IS_EXAMPLES_ENABLED=[ON|OFF]
Default: RW_BUILD_EXAMPLES
Use this or the enable argument (see default) to prevent RobWork from building the provided examples.
- RW_IS_TESTS_ENABLED=[ON|OFF]
Default: RW_BUILD_TESTS
Use this or the enable argument (see default) to prevent RobWork from building tests.
RobWorkStudio Options
- RWS_SHARED_LIBS=[ON|OFF]
Default: ON (WINDOWS OFF)
Use this option to compile RobWorkStudio Libraries as shared libraries.
- RWS_USE_STATIC_LINK_PLUGINS=[ON|OFF]
Default: ON
This option creates the RobWorkStudio plugins as static plugins, loaded at compile time.
- USE_WERROR=[ON|OFF]
Default=OFF
Make all warnings during compilation appear as errors.
RobWorkSim Options
- RWSIM_SHARED_LIBS=ON
Default: ON
Use this option to compile RobWorkStudio Libraries as shared libraries.
- USE_WERROR=[ON|OFF]
Default=OFF
Make all warnings during compilation appear as errors.
Package build control
With the modular setup of RobWork it is possible to disable the build of the individual RobWork packages from CMake. Use the following options to prevent the build of a package. They all default to ON unless a required dependency isn’t present. Running CMake will show which packages are not being build and why.
RobWork
BUILD_sdurw=[ON|OFF]
BUILD_sdurw_algorithms=[ON|OFF]
BUILD_sdurw_assembly=[ON|OFF]
BUILD_sdurw_calibration=[ON|OFF]
BUILD_sdurw_control=[ON|OFF]
BUILD_sdurw_opengl=[ON|OFF]
BUILD_sdurw_mathematica=[ON|OFF]
BUILD_sdurw_proximitystrategies=[ON|OFF]
BUILD_sdurw_proximitystrategies.rwplugin=[ON|OFF]
BUILD_sdurw_pathoptimization=[ON|OFF]
BUILD_sdurw_pathplanners=[ON|OFF]
BUILD_sdurw_task=[ON|OFF]
BUILD_sdurw_simulation=[ON|OFF]
BUILD_sdurw_lua=[ON|OFF]
BUILD_sdurw_python=[ON|OFF]
BUILD_sdurw_java=[ON|OFF]
BUILD_sdurw_softbody=[ON|OFF]
BUILD_sdurw_csg=[ON|OFF]
RobWorkStudio
BUILD_sdurws_atask=[ON|OFF]
BUILD_sdurws_gtask=[ON|OFF]
BUILD_sdurws_jog=[ON|OFF]
BUILD_sdurws_log=[ON|OFF]
BUILD_sdurws_playback=[ON|OFF]
BUILD_sdurws_propertyview=[ON|OFF]
BUILD_sdurws_treeview=[ON|OFF]
BUILD_sdurws_planning=[ON|OFF]
BUILD_sdurws_sensors=[ON|OFF]
BUILD_sdurws_luaeditor=[ON|OFF]
BUILD_sdurws_luapl=[ON|OFF]
BUILD_sdurws_robworkstudioapp=[ON|OFF]
BUILD_sdurws_lua=[ON|OFF]
BUILD_sdurws_java=[ON|OFF]
BUILD_sdurws_python=[ON|OFF]
BUILD_sdurws_plugin.rwplugin=[ON|OFF]
BUILD_RobWorkStudio=[ON|OFF]
RobWorkSim
BUILD_sdurwsim_bullet=[ON|OFF]
BUILD_sdurwsim_ode=[ON|OFF]
BUILD_sdurwsim_test=[ON|OFF]
BUILD_sdurwsim_luai=[ON|OFF]
BUILD_sdurwsim_java=[ON|OFF]
BUILD_sdurwsim_python=[ON|OFF]
BUILD_ode_plugin.rwplugin=[ON|OFF]
BUILD_EngineTestPlugin=[ON|OFF]
BUILD_GraspTableGeneratorPlugin=[ON|OFF]
BUILD_RWSimPlugin=[ON|OFF]
BUILD_RWSimulatorPlugin=[ON|OFF]
BUILD_SimTaskPlugin=[ON|OFF]
BUILD_SimUtilityPlugin=[ON|OFF]
BUILD_SimulatorLogViewer=[ON|OFF]