Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Make smpi compilation script work when there are spaces in path names.
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Thu, 3 Mar 2022 13:30:09 +0000 (14:30 +0100)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Thu, 3 Mar 2022 14:10:55 +0000 (15:10 +0100)
Fix simgrid/simgrid#87

CMakeLists.txt
ChangeLog
src/smpi/smpicc.in
src/smpi/smpicxx.in
src/smpi/smpif90.in
src/smpi/smpiff.in

index 457be86..c234bf3 100644 (file)
@@ -540,7 +540,7 @@ file(READ ${CMAKE_HOME_DIRECTORY}/src/smpi/smpitools.sh SMPITOOLS_SH) # Definiti
 set(exec_prefix ${CMAKE_INSTALL_PREFIX})
 set(includedir "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
 set(libdir "${CMAKE_INSTALL_FULL_LIBDIR}")
-set(includeflag "-I${includedir} -I${includedir}/smpi")
+set(includeflag "\"-I${includedir}\" \"-I${includedir}/smpi\"")
 set(CMAKE_SMPI_COMMAND "export LD_LIBRARY_PATH=\"${libdir}")
 if(NS3_LIBRARY_PATH)
   set(CMAKE_SMPI_COMMAND "${CMAKE_SMPI_COMMAND}:${NS3_LIBRARY_PATH}")
@@ -568,8 +568,8 @@ endforeach()
 set(exec_prefix "${CMAKE_BINARY_DIR}/smpi_script/")
 set(includedir "${CMAKE_HOME_DIRECTORY}/include")
 set(libdir "${CMAKE_BINARY_DIR}/lib")
-set(includeflag "-I${includedir} -I${includedir}/smpi")
-set(includeflag "${includeflag} -I${CMAKE_BINARY_DIR}/include -I${CMAKE_BINARY_DIR}/include/smpi")
+set(includeflag "\"-I${includedir}\" \"-I${includedir}/smpi\"")
+set(includeflag "${includeflag} \"-I${CMAKE_BINARY_DIR}/include\" \"-I${CMAKE_BINARY_DIR}/include/smpi\"")
 set(CMAKE_SMPI_COMMAND "export LD_LIBRARY_PATH=\"${libdir}")
 if(NS3_LIBRARY_PATH)
   set(CMAKE_SMPI_COMMAND "${CMAKE_SMPI_COMMAND}:${NS3_LIBRARY_PATH}")
index 730556e..a868261 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -26,6 +26,7 @@ XBT:
 Fixed bugs (FG#.. -> FramaGit bugs; FG!.. -> FG merge requests)
  (FG: issues on Framagit; GH: issues on GitHub)
  - FG#57: Mc SimGrid should test whether ptrace is usable
+ - FG#87: Smpi scripts fail with spaces in paths
  - FG#100: [SMPI] Order of the message matching is not guaranteed
  - FG#101: LGPL 2.1 is deprecated license
  - GH#151: Missing mutexes for DPOR.
index 7ed93ff..6463ec8 100755 (executable)
@@ -11,11 +11,11 @@ SIMGRID_GITHASH="@GIT_VERSION@"
 
 CC=@CMAKE_C_COMPILER@
 
-INCLUDEARGS="@includeflag@"
-CMAKE_LINKARGS="-L@libdir@"
-
 @SMPITOOLS_SH@
 
+list_set INCLUDEARGS @includeflag@
+list_set CMAKE_LINKARGS "-L@libdir@"
+
 # Don't use -Wl,-z-defs with Clang and address sanitizer
 if [ "@CMAKE_C_COMPILER_ID@" = "Clang" ] && [ "@HAVE_SANITIZER_ADDRESS@" = "TRUE" ]; then
     LINKER_UNDEFINED_ERROR=""
@@ -95,7 +95,7 @@ done
 
 list_set CMDLINE "${CC}"
 list_add_not_empty CMDLINE "${CFLAGS}"
-list_add_not_empty CMDLINE ${INCLUDEARGS}
+list_add_not_empty CMDLINE "${INCLUDEARGS}"
 list_add_not_empty CMDLINE "${CMAKE_LINKARGS}"
 list_add_not_empty CMDLINE "${CMDARGS}"
 list_add_not_empty CMDLINE "${LINKARGS}"
index ac2beeb..944870c 100755 (executable)
@@ -11,11 +11,11 @@ SIMGRID_GITHASH="@GIT_VERSION@"
 
 CXX=@CMAKE_CXX_COMPILER@
 
-INCLUDEARGS="@includeflag@"
-CMAKE_LINKARGS="-L@libdir@"
-
 @SMPITOOLS_SH@
 
+list_set INCLUDEARGS @includeflag@
+list_set CMAKE_LINKARGS "-L@libdir@"
+
 list_set CXXFLAGS "-std=gnu++11" @SMPI_CXX_FLAGS@
 list_set LINKARGS
 
@@ -92,7 +92,7 @@ done
 
 list_set CMDLINE "${CXX}"
 list_add_not_empty CMDLINE "${CXXFLAGS}"
-list_add_not_empty CMDLINE ${INCLUDEARGS}
+list_add_not_empty CMDLINE "${INCLUDEARGS}"
 list_add_not_empty CMDLINE "${CMAKE_LINKARGS}"
 list_add_not_empty CMDLINE "${CMDARGS}"
 list_add_not_empty CMDLINE "${LINKARGS}"
index 2bae978..a8a95db 100644 (file)
@@ -10,11 +10,11 @@ SIMGRID_GITHASH="@GIT_VERSION@"
 
 REAL_FORTRAN_COMPILER=@SMPI_Fortran_COMPILER@
 
-INCLUDEARGS="@includeflag@"
-CMAKE_LINKARGS="-L@libdir@"
-
 @SMPITOOLS_SH@
 
+list_set INCLUDEARGS @includeflag@
+list_set CMAKE_LINKARGS "-L@libdir@"
+
 list_set FFLAGS @SMPI_Fortran_FLAGS@
 list_set LINKARGS "-lsimgrid" @SMPI_Fortran_LIBS@ "-lm"
 if [ "x${SMPI_PRETEND_CC}" = "x" ]; then
@@ -112,7 +112,7 @@ if [ $NEEDS_OUTPUT -ne 0 ]; then
    list_add CMDLINE "-o${ORIGFILE}.o"
 fi
 
-list_add_not_empty CMDLINE ${INCLUDEARGS}
+list_add_not_empty CMDLINE "${INCLUDEARGS}"
 list_add_not_empty CMDLINE "${CMAKE_LINKARGS}"
 list_add_not_empty CMDLINE "${LINKARGS}"
 
index fa32a9c..9ec8cff 100644 (file)
@@ -10,11 +10,11 @@ SIMGRID_GITHASH="@GIT_VERSION@"
 
 REAL_FORTRAN_COMPILER=@SMPI_Fortran_COMPILER@
 
-INCLUDEARGS="@includeflag@"
-CMAKE_LINKARGS="-L@libdir@"
-
 @SMPITOOLS_SH@
 
+list_add INCLUDEARGS @includeflag@
+list_set CMAKE_LINKARGS "-L@libdir@"
+
 list_set FFLAGS @SMPI_Fortran_FLAGS@
 list_set LINKARGS "-lsimgrid" @SMPI_Fortran_LIBS@ "-lm"
 if [ "x${SMPI_PRETEND_CC}" = "x" ]; then
@@ -149,7 +149,7 @@ if [ $NEEDS_OUTPUT -ne 0 ]; then
    list_add CMDLINE "-o${ORIGFILE}.o"
 fi
 
-list_add_not_empty CMDLINE ${INCLUDEARGS}
+list_add_not_empty CMDLINE "${INCLUDEARGS}"
 list_add_not_empty CMDLINE "${CMAKE_LINKARGS}"
 list_add_not_empty CMDLINE "${LINKARGS}"