target_link_libraries(s4u_basic_function simgrid)
set_target_properties(s4u_basic_function PROPERTIES RUNTIME_OUTPUT_DIRECTORY
${CMAKE_CURRENT_BINARY_DIR}/basic)
+
+add_executable (s4u_basic_deployment basic/s4u_basic_deployment.cpp)
+target_link_libraries(s4u_basic_deployment simgrid)
+set_target_properties(s4u_basic_deployment PROPERTIES RUNTIME_OUTPUT_DIRECTORY
+ ${CMAKE_CURRENT_BINARY_DIR}/basic)
+
set(examples_src ${examples_src} ${CMAKE_CURRENT_SOURCE_DIR}/basic/s4u_basic_function.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/basic/s4u_basic_deployment.cpp
${CMAKE_CURRENT_SOURCE_DIR}/basic/s4u_basic.h)
set(examples_src ${examples_src} PARENT_SCOPE)
--- /dev/null
+<?xml version='1.0'?>
+<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd">
+<platform version="4">
+ <process host="Tremblay" function="worker">
+ </process>
+ <process host="Jupiter" function="master">
+ </process>
+</platform>
> [Tremblay:worker:(0) 0.001301] [s4u_test/INFO] I received 'GaBuZoMeu'
> [Tremblay:worker:(0) 0.001301] [s4u_test/INFO] I'm done. See you.
> [Jupiter:master:(0) 0.001301] [s4u_test/INFO] I'm done. See you.
+
+$ $SG_TEST_EXENV ${bindir:=.}/s4u_basic_deployment deployment.xml
+> [Tremblay:worker:(0) 0.000000] [s4u_test/INFO] Hello s4u, I'm ready to serve
+> [Jupiter:master:(0) 0.000000] [s4u_test/INFO] Hello s4u, I have something to send
+> [Tremblay:worker:(0) 0.001301] [s4u_test/INFO] I received 'GaBuZoMeu'
+> [Tremblay:worker:(0) 0.001301] [s4u_test/INFO] I'm done. See you.
+> [Jupiter:master:(0) 0.001301] [s4u_test/INFO] I'm done. See you.
--- /dev/null
+/* Copyright (c) 2006-2016. 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. */
+
+#include <string>
+#include <vector>
+
+#include <xbt/sysdep.h>
+
+#include <simgrid/s4u.h>
+
+#include "s4u_basic.h"
+
+int main(int argc, char **argv) {
+ simgrid::s4u::Engine *e = new simgrid::s4u::Engine(&argc,argv);
+ e->loadPlatform("../../platforms/two_hosts.xml");
+ e->registerFunction<Worker>("worker");
+ e->registerFunction<Master>("master");
+ e->loadDeployment(argv[1]);
+ e->run();
+ return 0;
+}