1# ================================================================
2# All the default values for siconos cmake parameters
3#
4# Usage:
5# cmake path-to-sources
6#  --> to keep default value
7#
8# cmake path-to-sources -DWITH_PYTHON_WRAPPER=ON
9#  --> to enable (ON), or disable (OFF) the concerned option.
10#
11# For details about all these options check siconos install guide.
12# ================================================================
13
14# --------- User-defined options ---------
15# Use cmake -DOPTION_NAME=some-value ... to modify default value.
16
17# --- List of siconos components to build and install ---
18# The complete list is : externals numerics
19# mechanisms is "off" by default.
20# Check https://nonsmooth.gricad-pages.univ-grenoble-alpes.fr/siconos/install_guide/install_guide.html#id6
21# for details about components.
22set(COMPONENTS externals numerics kernel control mechanics io CACHE INTERNAL "List of siconos components to build and install")
23
24option(WITH_PYTHON_WRAPPER "Build and install python bindings using swig. Default = ON" OFF)
25option(WITH_SERIALIZATION "Compilation of serialization functions. Default = OFF" OFF)
26option(WITH_GENERATION "Generation of serialization functions with doxygen XML. Default = OFF" OFF)
27
28# --- Build/compiling options ---
29set(WARNINGS_LEVEL 0 CACHE INTERNAL "Set compiler diagnostics level. 0: no warnings, 1: developer's minimal warnings, 2: strict level, warnings to errors and so on. Default =0")
30
31option(WITH_CXX "Enable CXX compiler for numerics. Default = ON" ON)
32option(WITH_FORTRAN "Enable Fortran compiler. Default = ON" ON)
33option(FORCE_SKIP_RPATH "Do not build shared libraries with rpath. Useful only for packaging. Default = OFF" OFF)
34option(NO_RUNTIME_BUILD_DEP "Do not check for runtime dependencies. Useful only for packaging. Default = OFF" OFF)
35option(WITH_UNSTABLE_TEST "Enable this to include all 'unstable' test. Default=OFF" OFF)
36option(BUILD_SHARED_LIBS "Building of shared libraries. Default = ON" ON)
37option(WITH_SYSTEM_INFO "Verbose mode to get some system/arch details. Default = OFF." OFF)
38option(WITH_TESTING "Enable 'make test' target" ON)
39
40# --- Documentation setup ---
41option(WITH_DOCUMENTATION "Build Documentation. Default = OFF" OFF)
42option(WITH_DOXYGEN_WARNINGS "Explore doxygen warnings. Default = OFF" OFF)
43option(WITH_DOXY2SWIG "Build swig docstrings from doxygen xml output. Default = OFF." OFF)
44
45
46
47# --- List of external libraries/dependencies to be searched (or not) ---
48option(WITH_BULLET "compilation with Bullet Bindings. Default = OFF" OFF)
49option(WITH_OCE "compilation with OpenCascade Bindings. Default = OFF" OFF)
50option(WITH_MUMPS "Compilation with the MUMPS solver. Default = OFF" OFF)
51option(WITH_UMFPACK "Compilation with the UMFPACK solver. Default = OFF" OFF)
52option(WITH_SUPERLU "Compilation with the SuperLU solver. Default = OFF" OFF)
53option(WITH_SUPERLU_MT "Compilation with the SuperLU solver, multithreaded version. Default = OFF" OFF)
54option(WITH_FCLIB "link with fclib when this mode is enable. Default = OFF" OFF)
55option(WITH_FREECAD "Use FreeCAD. Default = OFF" OFF)
56option(WITH_RENDERER "Install OCC renderer. Default = OFF" OFF)
57option(WITH_SYSTEM_SUITESPARSE "Use SuiteSparse installed on the system instead of built-in CXSparse library. Default = ON" ON)
58option(WITH_XML "Enable xml files i/o. Default = OFF" OFF)
59
60
61
62# -- Installation setup ---
63# Set python install mode:
64# - user --> behave as 'python setup.py install --user'
65# - standard --> install in python site-package (ie behave as python setup.py install)
66# - prefix --> install in python CMAKE_INSTALL_PREFIX (ie behave as python setup.py install --prefix=CMAKE_INSTALL_PREFIX)
67if(UNIX)
68  # on unix, there is no reason to use the standard option. By default, CMAKE_INSTALL_PREFIX is set to /usr/local and therefore,
69  # the python packages should be installed in /usr/local/...
70  set(siconos_python_install "prefix" CACHE STRING "Install mode for siconos python package")
71else()
72  set(siconos_python_install "standard" CACHE STRING "Install mode for siconos python package")
73endif()
74
75# If OFF, headers from libraries in externals will not be installed.
76option(INSTALL_EXTERNAL_HEADERS
77  "Whether or not headers for external libraries should be installed. Default=OFF" OFF)
78
79# If ON, internal headers will not be installed.
80option(INSTALL_INTERNAL_HEADERS
81  "Whether or not headers for internal definitions should be installed. Default=OFF" OFF)
82
83