Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Cosmetics in cmake
authorMartin Quinson <martin.quinson@ens-rennes.fr>
Sun, 2 Apr 2023 20:44:08 +0000 (22:44 +0200)
committerMartin Quinson <martin.quinson@ens-rennes.fr>
Sun, 2 Apr 2023 20:57:48 +0000 (22:57 +0200)
- use ON/OFF instead of 1/0
- display all MC related options together
- mark some crufy variables as advanced to hide them

CMakeLists.txt
src/smpi/internals/smpi_config.cpp
teshsuite/smpi/MBI/CMakeLists.txt
tools/cmake/Modules/FindGraphviz.cmake
tools/cmake/Modules/FindPAPI.cmake

index cf029cc..ac691fe 100644 (file)
@@ -77,7 +77,7 @@ if ((NOT DEFINED enable_smpi) OR enable_smpi)
   # configuration where it was saved as smpiff
   unset(CMAKE_Fortran_COMPILER)
 
-  SET(SMPI_FORTRAN 0)
+  SET(SMPI_FORTRAN OFF)
   if(enable_fortran)
     enable_language(Fortran OPTIONAL)
   endif()
@@ -106,7 +106,7 @@ if ((NOT DEFINED enable_smpi) OR enable_smpi)
     ## Request debugging flags for Fortran too
     set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g")
 
-    set(SMPI_FORTRAN 1)
+    set(SMPI_FORTRAN ON)
   endif(CMAKE_Fortran_COMPILER)
 
 endif()
@@ -195,21 +195,21 @@ include(CheckIncludeFiles)
 include(CheckLibraryExists)
 include(CheckSymbolExists)
 
-set(HAVE_GRAPHVIZ 0)
+set(HAVE_GRAPHVIZ OFF)
 if(minimal-bindings)
   message(STATUS "Don't even look for graphviz, as we build minimal binding libraries.")
 else()
   include(FindGraphviz)
 endif()
 
-set(SIMGRID_HAVE_NS3 0)
+set(SIMGRID_HAVE_NS3 OFF)
 if(enable_ns3)
   include(FindNS3)
   if (SIMGRID_HAVE_NS3)
     if (NOT NS3_VERSION EQUAL "3-dev" AND NS3_VERSION VERSION_LESS "3.28")
       message(FATAL_ERROR "SimGrid needs ns-3 in version 3.28 or higher. Please upgrade or disable that cmake option.")
     endif()
-    set(SIMGRID_HAVE_NS3 1)
+    set(SIMGRID_HAVE_NS3 ON)
     set(SIMGRID_DEP "${SIMGRID_DEP} ${NS3_LIBRARIES}")
   else()
     message(FATAL_ERROR "Cannot find ns-3. Please install it (apt-get install ns3 libns3-dev) or disable that cmake option")
@@ -217,11 +217,11 @@ if(enable_ns3)
 endif()
 
 ### Check for Eigen library
-set(SIMGRID_HAVE_EIGEN3 0)
+set(SIMGRID_HAVE_EIGEN3 OFF)
 find_package (Eigen3 3.3 CONFIG
               HINTS ${EIGEN3_HINT})
 if (Eigen3_FOUND)
-  set(SIMGRID_HAVE_EIGEN3 1)
+  set(SIMGRID_HAVE_EIGEN3 ON) 
   message(STATUS "Found Eigen3: ${EIGEN3_INCLUDE_DIR}")
   include_directories(${EIGEN3_INCLUDE_DIR})
   if ("3.3.4" VERSION_EQUAL EIGEN3_VERSION_STRING AND CMAKE_COMPILER_IS_GNUCC)
@@ -231,6 +231,7 @@ if (Eigen3_FOUND)
 else()
   message(STATUS "Disabling model BMF because Eigen3 was not found. If it's installed, use EIGEN3_HINT to hint cmake about the location of Eigen3Config.cmake")
 endif()
+mark_as_advanced(Eigen3_DIR)
 
 # Check for our JSON dependency
 set(SIMGRID_HAVE_JSON 0)
@@ -246,14 +247,16 @@ if (nlohmann_json_FOUND)
   endif()
   message(STATUS "Found nlohmann_json: ${NLOHMANN_JSON_INCLUDE_DIR}")
 endif()
+mark_as_advanced(nlohmann_json_DIR)
 
-set(HAVE_PAPI 0)
+set(HAVE_PAPI OFF)
 if(enable_smpi_papi)
   include(FindPAPI)
   if (NOT HAVE_PAPI)
     message(FATAL_ERROR "Cannot find PAPI. Please install it (apt-get install papi-tools libpapi-dev) or disable PAPI bindings.")
   endif()
 endif()
+mark_as_advanced(PAPI_PREFIX)
 
 # But we do need the core of Boost
 # cmake before 3.13.1 does not know about stacktrace components. Fix it.
@@ -291,10 +294,10 @@ set(_Boost_STACKTRACE_ADDR2LINE_HEADERS "boost/stacktrace.hpp")
 
       if(Boost_CONTEXT_FOUND)
         message (STATUS "  context: found. Activating Boost contexts.")
-        set(HAVE_BOOST_CONTEXTS 1)
+        set(HAVE_BOOST_CONTEXTS ON)
       else()
         message (STATUS "  context: MISSING. Install libboost-context-dev for this optional feature.")
-        set(HAVE_BOOST_CONTEXTS 0)
+        set(HAVE_BOOST_CONTEXTS OFF)
       endif()
     endif()
   else()
@@ -310,6 +313,10 @@ set(_Boost_STACKTRACE_ADDR2LINE_HEADERS "boost/stacktrace.hpp")
       endif()
     endif()
   endif()
+mark_as_advanced(Boost_CONTEXT_LIBRARY_RELEASE)
+mark_as_advanced(Boost_INCLUDE_DIR)
+mark_as_advanced(Boost_STACKTRACE_ADDR2LINE_LIB)
+mark_as_advanced(Boost_STACKTRACE_BACKTRACE_LIB)
 
 # Checks for header libraries functions.
 CHECK_LIBRARY_EXISTS(rt      clock_gettime           "" HAVE_POSIX_GETTIME)
@@ -361,8 +368,8 @@ else()
   SET(SIMGRID_HAVE_MALLOCATOR 0)
 endif()
 
-SET(SIMGRID_HAVE_MC 0)
-SET(SIMGRID_HAVE_STATEFUL_MC 0)
+SET(SIMGRID_HAVE_MC OFF)
+SET(SIMGRID_HAVE_STATEFUL_MC OFF)
 SET(HAVE_MMALLOC 0)
 
 find_package(Libevent)
@@ -370,10 +377,12 @@ if(Libevent_FOUND)
   message(STATUS "Found libevent. The stateless model-checking can be enabled.")
   include_directories(${LIBEVENT_INCLUDE_DIR})
   set(SIMGRID_DEP "${SIMGRID_DEP} ${LIBEVENT_LIBRARIES}")
-  SET(SIMGRID_HAVE_MC 1)
+  SET(SIMGRID_HAVE_MC ON)
 else()
   message(STATUS "libevent not found. Please install libevent-dev to enable the SimGrid model checker.")
 endif()
+mark_as_advanced(LIBEVENT_LIBRARY)
+mark_as_advanced(LIBEVENT_THREADS_LIBRARY)
 
 if(enable_model-checking)
   include(FindLibunwind)
@@ -381,7 +390,7 @@ if(enable_model-checking)
   find_package(Libelf)
   if(HAVE_MMAP AND HAVE_LIBUNWIND AND Libdw_FOUND AND Libelf_FOUND AND Libevent_FOUND)
     message(STATUS "All dependencies found. The stateful model-checking can be enabled.")
-    SET(SIMGRID_HAVE_STATEFUL_MC 1)
+    SET(SIMGRID_HAVE_STATEFUL_MC ON)
     SET(HAVE_MMALLOC 1)
     SET(SIMGRID_DEP "${SIMGRID_DEP} ${LIBUNWIND_LIBRARIES} ${LIBELF_LIBRARIES} ${LIBDW_LIBRARIES}")
     include_directories(${LIBDW_INCLUDE_DIR} ${LIBELF_INCLUDE_DIR})
@@ -395,15 +404,15 @@ endif()
 mark_as_advanced(PATH_LIBDW_H)
 mark_as_advanced(PATH_LIBDW_LIB)
 
-if (SIMGRID_HAVE_MC AND enable_ns3) 
+if (SIMGRID_HAVE_STATEFUL_MC AND enable_ns3) 
   message(WARNING "Activating both model-checking and ns-3 bindings is considered experimental.")
 endif()
 
 if(enable_smpi)
-  SET(HAVE_SMPI 1)
-  SET(HAVE_PRIVATIZATION 1)
+  SET(HAVE_SMPI ON)
+  SET(HAVE_PRIVATIZATION ON)
 else()
-  SET(HAVE_SMPI 0)
+  SET(HAVE_SMPI OFF)
 endif()
 
 #--------------------------------------------------------------------------------------------------
@@ -935,10 +944,12 @@ message("          Privatization .............: ${HAVE_PRIVATIZATION}")
 message("          PAPI support ..............: ${HAVE_PAPI}")
 message("        Compile Boost.Context support: ${HAVE_BOOST_CONTEXTS}")
 message("")
+message("        Model checking ..............: ${SIMGRID_HAVE_MC}")
+message("          Stateful model checking ...: ${SIMGRID_HAVE_STATEFUL_MC}")
+message("          MBI testsuite .............: ${enable_smpi_MBI_testsuite}")
+message("")
 message("        Maintainer mode .............: ${enable_maintainer_mode}")
 message("        Documentation ...............: ${enable_documentation}")
-message("        Stateless model checking ....: ${SIMGRID_HAVE_MC}")
-message("        Stateful model checking .....: ${SIMGRID_HAVE_STATEFUL_MC}")
 message("        Graphviz mode ...............: ${HAVE_GRAPHVIZ}")
 message("        Mallocators .................: ${enable_mallocators}")
 message("")
index 84f6edc..513694b 100644 (file)
@@ -255,9 +255,9 @@ void smpi_init_options_internal(bool called_by_smpi_main)
   simgrid::config::declare_flag<std::string>(
       "smpi/privatization", "How we should privatize global variable at runtime (no, yes, mmap, dlopen).",
       default_privatization, [](const std::string& smpi_privatize_option) {
-        if (smpi_privatize_option == "no" || smpi_privatize_option == "0")
+        if (smpi_privatize_option == "no" || smpi_privatize_option == "0" || smpi_privatize_option == "OFF")
           _smpi_cfg_privatization = SmpiPrivStrategies::NONE;
-        else if (smpi_privatize_option == "yes" || smpi_privatize_option == "1")
+        else if (smpi_privatize_option == "yes" || smpi_privatize_option == "1" || smpi_privatize_option == "ON")
           _smpi_cfg_privatization = SmpiPrivStrategies::DEFAULT;
         else if (smpi_privatize_option == "mmap")
           _smpi_cfg_privatization = SmpiPrivStrategies::MMAP;
index a07c97c..35613f1 100644 (file)
@@ -9,10 +9,10 @@ file(GLOB generator_scripts *Generator.py)
 
 if (enable_smpi_MBI_testsuite)
   if (NOT enable_smpi)
-    message(FATAL_ERROR "MBI test suite cannot be enabled without SMPI. Please change either setting.")
+    message(FATAL_ERROR "The MBI test suite cannot be enabled without SMPI. Please change either setting.")
   endif()
-  if (NOT enable_model-checking)
-    message(FATAL_ERROR "MBI test suite cannot be enabled without the Mc SimGrid model-checker. Please change either setting.")
+  if (NOT SIMGRID_HAVE_MC)
+    message(FATAL_ERROR "The MBI test suite cannot be enabled without the model-checker. Please change either setting.")
   endif()
 
   message(STATUS "Generating the MBI test cases")
index 57f6771..860a65e 100644 (file)
@@ -25,9 +25,9 @@ if(HAVE_CDT_LIB AND HAVE_CGRAPH_LIB AND HAVE_CGRAPH_H)
   include_directories(${file_graphviz_h} ${file_graphviz_h}/graphviz)
   link_directories(${lib_graphviz})
 
-  set(HAVE_GRAPHVIZ "1")
+  set(HAVE_GRAPHVIZ ON)
 else()
-  set(HAVE_GRAPHVIZ "0")
+  set(HAVE_GRAPHVIZ OFF)
 endif()
 
 mark_as_advanced(HAVE_GRAPHVIZ)
index 8427cfe..28b2b35 100644 (file)
@@ -17,7 +17,7 @@
 #  PAPI_LIBRARY          The PAPI library
 #  PAPI_INCLUDE_DIRS       The location of PAPI headers
 
-set(HAVE_PAPI 0)
+set(HAVE_PAPI OFF)
 set(PAPI_HINT ${papi_path} CACHE PATH "Path to search for PAPI headers and library")
 
 find_path(PAPI_PREFIX
@@ -55,7 +55,7 @@ endif()
 
 if (PAPI_LIBRARY)
   if(PAPI_INCLUDE_DIRS)
-    set(HAVE_PAPI 1)
+    set(HAVE_PAPI ON)
     mark_as_advanced(HAVE_PAPI)
   endif()
 endif()