Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
1ac892978f7f15181e91de78932b45228868ca1e
[simgrid.git] / tools / cmake / Option.cmake
1 ### ARGs use -D[var]=[ON/OFF] or [1/0] or [true/false](see below)
2 ### ex: cmake -Denable_ns3=ON ./
3
4 set(BIBTEX2HTML ${BIBTEX2HTML} CACHE PATH "Path to bibtex2html")
5
6 if(NOT CMAKE_INSTALL_PREFIX)
7   set(CMAKE_INSTALL_PREFIX "/usr/local/simgrid/" CACHE PATH "Path where this project should be installed")
8 else()
9   set(CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "Path where this project should be installed")
10 endif()
11
12 # How to build
13 ###
14 option(enable_compile_optimizations "Whether to produce efficient code for the SimGrid library" on)
15 option(enable_compile_warnings      "Whether compilation warnings should be turned into errors." off)
16 option(enable_lto                   "Whether we should try to activate the LTO (link time optimisation)" on)
17 option(enable_mallocators           "Enable mallocators (disable only for debugging purpose)." on)
18 option(enable_maintainer_mode       "Whether flex and flexml files should be rebuilt." off)
19 option(enable_debug                 "Turn this off to remove all debug messages at compile time (faster, but no debug activatable)" on)
20
21 # Optional modules
22 ###
23 option(enable_documentation "Whether to produce documentation" off)
24
25 option(enable_ns3            "Whether ns-3 model is activated." off)
26 option(enable_msg            "Whether the MSG module is activated." off)
27 option(enable_java            "Java was removed from SimGrid v3.33. Please do not enable it here." off)
28 mark_as_advanced(enable_java)
29 if (enable_java)
30   message(FATAL "Java was removed from SimGrid v3.33. Please stick to v3.32 or earlier if you need Java.")
31 endif()
32
33 option(minimal-bindings      "Whether to compile the Python bindings libraries with the minimal dependency set" off)
34 mark_as_advanced(minimal-bindings)
35
36 option(enable_model-checking "Turn this on to experiment with our prototype of model-checker (hinders the simulation's performance even if turned off at runtime)" off)
37 option(enable-model-checking "Please set 'enable_model-checking' instead" off)
38 mark_as_advanced(enable-model-checking)
39 if(enable-model-checking)
40   SET(enable_model-checking ON CACHE BOOL "Whether to compile the model-checker" FORCE)
41 endif()
42
43 option(enable_smpi "Whether SMPI is included in the library." on)
44 option(enable_smpi_papi    "Whether SMPI supports PAPI bindings." off)
45 option(enable_smpi_MPICH3_testsuite "Whether the test suite form MPICH 3 should be built" off)
46 option(enable_smpi_MBI_testsuite "Whether the test suite from MBI should be built." off)
47
48 # Internal targets used by jenkins
49 ###
50 option(enable_fortran "Whether fortran is used with SMPI. Turned on by default if gfortran is found." on)
51 option(enable_coverage "Whether coverage should be enabled." off)
52 mark_as_advanced(enable_coverage)
53 option(enable_memcheck "Enable memcheck." off)
54 mark_as_advanced(enable_memcheck)
55 option(enable_memcheck_xml "Enable memcheck with xml output." off)
56 mark_as_advanced(enable_memcheck_xml)
57 option(enable_address_sanitizer "Whether address sanitizer is turned on." off)
58 mark_as_advanced(enable_address_sanitizer)
59 option(enable_thread_sanitizer "Whether thread sanitizer is turned on." off)
60 mark_as_advanced(enable_thread_sanitizer)
61 option(enable_undefined_sanitizer "Whether undefined sanitizer is turned on." off)
62 mark_as_advanced(enable_undefined_sanitizer)
63
64 # Cmake, Y U NO hide your garbage??
65 ###
66 mark_as_advanced(HAVE_SSH)
67 mark_as_advanced(HAVE_RSYNC)
68 mark_as_advanced(BIBTEX2HTML_PATH)
69 mark_as_advanced(BUILDNAME)
70 mark_as_advanced(ADDR2LINE)
71 mark_as_advanced(BIBTOOL_PATH)
72 mark_as_advanced(BUILD_TESTING)
73 mark_as_advanced(CMAKE_BUILD_TYPE)
74 mark_as_advanced(DART_ROOT)
75 mark_as_advanced(DOXYGEN_PATH)
76 mark_as_advanced(FIG2DEV_PATH)
77 mark_as_advanced(FLEXML_EXE)
78 mark_as_advanced(FLEX_EXE)
79 mark_as_advanced(GCOV_PATH)
80 mark_as_advanced(ICONV_PATH)
81 mark_as_advanced(MAKE_PATH)
82 mark_as_advanced(SVN)
83 mark_as_advanced(GIT)
84 mark_as_advanced(CMAKE_OSX_ARCHITECTURES)
85 mark_as_advanced(CMAKE_OSX_DEPLOYMENT_TARGET)
86 mark_as_advanced(CMAKE_OSX_SYSROOT)
87 mark_as_advanced(SED_EXE)
88 mark_as_advanced(BIBTEX2HTML)
89 mark_as_advanced(CMAKE_C_LINK_FLAGS)
90 mark_as_advanced(CMAKE_CXX_FLAGS)
91 mark_as_advanced(CMAKE_Fortran_LINK_FLAGS)