Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Decrease required version for nlohmann_json; add to jenkins/project_description.sh.
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Thu, 16 Mar 2023 10:46:41 +0000 (11:46 +0100)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Thu, 16 Mar 2023 10:56:18 +0000 (11:56 +0100)
Version 3.7.0 is available in debian/buster-backports.

CMakeLists.txt
tools/jenkins/project_description.sh

index f080a36..4611a4f 100644 (file)
@@ -234,12 +234,17 @@ endif()
 
 # Check for our JSON dependency
 set(SIMGRID_HAVE_JSON 0)
-find_package(nlohmann_json 3.11.2
+find_package(nlohmann_json 3.7
              HINTS ${nlohmann_json_HINT})
 if (nlohmann_json_FOUND)
   set(SIMGRID_HAVE_JSON 1)
+  if (NOT NLOHMANN_JSON_INCLUDE_DIR)
+    get_target_property(NLOHMANN_JSON_INCLUDE_DIR nlohmann_json::nlohmann_json INTERFACE_INCLUDE_DIRECTORIES)
+    list(REMOVE_DUPLICATES NLOHMANN_JSON_INCLUDE_DIR)
+  else()
+    include_directories(${NLOHMANN_JSON_INCLUDE_DIR})
+  endif()
   message(STATUS "Found nlohmann_json: ${NLOHMANN_JSON_INCLUDE_DIR}")
-  include_directories(${NLOHMANN_JSON_INCLUDE_DIR})
 endif()
 
 set(HAVE_PAPI 0)
@@ -916,7 +921,7 @@ else()
   message("        Eigen3 library ..............: not found (EIGEN3_HINT='${EIGEN3_HINT}').")
 endif()
 if(SIMGRID_HAVE_JSON)
-  message("        JSON library.................: ${nlohmann_json_FIND_VERSION} in ${NLOHMANN_JSON_INCLUDE_DIR}")
+  message("        JSON library.................: ${nlohmann_json_VERSION} in ${NLOHMANN_JSON_INCLUDE_DIR}")
 else()
   message("        JSON library.................: not found (nlohmann_json_HINT='${nlohmann_json_HINT}')")
 endif()
index fa0a970..4a52a6f 100755 (executable)
@@ -21,6 +21,10 @@ get_eigen3(){
   sed -n 's/.* Eigen3 library \.\+: \([^ ]*\) in .*/\1/p;T;q' ./consoleText
 }
 
+get_json(){
+  sed -n 's/.* JSON library \.\+: \([^ ]*\) in .*/\1/p;T;q' ./consoleText
+}
+
 get_ns3(){
   sed -n 's/.*-- ns-3 found (v\(3[-.0-9a-z]\+\); minor:.*/\1/p;T;q' ./consoleText
 }
@@ -133,6 +137,7 @@ function sortTable(n, type) {
     <td class=matrix-header style=min-width:75px onclick="sortTable($((++col)),'version');">Boost</td>
     <td class=matrix-header style=min-width:75px onclick="sortTable($((++col)),'version');">Cmake</td>
     <td class=matrix-header style=min-width:50px onclick="sortTable($((++col)),'version');">Eigen3</td>
+    <td class=matrix-header style=min-width:50px onclick="sortTable($((++col)),'version');">JSON</td>
     <td class=matrix-header style=min-width:50px onclick="sortTable($((++col)),'version');">ns-3</td>
     <td class=matrix-header style=min-width:50px onclick="sortTable($((++col)),'version');">Python</td>
   </tr>
@@ -159,6 +164,7 @@ do
     compiler=$(get_compiler)
     cmake=$(get_cmake)
     eigen3=$(get_eigen3)
+    json=$(get_json)
     ns3=$(get_ns3)
     py=$(get_python)
     os=$(grep -m 1 "OS Version" ./consoleText| sed "s/OS Version : \(.*\)/\1/g")
@@ -196,6 +202,7 @@ do
     <td class="matrix-cell" style="text-align:left">$boost</td>
     <td class="matrix-cell" style="text-align:left">$cmake</td>
     <td class="matrix-cell" style="text-align:center">$eigen3</td>
+    <td class="matrix-cell" style="text-align:center">$json</td>
     <td class="matrix-cell" style="text-align:left">$ns3</td>
     <td class="matrix-cell" style="text-align:left">$py</td>
   </tr>