Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
better to add this file ...
authorsuter <frederic.suter@cc.in2p3.fr>
Wed, 7 May 2014 02:10:06 +0000 (04:10 +0200)
committersuter <frederic.suter@cc.in2p3.fr>
Wed, 7 May 2014 02:10:06 +0000 (04:10 +0200)
src/smpi/smpicxx.in [new file with mode: 0755]

diff --git a/src/smpi/smpicxx.in b/src/smpi/smpicxx.in
new file mode 100755 (executable)
index 0000000..1f2cb32
--- /dev/null
@@ -0,0 +1,57 @@
+#! /bin/sh
+
+# Copyright (c) 2014. The SimGrid Team.
+# All rights reserved.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the license (GNU LGPL) which comes with this package.
+
+CC=@CMAKE_CXX_COMPILER@
+
+INCLUDEARGS="@includeflag@"
+CMAKE_LINKARGS="-L@libdir@"
+
+@SMPITOOLS_SH@
+
+list_set CFLAGS
+list_set LINKARGS
+if [ "@WIN32@" != "1" ]; then
+    list_add CFLAGS "-Dmain=smpi_simulated_main_"
+    list_add LINKARGS "-lsimgrid"
+else
+    list_add CFLAGS "-include" "@includedir@/smpi/smpi_main.h"
+    list_add LINKARGS "@libdir@\libsimgrid.dll"
+fi
+
+list_set CMDARGS
+while [ $# -gt 0 ]; do
+    ARG="$1"
+    shift
+    case "${ARG}" in
+        -c)
+            CMAKE_LINKARGS=""
+            LINKARGS=""
+            list_add CMDARGS "-c"
+            ;;
+        *.c)
+            SRCFILE="$(readlink -f ${ARG} 2>/dev/null)"
+            if [ -z "$SRCFILE" ] ; then
+                SRCFILE="$ARG"
+            fi
+            list_add CMDARGS "${SRCFILE}"
+            ;;
+        *)
+            list_add CMDARGS "${ARG}"
+      ;;
+  esac
+done
+
+list_set CMDLINE "${CC}"
+list_add_not_empty CMDLINE "${CFLAGS}"
+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}"
+
+eval $(list_get CMDLINE)
+"$@"