Skip to content
Snippets Groups Projects
Commit 7b7072b2 authored by Bertrand Bellenot's avatar Bertrand Bellenot
Browse files

Switch to single file workaround (thanks Philippe!)

parent a4ae5646
No related branches found
No related tags found
No related merge requests found
......@@ -2,7 +2,49 @@
void games()
{
Error("games", "Must be called from run_games.C...");
TString dir = gSystem->UnixPathName(gInterpreter->GetCurrentMacroName());
dir.ReplaceAll("games.C","");
dir.ReplaceAll("/./","/");
gSystem->Load("libGui");
Bool_t UNIX = strcmp(gSystem->GetName(), "Unix") == 0;
Int_t st1 = gSystem->Load("$(ROOTSYS)/test/Aclock");
if (st1 == -1) {
printf("===>The macro games will try to build the Aclock library\n");
if (UNIX)
gSystem->Exec("(cd $ROOTSYS/test; make Aclock)");
else
gSystem->Exec("(cd %ROOTSYS%\\test && nmake -f Makefile.win32 Aclock.dll)");
st1 = gSystem->Load("$(ROOTSYS)/test/Aclock");
}
Int_t st2 = gSystem->Load("$(ROOTSYS)/test/Hello");
if (st2 == -1) {
printf("===>The macro games will try to build the Hello library\n");
if (UNIX)
gSystem->Exec("(cd $ROOTSYS/test; make Hello)");
else
gSystem->Exec("(cd %ROOTSYS%\\test && nmake -f Makefile.win32 Hello.dll)");
st2 = gSystem->Load("$(ROOTSYS)/test/Hello");
}
Int_t st3 = gSystem->Load("$(ROOTSYS)/test/Tetris");
if (st3 == -1) {
if (UNIX) {
printf("===>The macro games will try to build the Tetris library\n");
gSystem->Exec("(cd $ROOTSYS/test; make Tetris)");
} else {
gSystem->Exec("(cd %ROOTSYS%\\test && nmake -f Makefile.win32 Tetris.dll)");
}
st3 = gSystem->Load("$(ROOTSYS)/test/Tetris");
}
if (st1 || st2 || st3) {
printf("ERROR: one of the shared libs in $ROOTSYS/test didn't load properly\n");
return;
}
gROOT->ProcessLine("#define __RUN_GAMES__ 1");
gROOT->ProcessLine("#include \"games.C\"");
gROOT->ProcessLine("rungames()");
gROOT->ProcessLine("#undef __RUN_GAMES__");
}
#else
......@@ -11,7 +53,7 @@ class Hello;
class Aclock;
class Tetris;
void games()
void rungames()
{
// This macro runs three "games" that each nicely illustrate the graphics capabilities of ROOT.
// Thanks to the clever usage of TTimer objects it looks like they are all
......
// Macro used to prepare the environment before running the games.C macro
void run_games()
{
gSystem->Load("libGui");
Bool_t UNIX = strcmp(gSystem->GetName(), "Unix") == 0;
Int_t st1 = gSystem->Load("$(ROOTSYS)/test/Aclock");
if (st1 == -1) {
printf("===>The macro games will try to build the Aclock library\n");
if (UNIX)
gSystem->Exec("(cd $ROOTSYS/test; make Aclock)");
else
gSystem->Exec("(cd %ROOTSYS%\\test && nmake -f Makefile.win32 Aclock.dll)");
st1 = gSystem->Load("$(ROOTSYS)/test/Aclock");
}
Int_t st2 = gSystem->Load("$(ROOTSYS)/test/Hello");
if (st2 == -1) {
printf("===>The macro games will try to build the Hello library\n");
if (UNIX)
gSystem->Exec("(cd $ROOTSYS/test; make Hello)");
else
gSystem->Exec("(cd %ROOTSYS%\\test && nmake -f Makefile.win32 Hello.dll)");
st2 = gSystem->Load("$(ROOTSYS)/test/Hello");
}
Int_t st3 = gSystem->Load("$(ROOTSYS)/test/Tetris");
if (st3 == -1) {
if (UNIX) {
printf("===>The macro games will try to build the Tetris library\n");
gSystem->Exec("(cd $ROOTSYS/test; make Tetris)");
} else {
gSystem->Exec("(cd %ROOTSYS%\\test && nmake -f Makefile.win32 Tetris.dll)");
}
st3 = gSystem->Load("$(ROOTSYS)/test/Tetris");
}
if (st1 || st2 || st3) {
printf("ERROR: one of the shared libs in $ROOTSYS/test didn't load properly\n");
return;
}
gROOT->ProcessLine("#define __RUN_GAMES__ 1");
gInterpreter->ExecuteMacro("games.C");
gROOT->ProcessLine("#undef __RUN_GAMES__");
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment