moved utilities and contribution in branchez
git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@2183 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
parent
6c3383d718
commit
8280cf082b
176 changed files with 0 additions and 0 deletions
BIN
branches/utilities/manual/manuel.pdf
Normal file
BIN
branches/utilities/manual/manuel.pdf
Normal file
Binary file not shown.
|
|
@ -0,0 +1,72 @@
|
|||
|
||||
######################################################################################
|
||||
### 0) Include the install configuration file where are defined the main variables
|
||||
######################################################################################
|
||||
|
||||
INCLUDE(${CMAKE_SOURCE_DIR}/install.cmake)
|
||||
|
||||
######################################################################################
|
||||
|
||||
|
||||
######################################################################################
|
||||
### 1) Set your application properties
|
||||
######################################################################################
|
||||
|
||||
# Define your project name
|
||||
PROJECT(mySimpleApplication)
|
||||
|
||||
######################################################################################
|
||||
|
||||
|
||||
######################################################################################
|
||||
### 2) Include the sources
|
||||
######################################################################################
|
||||
|
||||
INCLUDE_DIRECTORIES(${PARADISEO_EO_SRC_DIR}/src
|
||||
${PARADISEO_MO_SRC_DIR}/src
|
||||
${PARADISEO_MOEO_SRC_DIR}/src
|
||||
${PARADISEO_PEO_SRC_DIR}/src)
|
||||
|
||||
######################################################################################
|
||||
|
||||
|
||||
######################################################################################
|
||||
### 3) Specify where CMake can find the libraries
|
||||
######################################################################################
|
||||
|
||||
# Link with the EO library directory, only if you need it
|
||||
LINK_DIRECTORIES(${PARADISEO_EO_BIN_DIR}/lib)
|
||||
|
||||
# Link with the MOEO library directory, only if you need it
|
||||
LINK_DIRECTORIES(${PARADISEO_MOEO_BIN_DIR}/lib)
|
||||
|
||||
# Link with the PEO library directory, only if you need it
|
||||
LINK_DIRECTORIES(${PARADISEO_PEO_BIN_DIR}/lib)
|
||||
|
||||
######################################################################################
|
||||
|
||||
|
||||
|
||||
######################################################################################
|
||||
### 4) Define your target: just an executable here
|
||||
######################################################################################
|
||||
|
||||
ADD_EXECUTABLE(mySimpleApplication mySimpleApplication.cpp)
|
||||
|
||||
######################################################################################
|
||||
|
||||
|
||||
######################################################################################
|
||||
### 5) Link the librairies for your executable
|
||||
######################################################################################
|
||||
|
||||
# Only if you need to link libraries
|
||||
TARGET_LINK_LIBRARIES(mySimpleApplication eo eoutils)
|
||||
|
||||
######################################################################################
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
82
branches/utilities/tags/mySimpleApplication-1.0/README
Normal file
82
branches/utilities/tags/mySimpleApplication-1.0/README
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
==========================================================================================
|
||||
INFORMATION
|
||||
==========================================================================================
|
||||
|
||||
PARADISEO (PARallel and DIStributed Evolving Objects) is a white-box object-oriented
|
||||
framework dedicated to the flexible design of metaheursitics.
|
||||
|
||||
This package is especially designed to help anyone who uses ParadisEO to build his
|
||||
own application.
|
||||
|
||||
|
||||
==========================================================================================
|
||||
RELEASE
|
||||
==========================================================================================
|
||||
|
||||
The current release of the "mySimpleApplication" package is 1.0.
|
||||
|
||||
|
||||
==========================================================================================
|
||||
WEBSITE
|
||||
==========================================================================================
|
||||
|
||||
Please visit our website at http://paradiseo.gforge.inria.fr.
|
||||
|
||||
|
||||
==========================================================================================
|
||||
BUGS
|
||||
==========================================================================================
|
||||
|
||||
You can find the ParadisEO's bug tracker at:
|
||||
|
||||
http://gforge.inria.fr/tracker/?atid=663&group_id=145&func=browse
|
||||
|
||||
|
||||
==========================================================================================
|
||||
CONTACT
|
||||
==========================================================================================
|
||||
|
||||
For any question or for help, please write us at: paradiseo-help@lists.gforge.inria.fr.
|
||||
|
||||
|
||||
==========================================================================================
|
||||
DEPENDENCIES
|
||||
==========================================================================================
|
||||
|
||||
ParadisEO uses EO, a templates-based, ANSI-C++ compliant evolutionary computation library.
|
||||
It contains classes for almost any kind of evolutionary computation you might come up to - at
|
||||
least for the ones we could think of.
|
||||
EO Website:
|
||||
http://eodev.sourceforge.net/.
|
||||
EO is distributed under the GNU Lesser General Public License:
|
||||
http://www.gnu.org/copyleft/lesser.html
|
||||
|
||||
|
||||
==========================================================================================
|
||||
LICENSE
|
||||
==========================================================================================
|
||||
|
||||
ParadisEO is governed by the CeCILL license under French law and
|
||||
abiding by the rules of distribution of free software. You can use,
|
||||
modify and/ or redistribute the software under the terms of the CeCILL
|
||||
license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
"http://www.cecill.info".
|
||||
|
||||
As a counterpart to the access to the source code and rights to copy,
|
||||
modify and redistribute granted by the license, users are provided only
|
||||
with a limited warranty and the software's author, the holder of the
|
||||
economic rights, and the successive licensors have only limited liability.
|
||||
|
||||
In this respect, the user's attention is drawn to the risks associated
|
||||
with loading, using, modifying and/or developing or reproducing the
|
||||
software by the user in light of its specific status of free software,
|
||||
that may mean that it is complicated to manipulate, and that also
|
||||
therefore means that it is reserved for developers and experienced
|
||||
professionals having in-depth computer knowledge. Users are therefore
|
||||
encouraged to load and test the software's suitability as regards their
|
||||
requirements in conditions enabling the security of their systems and/or
|
||||
data to be ensured and, more generally, to use and operate it in the
|
||||
same conditions as regards security.
|
||||
The fact that you are presently reading this means that you have had
|
||||
knowledge of the CeCILL license and that you accept its terms.
|
||||
|
||||
326
branches/utilities/tags/mySimpleApplication-1.0/index.html
Normal file
326
branches/utilities/tags/mySimpleApplication-1.0/index.html
Normal file
|
|
@ -0,0 +1,326 @@
|
|||
|
||||
<!DOCTYPE html
|
||||
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<!--
|
||||
//
|
||||
// 2005-12-01 ksc Initial release
|
||||
//
|
||||
-->
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>Build My Simple Application</title>
|
||||
|
||||
<link rel='stylesheet' title="A Bit Modern" href='http://paradiseo.gforge.inria.fr/pub/skins/abitmodern/inria.css' type='text/css' />
|
||||
<script type="text/javascript">
|
||||
<!-- //
|
||||
browser_type = navigator.appName;
|
||||
if (browser_type == "Microsoft Internet Explorer") {
|
||||
document.write("<link href='http://paradiseo.gforge.inria.fr/pub/skins/abitmodern/inria-ie.css' rel='stylesheet' type='text/css' />");
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<!-- Logo -->
|
||||
<table border="0" width="100%" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td><a href="/"><img src="http://paradiseo.gforge.inria.fr/pub/skins/abitmodern/images/logo.png" border="0" alt="" width="198" height="52" /></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table border="0" width="100%" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td align="left" bgcolor="#E0E0E0" width="9"><img src="http://paradiseo.gforge.inria.fr/pub/skins/abitmodern/images/tabs/topleft.png" height="9" width="9" alt="" /></td>
|
||||
<td bgcolor="#E0E0E0" width="30"><img src="http://paradiseo.gforge.inria.fr/pub/skins/abitmodern/images/clear.png" width="30" height="1" alt="" /></td>
|
||||
<td align="right" bgcolor="#E0E0E0" width="9"><img src="http://paradiseo.gforge.inria.fr/pub/skins/abitmodern/images/tabs/topright.png" height="9" width="9" alt="" /></td>
|
||||
</tr>
|
||||
|
||||
<!-- Outer body row -->
|
||||
<tr>
|
||||
<td bgcolor="#E0E0E0"><img src="http://paradiseo.gforge.inria.fr/pub/skins/abitmodern/images/clear.png" width="10" height="1" alt="" /></td>
|
||||
<td valign="top" width="100%" bgcolor="#E0E0E0" >
|
||||
|
||||
<!-- Inner Tabs / Shell -->
|
||||
<table border="0" width="100%" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td align="left" bgcolor="#ffffff" width="9"><img src="http://paradiseo.gforge.inria.fr/pub/skins/abitmodern/images/tabs/topleft-inner.png" height="9" width="9" alt="" /></td>
|
||||
<td bgcolor="#ffffff"><img src="http://paradiseo.gforge.inria.fr/pub/skins/abitmodern/images/clear.png" width="1" height="1" alt="" /></td>
|
||||
<td align="right" bgcolor="#ffffff" width="9"><img src="http://paradiseo.gforge.inria.fr/pub/skins/abitmodern/images/tabs/topright-inner.png" height="9" width="9" alt="" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td bgcolor="#ffffff"><img src="http://paradiseo.gforge.inria.fr/pub/skins/abitmodern/images/clear.png" width="10" height="1" alt="" /></td>
|
||||
<td valign="top" width="100%" bgcolor="white">
|
||||
|
||||
<!-- -->
|
||||
<!-- BODY -->
|
||||
<!-- -->
|
||||
|
||||
|
||||
<div id='head'>
|
||||
<div id='logo'><img src="../img/paradisEO_small.png"/></div>
|
||||
<div id='page-title'>Paradiseo</div>
|
||||
<!--div id='page-subtitle'>BuildMySimpleApplication</div-->
|
||||
<div id='page-actions'><ul><li class='browse'><a accesskey='' class='selflink' href='http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.BuildMySimpleApplication'>View</a>
|
||||
</li><li class='edit'><a accesskey='e' rel='nofollow' class='wikilink' href='http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.BuildMySimpleApplication?action=edit'>Edit</a>
|
||||
</li><li class='diff'><a accesskey='h' rel='nofollow' class='wikilink' href='http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.BuildMySimpleApplication?action=diff'>History</a>
|
||||
</li><li class='upload'><a accesskey='ak_attach' rel='nofollow' class='wikilink' href='http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.BuildMySimpleApplication?action=upload'>Attach</a>
|
||||
</li><li class='print'><a accesskey='' rel='nofollow' class='wikilink' href='http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.BuildMySimpleApplication?action=print'>Print</a>
|
||||
</li></ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id='content'>
|
||||
<div id='col-left'>
|
||||
<!--PageLeftFmt-->
|
||||
<div id='sidebar'><p class='sidehead'> <strong><a class='wikilink' href='http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.Home'>Home</a></strong>
|
||||
</p><ul><li> <a class='wikilink' href='http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.News'>> News</a>
|
||||
</li><li> <a class='wikilink' href='http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.AssociatedEvents'>> Associated events</a>
|
||||
</li></ul><p class='vspace sidehead'> <strong><a class='wikilink' href='http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.Documentation'>Documentation</a></strong>
|
||||
</p><ul><li><a class='wikilink' href='http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.API'>> API doc</a>
|
||||
</li><li><a class='wikilink' href='http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.DesignConcepts'>> Design concepts</a>
|
||||
</li><li><a class='wikilink' href='http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.Tutorials'>> Tutorials</a>
|
||||
</li><li><a class='wikilink' href='http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.FAQ'>> FAQ</a>
|
||||
</li><li><a class='urllink' href='http://gforge.inria.fr/forum/?group_id=145' rel='nofollow'>> Forum</a>
|
||||
</li><li><a class='wikilink' href='http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.MailingList'>> Mailing lists</a>
|
||||
</li><li><a class='urllink' href='http://gforge.inria.fr/tracker/?atid=663&group_id=145&func=browse' rel='nofollow'>> Bug tracking</a>
|
||||
</li></ul><p class='vspace sidehead'> <strong><a class='wikilink' href='http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.Download'>Download</a></strong>
|
||||
</p>
|
||||
<p class='vspace sidehead'> <strong><a class='wikilink' href='http://paradiseo.gforge.inria.fr/index.php?n=Contributions.Index'>Contribution repository</a></strong>
|
||||
</p>
|
||||
<p class='vspace sidehead'> <strong><a class='wikilink' href='http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.Publications'>Publi & appli</a></strong>
|
||||
</p>
|
||||
<p class='vspace sidehead'> <strong><a class='wikilink' href='http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.Team'>Team</a></strong>
|
||||
</p>
|
||||
<p class='vspace'><span style='display: none;'> <strong><a class='wikilink' href='http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.Applications'>Applications</a></strong> </span>
|
||||
<br /><span style='display: none;'> sidehead <strong><a class='wikilink' href='http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.Features'>Features</a></strong> </span>
|
||||
<br /><span style='display: none;'> sidehead <strong><a class='wikilink' href='http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.License'>License</a></strong> </span>
|
||||
<br /><span style='display: none;'> sidehead<strong><a class='wikilink' href='http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.Contact'>Contact</a></strong> </span>
|
||||
</p>
|
||||
<p class='vspace' style='text-align: right;'> <span style='font-size:83%'><a class='wikilink' href='http://paradiseo.gforge.inria.fr/index.php?n=Site.SideBar?action=edit'>edit</a></span>
|
||||
</p>
|
||||
</div>
|
||||
<!--/PageLeftFmt-->
|
||||
</div>
|
||||
<div id='col-right'>
|
||||
<!--PageText-->
|
||||
<div id='wikitext'>
|
||||
<h1><big>Build a simple application using <span class='wikiword'>ParadisEO</span></big></h1>
|
||||
<h2><big>Introduction</big></h2>
|
||||
<p>There are many steps required to produce a <span class='wikiword'>ParadisEO</span>-based program. As <span class='wikiword'>ParadisEO</span> is a C++ library, any "main" file containing the basic instructions of your program is expected to be first <strong>compiled</strong>. The way the program should be compiled depends on the environment. For example on Unix platforms, some "Makefiles" allow an automatic compilation of a C++ source file and the generation of the "makefiles" themselves is achieved by <a class='urllink' href='http://www.cmake.org/' rel='nofollow'>CMake</a>. <span class='wikiword'>CMake</span> manages the software compilation process and it can be used with several generators:
|
||||
</p>
|
||||
<div class='vspace'></div><dl><dd><ul><li><strong><span style='color: blue;'>Visual Studio 8 2005 </span></strong> (Win32 + Win64) projects
|
||||
</li><li><strong><span style='color: blue;'>Visual Studio 7 .NET 2003 </span></strong> projects
|
||||
</li><li><strong><span style='color: blue;'>Visual Studio 7 and 6</span></strong> projects
|
||||
</li><li><strong><span style='color: blue;'><span class='wikiword'>NMake</span></span></strong> Makefiles
|
||||
</li><li><strong><span style='color: blue;'><span class='wikiword'>MinGW</span></span></strong> Makefiles
|
||||
</li><li><strong><span style='color: blue;'>Borland</span></strong> Makefiles
|
||||
</li><li><strong><span style='color: blue;'><span class='wikiword'>KDevelop</span></span></strong> projects
|
||||
</li><li><strong><span style='color: blue;'>Unix</span></strong> Makefiles
|
||||
</li><li><strong><span style='color: blue;'>Xcode</span></strong> Projects
|
||||
</li><li><strong><span style='color: blue;'>MSYS</span></strong> Makefiles
|
||||
</li><li><strong><span style='color: blue;'><span class='wikiword'>WMake</span></span></strong> Makefiles
|
||||
</li></ul></dd></dl><p class='vspace'>A package containing all the required files has been developped for any user who wants to build his own application easily. In this case, we suppose this application to be only made of a "main.cpp" file (no specific components). The content of the package is pre-filled so that a user has just to paste his algorithm in the cpp-file and change one variable.
|
||||
</p>
|
||||
<div class='vspace'></div><h2><big>"mySimpleApplication" package's content</big></h2>
|
||||
<p>The package contains the following files:
|
||||
</p>
|
||||
<div class='vspace'></div><ul><li><strong>install.cmake</strong>: Contains variables that specify where <span class='wikiword'>ParadisEO</span> has been installed.
|
||||
</li><li><strong>mySimpleApplication.cpp</strong> : A C++ main containing the algorithm
|
||||
</li><li><strong>README</strong>: Contains basic information
|
||||
</li><li><strong><span class='wikiword'>CMakeLists</span>.txt</strong>: The only <span class='wikiword'>CMake</span> configuration file
|
||||
</li><li><strong>index.html</strong>: The content of the current web-page
|
||||
</li></ul><p class='vspace'><span style='color: red;'><strong>It can be downloaded from </span><a class='wikilink' href='http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.Here'>here</a></strong>.
|
||||
</p>
|
||||
<div class='vspace'></div><h2><big>Adapt the package</big></h2>
|
||||
<p>Here, we give the steps to custom the package for any application.
|
||||
</p>
|
||||
<p class='vspace'><em>Note: For further help about <span class='wikiword'>CMake</span>, see the <a class='urllink' href='http://www.cmake.org/HTML/Documentation.html' rel='nofollow'>CMake documentation</a></em>.
|
||||
</p>
|
||||
<p class='vspace'><br />
|
||||
</p><div style='color: black; font-size: 8pt; background-color: #99CCFF;' >
|
||||
<h3><ins>Step 1 : Develop your algorithm</ins></h3>
|
||||
</div>
|
||||
<p>You just have to edit the <strong><em>mySimpleApplication.cpp</em></strong> and implement your code.
|
||||
</p>
|
||||
<div class='vspace'></div><div style='color: black; font-size: 8pt; background-color: #CCFFCC;' >
|
||||
<ol><li>include <iostream>
|
||||
</li></ol><p>/// #include < file >
|
||||
</p>
|
||||
<p class='vspace'>/// Use functions from namespace std ?
|
||||
<br />using namespace std;
|
||||
</p>
|
||||
<p class='vspace'>int main(int argc, char **argv)
|
||||
<br />{
|
||||
</p><pre> /// Your code ...
|
||||
cout << "I'm a simple application linked with <span class='wikiword'>ParadisEO</span>" << endl ;
|
||||
|
||||
return 1;
|
||||
</pre><p class='vspace'>}'
|
||||
</p></div>
|
||||
<p class='vspace'><br />
|
||||
</p><div style='color: black; font-size: 8pt; background-color: #99CCFF;' >
|
||||
<h3><ins>Step 2 : Change the <span class='wikiword'>ParadisEO</span>-path in "install.cmake"</ins></h3>
|
||||
</div>
|
||||
<p class='vspace'>When <span class='wikiword'>ParadisEO</span> has been configured in the standard way (the global package containing all the modules has been installed), just replace "myDirectory" by the absolute path to <span class='wikiword'>ParadisEO</span> the section n°1:
|
||||
</p>
|
||||
<div class='vspace'></div><div style='color: black; font-size: 8pt; background-color: #ffffcc;' >
|
||||
<dl><dd><dl><dd><dl><dd><div class='indent'>SET(PARADISEO_DIR <strong>"myDirectory"</strong> CACHE PATH "<span class='wikiword'>ParadisEO</span> directory" FORCE)
|
||||
</div></dd></dl></dd></dl></dd></dl></div>
|
||||
<p class='vspace'>... replaced (for example) by:
|
||||
</p>
|
||||
<div class='vspace'></div><div style='color: black; font-size: 8pt; background-color: #ffffcc;' >
|
||||
<dl><dd><dl><dd><dl><dd><div class='indent'>SET(PARADISEO_DIR <strong>"/home/john/paradiseo-ix86-1.0"</strong> CACHE PATH "<span class='wikiword'>ParadisEO</span> directory" FORCE)
|
||||
</div></dd></dl></dd></dl></dd></dl></div>
|
||||
<p class='vspace'><span style='color: red;'><strong>Warning: Under Windows, the path to <span class='wikiword'>ParadisEO</span> must be given with double-backslashes</strong>:</span>
|
||||
</p><div style='color: black; font-size: 8pt; background-color: #ffcc33;' >
|
||||
<p>SET(PARADISEO_DIR <strong>"E:<big>\\</big>soft<big>\\</big>paradiseo-ix86-1.0"</strong> CACHE PATH "<span class='wikiword'>ParadisEO</span> directory" FORCE)
|
||||
</p></div>
|
||||
<p class='vspace'><span style='color: green;'><strong>If you have simply installed <span class='wikiword'>ParadisEO</span> using the provided install script, go to the next step.</strong></span>
|
||||
</p>
|
||||
<p class='vspace'><strong><em>Advanced configuration</em></strong>: <br />
|
||||
<br />If the modules of <span class='wikiword'>ParadisEO</span> have been deployed separately, the path to each module (EO, MO, MOEO and PEO) can also be specified. Here's an example for EO, <em>PARADISEO_EO_SRC_DIR</em> refers to the EO sources, <em>PARADISEO_EO_BIN_DIR</em> is the directory where EO has been compiled.
|
||||
</p>
|
||||
<div class='vspace'></div><div style='color: black; font-size: 9pt; background-color: #ffffcc;' >
|
||||
<dl><dd><dl><dd><dl><dd><div class='indent'>SET(PARADISEO_EO_SRC_DIR "${PARADISEO_DIR}/paradiseo-eo" CACHE PATH
|
||||
<dl><dd><dl><dd><dl><dd><dl><dd><dl><dd><div class='indent'>"<span class='wikiword'>ParadisEO</span>-EO source directory" FORCE)
|
||||
</div></dd></dl></dd></dl></dd></dl></dd></dl></dd></dl></div><div class='indent'>SET(PARADISEO_EO_BIN_DIR "${PARADISEO_DIR/paradiseo-eo/build" CACHE PATH
|
||||
<dl><dd><dl><dd><dl><dd><dl><dd><dl><dd><div class='indent'>"<span class='wikiword'>ParadisEO</span>-EO binary directory" FORCE)
|
||||
</div></dd></dl></dd></dl></dd></dl></dd></dl></dd></dl></div></dd></dl></dd></dl></dd></dl></div>
|
||||
<p class='vspace'>A third section is added to automatically set the flags required when using the package under Visual Studio 8. It has no effect for all the other cases.
|
||||
</p>
|
||||
<p class='vspace'><br />
|
||||
</p><div style='color: black; font-size: 8pt; background-color: #99CCFF;' >
|
||||
<h3><ins>Step 3 : Adapt the <span class='wikiword'>CMakeLists</span>.txt</ins></h3>
|
||||
</div>
|
||||
<div class='vspace'></div><ul><li>Give your project name in the section n°1 :
|
||||
</li></ul><div class='vspace'></div><div style='color: black; font-size: 9pt; background-color: #ffffcc;' >
|
||||
<dl><dd><dl><dd><dl><dd><div class='indent'>PROJECT(mySimpleApplication)
|
||||
</div></dd></dl></dd></dl></dd></dl></div>
|
||||
<div class='vspace'></div><ul><li>Specify the source directories to include
|
||||
</li></ul><div class='vspace'></div><div style='color: black; font-size: 9pt; background-color: #ffffcc;' >
|
||||
<dl><dd><dl><dd><dl><dd><div class='indent'>INCLUDE_DIRECTORIES(${PARADISEO_EO_SRC_DIR}/src
|
||||
<dl><dd><dl><dd><dl><dd><dl><dd><dl><dd><dl><dd><dl><dd><dl><dd><div class='indent'>${PARADISEO_MO_SRC_DIR}/src
|
||||
</div><div class='indent'>${PARADISEO_MOEO_SRC_DIR}/src
|
||||
</div><div class='indent'>${PARADISEO_PEO_SRC_DIR}/src)
|
||||
</div></dd></dl></dd></dl></dd></dl></dd></dl></dd></dl></dd></dl></dd></dl></dd></dl></div></dd></dl></dd></dl></dd></dl></div>
|
||||
<p class='vspace'>For example, if you only use <span class='wikiword'>ParadisEO</span>-EO sources, just set:
|
||||
</p><div style='color: black; font-size: 9pt; background-color: #ffffcc;' >
|
||||
<dl><dd><dl><dd><dl><dd><div class='indent'>INCLUDE_DIRECTORIES(${PARADISEO_EO_SRC_DIR}/src
|
||||
</div></dd></dl></dd></dl></dd></dl></div>
|
||||
<div class='vspace'></div><ul><li>Specify where are the libraries (for the linker)
|
||||
</li></ul><div class='vspace'></div><div style='color: black; font-size: 9pt; background-color: #ffffcc;' >
|
||||
<dl><dd><dl><dd><dl><dd><div class='indent'>LINK_DIRECTORIES(${PARADISEO_EO_BIN_DIR}/lib)
|
||||
</div><div class='indent'>LINK_DIRECTORIES(${PARADISEO_MOEO_BIN_DIR}/lib)
|
||||
</div><div class='indent'>LINK_DIRECTORIES(${PARADISEO_PEO_BIN_DIR}/lib)
|
||||
</div></dd></dl></dd></dl></dd></dl></div>
|
||||
<p class='vspace'>For example, if you only use <span class='wikiword'>ParadisEO</span>-EO and <span class='wikiword'>ParadisEO</span>-MOEO libraries, just set:
|
||||
</p><div style='color: black; font-size: 9pt; background-color: #ffffcc;' >
|
||||
<dl><dd><dl><dd><dl><dd><div class='indent'>LINK_DIRECTORIES(${PARADISEO_EO_BIN_DIR}/lib)
|
||||
</div><div class='indent'>LINK_DIRECTORIES(${PARADISEO_MOEO_BIN_DIR}/lib)
|
||||
</div></dd></dl></dd></dl></dd></dl></div>
|
||||
<div class='vspace'></div><ul><li>Define your executable: give the executable name + the name of the cpp file
|
||||
</li></ul><div style='color: black; font-size: 9pt; background-color: #ffffcc;' >
|
||||
<dl><dd><dl><dd><dl><dd><div class='indent'>ADD_EXECUTABLE(mySimpleApplication mySimpleApplication.cpp)
|
||||
</div></dd></dl></dd></dl></dd></dl></div>
|
||||
<p class='vspace'>Important: If you change the name of the cpp file "mySimpleApplication.cpp", don't forget to give the right name for the ADD_EXECUTABLE command.
|
||||
</p>
|
||||
<div class='vspace'></div><ul><li>Specify the libraries that should be linked to build your executable (for example, for Unix Makefiles, the option used to give the linked libraries is "-L < a path to the lib>")
|
||||
</li></ul><div style='color: black; font-size: 9pt; background-color: #ffffcc;' >
|
||||
<dl><dd><dl><dd><dl><dd><div class='indent'>TARGET_LINK_LIBRARIES(mySimpleApplication lib1 lib2 ...)
|
||||
</div></dd></dl></dd></dl></dd></dl></div>
|
||||
<p class='vspace'>An example using the "eo" and "eoutils" of <span class='wikiword'>ParadisEO</span>-EO is:
|
||||
</p><div style='color: black; font-size: 9pt; background-color: #ffffcc;' >
|
||||
<dl><dd><dl><dd><dl><dd><div class='indent'>TARGET_LINK_LIBRARIES(mySimpleApplication <strong>eo eoutils</strong>)
|
||||
</div></dd></dl></dd></dl></dd></dl></div>
|
||||
<p class='vspace'>Important: If you change the name of the executable (see a few lines above), don't forget to replace <strong><em>"mySimpleApplication</em></strong> " by the right name in:
|
||||
</p>
|
||||
<div class='vspace'></div><div style='color: black; font-size: 9pt; background-color: #ffffcc;' >
|
||||
<dl><dd><dl><dd><dl><dd><div class='indent'>TARGET_LINK_LIBRARIES(<strong><em>mySimpleApplication</em></strong> eo eoutils)
|
||||
</div></dd></dl></dd></dl></dd></dl></div>
|
||||
<p class='vspace'><br />
|
||||
</p><div style='color: black; font-size: 8pt; background-color: #99CCFF;' >
|
||||
<h3><ins>Step 4 : Launch the build process and compile</ins></h3>
|
||||
</div>
|
||||
<p class='vspace'>There are two ways to build and compile your program:
|
||||
</p><div class='indent'>- Compile it in the source directory, that means where your main cpp file is
|
||||
</div><div class='indent'>- Compile it somewhere else in order to have on one hand the source files, on the other the rest (makefiles of configuration file, ".o" files, the executable itself). This way is called <strong><em> out-source-build</em></strong> and is highly recommended.
|
||||
</div><p class='vspace'>Moreover, you should know in advance the kind of generator you want <span class='wikiword'>CMake</span> to use.
|
||||
</p>
|
||||
<p class='vspace'>For an "out-source-build", let's suppose your application's source file is located in <span style='color: green;'> <strong>/home/john/mySimpleApplication</strong></span> and you want to build it in <span style='color: red;'> <strong>/home/john/mySimpleApplication/build</strong></span> for <strong><span style='color: blue;'>Visual Studio 8 2005 </span></strong> :
|
||||
</p>
|
||||
<p class='vspace'>(<em>Note: The "build" directory exists if the archive, we would advise you to build your program in it</em>.)
|
||||
</p>
|
||||
<p class='vspace'>From <strong><span style='color: red;'>/home/john/mySimpleApplication/build</span></strong>, simply run (from a terminal/console)
|
||||
</p><div style='color: black; font-size: 8pt; background-color: #ffffcc;' >
|
||||
<dl><dd><dl><dd><div class='indent'><strong>cmake <span style='color: green;'>/home/john/mySimpleApplication</span> -G<span style='color: blue;'>"Visual Studio 8 2005"</span></strong>
|
||||
</div></dd></dl></dd></dl></div>
|
||||
<p class='vspace'>The generic call for <span class='wikiword'>CMake</span> is:
|
||||
</p><div style='color: black; font-size: 8pt; background-color: #ffffcc;' >
|
||||
<dl><dd><dl><dd><div class='indent'><strong>cmake <span style='color: green;'><path to the sources> </span> -G<span style='color: blue;'>"<generator name>"</span></strong>
|
||||
</div></dd></dl></dd></dl></div>
|
||||
<p class='vspace'>Then :
|
||||
</p>
|
||||
<p class='vspace'>- Go in <strong><span style='color: red;'>/home/john/mySimpleApplication/build</span></strong>
|
||||
<br />- Compile your program using the appropriate tool. Examples:
|
||||
</p><dl><dd><dl><dd><div class='indent'>--> If you chose the Unix Makefiles generator, enter "make"
|
||||
</div><div class='indent'>--> If you chose Visual Studio generator, open the generated solution/project and compile
|
||||
</div><div class='indent'>--> ...
|
||||
</div></dd></dl></dd></dl>
|
||||
<p class='vspace'><br />
|
||||
<br /><strong> For further help and information, feel free to send us an email at <a class='urllink' href='mailto:paradiseo-help@lists.gforge.inria.fr' rel='nofollow'>paradiseo-help@lists.gforge.inria.fr</a> </strong>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!--PageFooterFmt-->
|
||||
<div id='footer'>abitmodernCopyright
|
||||
    
|
||||
|
||||
|
||||
<!--a href="http://paradiseo.gforge.inria.fr/index.php?n=Paradiseo.BuildMySimpleApplication?action=pdf" title="Read this web page on format .pdf" ><acronym title="Portable Document Format" lang="en">PDF version </acronym></a-->
|
||||
|
||||
</div> <!--/PageFooterFmt-->
|
||||
</div>
|
||||
<div class='clearfix'></div>
|
||||
</div>
|
||||
<div class='clearfix'></div>
|
||||
|
||||
<!-- -->
|
||||
<!-- END BODY -->
|
||||
<!-- -->
|
||||
|
||||
|
||||
</td>
|
||||
<td width="10" bgcolor="#ffffff"><img src="http://paradiseo.gforge.inria.fr/pub/skins/abitmodern/images/clear.png" width="2" height="1" alt="" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" bgcolor="#E0E0E0" width="9"><img src="http://paradiseo.gforge.inria.fr/pub/skins/abitmodern/images/tabs/bottomleft-inner.png" height="11" width="11" alt="" /></td>
|
||||
<td bgcolor="#ffffff"><img src="http://paradiseo.gforge.inria.fr/pub/skins/abitmodern/images/clear.png" width="1" height="1" alt="" ></td>
|
||||
<td align="right" bgcolor="#E0E0E0" width="9"><img src="http://paradiseo.gforge.inria.fr/pub/skins/abitmodern/images/tabs/bottomright-inner.png" height="11" width="11" alt="" /></td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
</TABLE>
|
||||
|
||||
|
||||
</td>
|
||||
<td width="10" bgcolor="#E0E0E0"><img src="http://paradiseo.gforge.inria.fr/pub/skins/abitmodern/images/clear.png" width="2" height="1" alt="" /></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align="left" bgcolor="#E0E0E0" width="9"><img src="http://paradiseo.gforge.inria.fr/pub/skins/abitmodern/images/tabs/bottomleft.png" height="9" width="9" alt="" /></td>
|
||||
<td bgcolor="#E0E0E0"><img src="http://paradiseo.gforge.inria.fr/pub/skins/abitmodern/images/clear.png" width="1" height="1" alt="" /></td>
|
||||
<td align="right" bgcolor="#E0E0E0" width="9"><img src="http://paradiseo.gforge.inria.fr/pub/skins/abitmodern/images/tabs/bottomright.png" height="9" width="9" alt="" /></td>
|
||||
|
||||
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
|
||||
|
||||
#########################################################################################################
|
||||
# 1) ParadisEO install: SIMPLE Configuration
|
||||
#########################################################################################################
|
||||
|
||||
# Here, just specify PARADISEO_DIR : the directory where ParadisEO has been installed
|
||||
SET(PARADISEO_DIR "myDirectory" CACHE PATH "ParadisEO directory" FORCE)
|
||||
|
||||
#########################################################################################################
|
||||
|
||||
|
||||
|
||||
#########################################################################################################
|
||||
# 2) ParadisEO install: ADVANCED Configuration
|
||||
#########################################################################################################
|
||||
|
||||
SET(PARADISEO_EO_SRC_DIR "${PARADISEO_DIR}/paradiseo-eo" CACHE PATH "ParadisEO-EO source directory" FORCE)
|
||||
SET(PARADISEO_EO_BIN_DIR "${PARADISEO_DIR}/paradiseo-eo/build" CACHE PATH "ParadisEO-EO binary directory" FORCE)
|
||||
|
||||
SET(PARADISEO_MO_SRC_DIR "${PARADISEO_DIR}/paradiseo-mo" CACHE PATH "ParadisEO-MO source directory" FORCE)
|
||||
SET(PARADISEO_MO_BIN_DIR "${PARADISEO_DIR}/paradiseo-mo/build" CACHE PATH "ParadisEO-MO binary directory" FORCE)
|
||||
|
||||
SET(PARADISEO_MOEO_SRC_DIR "${PARADISEO_DIR}/paradiseo-moeo" CACHE PATH "ParadisEO-MOEO source directory" FORCE)
|
||||
SET(PARADISEO_MOEO_BIN_DIR "${PARADISEO_DIR}/paradiseo-moeo/build" CACHE PATH "ParadisEO-MOEO binary directory" FORCE)
|
||||
|
||||
SET(PARADISEO_PEO_SRC_DIR "${PARADISEO_DIR}/paradiseo-peo" CACHE PATH "ParadisEO-PEO source directory" FORCE)
|
||||
SET(PARADISEO_PEO_BIN_DIR "${PARADISEO_DIR}/paradiseo-peo/build" CACHE PATH "ParadisEO-PEO binary directory" FORCE)
|
||||
#########################################################################################################
|
||||
|
||||
|
||||
|
||||
######################################################################################
|
||||
### 3) OPTIONNAL: Windows advanced config - especially for Microsoft Visual Studio 8
|
||||
######################################################################################
|
||||
|
||||
IF(CMAKE_CXX_COMPILER MATCHES cl)
|
||||
IF(NOT WITH_SHARED_LIBS)
|
||||
IF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005")
|
||||
SET(CMAKE_CXX_FLAGS "/nologo /W3 /Gy")
|
||||
SET(CMAKE_CXX_FLAGS_DEBUG "/MTd /Z7 /Od")
|
||||
SET(CMAKE_CXX_FLAGS_RELEASE "/MT /O2")
|
||||
SET(CMAKE_CXX_FLAGS_MINSIZEREL "/MT /O2")
|
||||
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MTd /Z7 /Od")
|
||||
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:CONSOLE")
|
||||
|
||||
ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005")
|
||||
ENDIF(NOT WITH_SHARED_LIBS)
|
||||
ENDIF(CMAKE_CXX_COMPILER MATCHES cl)
|
||||
######################################################################################
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
|
||||
#include <iostream>
|
||||
// #include < file >
|
||||
|
||||
// Use functions from namespace std ?
|
||||
using namespace std;
|
||||
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
// Your code ...
|
||||
cout << "I'm a simple application linked with ParadisEO" << endl ;
|
||||
|
||||
return 1;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
If the installation is successfull:
|
||||
-> You are now to compile with the appropriated tool. At the top level of each module you should end-up with a "build" directory containing the configuration files.
|
||||
|
||||
In any case of error:
|
||||
-> Make sure to have the program corresponding to the generator you have selected.
|
||||
|
||||
|
||||
For more information or for help, please write us at:
|
||||
paradiseo-help@lists.gforge.inria.fr
|
||||
|
||||
|
||||
INRIA Dolphin Team
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 184 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 5.6 KiB |
|
|
@ -0,0 +1,439 @@
|
|||
; ParadisEO install script
|
||||
; Author: Thomas Legrand
|
||||
|
||||
#define generatorWizardPageIndex= 7
|
||||
#define launchBuildWizardPageIndex= 12
|
||||
|
||||
//***************************************************************************************//
|
||||
//********** ParadisEO Specific strategy - The rest of the code is generic ************* //
|
||||
//***************************************************************************************//
|
||||
|
||||
// where will the installer be created ?
|
||||
#define OutputPath="E:\software\paradisEO\windows installer\compiler output"
|
||||
|
||||
// installer source info
|
||||
#define ParadiseoSourceTag="E:\software\paradisEO\repository\tags\paradiseo-ix86-1.0\*"
|
||||
#define EoTag="E:\software\eo\repository\tag_v_peo_1_0\*"
|
||||
|
||||
// installer description info
|
||||
#define Version="1.0"
|
||||
#define VersionMain="ParadisEO-ix86-1.0"
|
||||
#define InstallerName="paradiseo-1.0-win32-preinstaller"
|
||||
#define ApplicationName="ParadisEO"
|
||||
#define SetupIconPath="E:\software\paradisEO\repository\utilities\trunk\windows\img\paradiseo.ico"
|
||||
#define WizardMainImage="E:\software\paradisEO\repository\utilities\trunk\windows\img\paradiseo.bmp"
|
||||
#define SkipParadiseoFiles="lib,installParadisEO.sh,paradiseo-peo,.mpd.conf"
|
||||
#define LicenceFile="E:\software\paradisEO\repository\trunk\LICENSE"
|
||||
#define FinalInstructions="E:\software\paradisEO\repository\utilities\trunk\windows\final_instructions.txt"
|
||||
|
||||
// additionnal info
|
||||
#define Company="INRIA"
|
||||
#define AboutUS="INRIA Futurs Dolphin Project-team"
|
||||
#define PublisherURL="http://paradiseo.gforge.inria.fr"
|
||||
#define SupportURL="http://paradiseo.gforge.inria.fr"
|
||||
#define UpdatesURL="http://paradiseo.gforge.inria.fr"
|
||||
|
||||
//***************************************************************************************//
|
||||
|
||||
[Setup]
|
||||
AppName={#ApplicationName}
|
||||
AppVerName={#VersionMain}
|
||||
AppPublisher={#AboutUS}
|
||||
AppPublisherURL={#PublisherURL}
|
||||
AppSupportURL={#SupportURL}
|
||||
AppUpdatesURL={#UpdatesURL}
|
||||
DefaultDirName={pf}\{#ApplicationName}
|
||||
DefaultGroupName={#ApplicationName}
|
||||
LicenseFile={#LicenceFile}
|
||||
OutputDir={#OutputPath}
|
||||
OutputBaseFilename={#InstallerName}
|
||||
Compression=lzma/max
|
||||
SolidCompression=yes
|
||||
WizardImageFile={#WizardMainImage}
|
||||
SetupIconFile={#SetupIconPath}
|
||||
UninstallDisplayName={#ApplicationName}
|
||||
WindowVisible=False
|
||||
RestartIfNeededByRun=False
|
||||
ShowTasksTreeLines=True
|
||||
VersionInfoVersion={#Version}
|
||||
VersionInfoCompany={#Company}
|
||||
VersionInfoDescription={#ApplicationName}
|
||||
VersionInfoTextVersion={#ApplicationName}
|
||||
InfoAfterFile={#FinalInstructions}
|
||||
|
||||
[Languages]
|
||||
Name: "english"; MessagesFile: "compiler:Default.isl"
|
||||
Name: "french"; MessagesFile: "compiler:Languages\French.isl"
|
||||
|
||||
[CustomMessages]
|
||||
english.CMakeMissing=CMake cannot be found on your computer. You must have CMake installed to use ParadisEO.
|
||||
english.FullInstall=Full installation
|
||||
english.CustomInstall=Custom installation
|
||||
english.EoDescription=EO: Evolving Objects: Library for evolutionnary computation
|
||||
english.MoDescription=MO: Moving Objects: Single based metaheuristics computation
|
||||
english.MoeoDescription=MOEO: Multi Objective Evolving Objects
|
||||
english.ErrorOccured=An error has occured
|
||||
english.LaunchingBuildProcess=Launching CMake build process...
|
||||
english.error=Error
|
||||
english.ErrorAbort=Error,abort.
|
||||
english.CannotCompleteInstall=Impossible to complete the install of
|
||||
english.BPFinished=Finished
|
||||
english.BPSuccessfull=The build process has been successfully performed.
|
||||
english.SelectCompiler=Select the program you want to use to compile:
|
||||
english.ChooseGenerator=ParadisEO can be compiled using several generators.
|
||||
english.GenCMakeFiles=Generate CMake configuration files
|
||||
english.BuildProcess=
|
||||
english.NextGenCaption=Click on the 'Next' button to launch the build process and generate the configuration files
|
||||
english.ProcessingCMake=Generating the configuration files...
|
||||
english.DolphinMsg=ParadisEO: An INRIA Dolphin Team project - 2007
|
||||
|
||||
french.CMakeMissing=CMake n'a pas été détecté sur votre ordinateur. CMake doit être installé pour utiliser ParadisEO.
|
||||
french.FullInstall=Installation complète
|
||||
french.CustomInstall=Installation personnalisée
|
||||
french.EoDescription= EO: Evolving Objects: Librairie dédiée aux méthodes évolutionnaires
|
||||
french.MoDescription= MO: Moving Objects: Métaheuristiques à base de solutions uniques
|
||||
french.MoeoDescription= MOEO: Multi Objective Evolving Objects: Module multi-objectif
|
||||
french.ErrorOccured=Une erreur est survenue
|
||||
french.LaunchingBuildProcess=Construction des fichiers de configuration (build process)...
|
||||
french.error=Erreur
|
||||
french.ErrorAbort=Une erreur est survenue, installation annulée.
|
||||
french.CannotCompleteInstall=Impossible de terminer l'installation de
|
||||
french.BPFinished=Fin de la construction des fichiers de configuration
|
||||
french.BPSuccessfull=Succès.
|
||||
french.SelectCompiler=Sélectionnez le programme que vous souhaitez utiliser pour compiler:
|
||||
french.ChooseGenerator=ParadisEO peut être compiler par plusieurs programmes.
|
||||
french.GenCMakeFiles=Générer les fichiers de configuration CMake
|
||||
french.BuildProcess=
|
||||
french.NextGenCaption=Cliquez sur le bouton 'Suivant' pour lancer CMake et générer les fichiers de configuration
|
||||
french.ProcessingCMake=Génération des fichiers de configuration en cours...
|
||||
french.DolphinMsg=ParadisEO: Un projet de l'équipe INRIA Dolphin - 2007
|
||||
|
||||
[Types]
|
||||
Name: "custom"; Description: {cm:CustomInstall}; Flags: iscustom
|
||||
Name: "full"; Description: {cm:FullInstall}
|
||||
|
||||
[Components]
|
||||
Name: eo; Description: {cm:EoDescription}; Types: full custom; Flags: fixed
|
||||
Name: mo; Description:{cm:MoDescription}; Types: full custom;
|
||||
Name: moeo; Description: {cm:MoeoDescription}; Types: full custom;
|
||||
|
||||
[Files]
|
||||
Source: {#ParadiseoSourceTag}; DestDir: "{app}"; Excludes: {#SkipParadiseoFiles} ; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
Source: {#EoTag}; DestDir: "{app}"; Excludes: "*.~*" ; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
|
||||
; SPECIFIC CORRECTION - EO TAG NOT MODIFIED, USED TRUNK SOURCES
|
||||
Source: E:\software\eo\repository\paradiseo-eo\CMakeLists.txt ; DestDir: "{app}\paradiseo-eo"; Excludes: "*.~*" ; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
Source: E:\software\eo\repository\paradiseo-eo\src\utils\pipecom.h; DestDir: "{app}\paradiseo-eo\src\utils"; Excludes: "*.~*" ; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
Source: E:\software\eo\repository\paradiseo-eo\src\utils\pipecom.cpp; DestDir: "{app}\paradiseo-eo\src\utils"; Excludes: "*.~*" ; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
Source: E:\software\eo\repository\paradiseo-eo\src\eoCtrlCContinue.h; DestDir: "{app}\paradiseo-eo\src"; Excludes: "*.~*" ; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
Source: E:\software\eo\repository\paradiseo-eo\src\eoCtrlCContinue.cpp; DestDir: "{app}\paradiseo-eo\src"; Excludes: "*.~*" ; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
|
||||
|
||||
[Code]
|
||||
var
|
||||
GeneratorPage: TWizardPage;
|
||||
BuildProcessPage: TWizardPage;
|
||||
ProgressPage: TOutputProgressWizardPage;
|
||||
GeneratorBox: TNewCheckListBox;
|
||||
Generator: String;
|
||||
ProgressBarLabel: TLabel;
|
||||
ProgressBar: TNewProgressBar;
|
||||
|
||||
|
||||
procedure SetCmakeGenerator();
|
||||
begin
|
||||
if GeneratorBox.Checked[1] then
|
||||
begin
|
||||
Generator:='Visual Studio 8 2005' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[2] then
|
||||
begin
|
||||
Generator:='Visual Studio 8 2005 Win64' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[3] then
|
||||
begin
|
||||
Generator:='Visual Studio 7 .NET 2003' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[4] then
|
||||
begin
|
||||
Generator:='Visual Studio 7' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[5] then
|
||||
begin
|
||||
Generator:='Visual Studio 6' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[6] then
|
||||
begin
|
||||
Generator:='NMake Makefiles' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[7] then
|
||||
begin
|
||||
Generator:='MinGW Makefiles' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[8] then
|
||||
begin
|
||||
Generator:='Borland Makefiles' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[9] then
|
||||
begin
|
||||
Generator:='MSYS Makefiles' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[10] then
|
||||
begin
|
||||
Generator:='Watcom WMake' ;
|
||||
exit;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
function isError(ErrorCode: Integer): Boolean;
|
||||
begin
|
||||
if not (ErrorCode = 0) then
|
||||
begin
|
||||
MsgBox(CustomMessage('ErrorOccured') + ': [code='+ IntToStr(ErrorCode) + ']' , mbCriticalError, mb_Ok);
|
||||
Result:= true;
|
||||
end else begin
|
||||
Result:= false;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
function checkCMakeAvailable(): Integer;
|
||||
var
|
||||
ErrorCode: Integer;
|
||||
FilePath: String;
|
||||
begin
|
||||
// Need the app path
|
||||
FilePath := ExpandConstant('{app}');
|
||||
|
||||
// launch CMake for MOEO
|
||||
ShellExec('open', 'cmake.exe','','', SW_SHOWNORMAL, ewWaitUntilTerminated, ErrorCode);
|
||||
|
||||
Result:= ErrorCode;
|
||||
end;
|
||||
|
||||
function LaunchEOBuildProcess():Integer;
|
||||
var
|
||||
ErrorCode: Integer;
|
||||
FilePath: String;
|
||||
begin
|
||||
// Need the app path
|
||||
FilePath := ExpandConstant('{app}');
|
||||
|
||||
// launch CMake for EO
|
||||
ShellExec('open', 'cmake.exe', ' ..\' + ' -G"' + Generator + '"', FilePath +'\paradiseo-eo\build', SW_SHOWNORMAL, ewWaitUntilTerminated, ErrorCode);
|
||||
|
||||
Result:= ErrorCode;
|
||||
end;
|
||||
|
||||
|
||||
function LaunchMOBuildProcess(): Integer;
|
||||
var
|
||||
ErrorCode: Integer;
|
||||
FilePath: String;
|
||||
begin
|
||||
// Need the app path
|
||||
FilePath := ExpandConstant('{app}');
|
||||
|
||||
// launch CMake for MOEO
|
||||
ShellExec('open', 'cmake.exe', ' ..\' + ' -G"' + Generator + '" -Dconfig="'+FilePath + '\install.cmake"', FilePath +'\paradiseo-mo\build', SW_SHOWNORMAL, ewWaitUntilTerminated, ErrorCode);
|
||||
|
||||
Result:= ErrorCode;
|
||||
end;
|
||||
|
||||
|
||||
function LaunchMOEOBuildProcess(): Integer;
|
||||
var
|
||||
ErrorCode: Integer;
|
||||
FilePath: String;
|
||||
begin
|
||||
// Need the app path
|
||||
FilePath := ExpandConstant('{app}');
|
||||
|
||||
// launch CMake for MOEO
|
||||
ShellExec('open', 'cmake.exe', ' ..\' + ' -G"' + Generator + '" -Dconfig="'+FilePath + '\install.cmake"', FilePath +'\paradiseo-moeo\build', SW_SHOWNORMAL, ewWaitUntilTerminated, ErrorCode);
|
||||
|
||||
Result:= ErrorCode;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure updateProgressBar(StartFrom: Integer;ProgressPurcentage: Integer);
|
||||
var
|
||||
I: Integer;
|
||||
begin
|
||||
try
|
||||
for I := StartFrom to ProgressPurcentage do begin
|
||||
ProgressPage.SetProgress(I, 100);
|
||||
Sleep(50);
|
||||
end;
|
||||
finally
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure CurStepChanged(CurStep: TSetupStep);
|
||||
begin
|
||||
if CurStep = ssInstall then begin
|
||||
if (isError(checkCMakeAvailable())) then begin
|
||||
MsgBox(CustomMessage('CMakeMissing'), mbCriticalError, mb_Ok);
|
||||
Abort;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
function NextButtonClick(CurPageID: Integer): Boolean;
|
||||
var
|
||||
I: Integer;
|
||||
begin
|
||||
if (CurPageID = BuildProcessPage.ID) then begin
|
||||
ProgressPage.SetText('',CustomMessage('LaunchingBuildProcess'));
|
||||
updateProgressBar(0,0);
|
||||
ProgressPage.Show;
|
||||
|
||||
SetCmakeGenerator();
|
||||
updateProgressBar(0,5);
|
||||
|
||||
if (isError(launchEOBuildProcess())) then
|
||||
begin
|
||||
ProgressPage.SetText(CustomMessage('Error'), CustomMessage('ErrorAbort'));
|
||||
MsgBox(CustomMessage('CannotCompleteInstall')+' ParadisEO-EO' , mbCriticalError, mb_Ok);
|
||||
ProgressPage.Hide;
|
||||
Result := True;
|
||||
exit;
|
||||
end;
|
||||
updateProgressBar(5,50);
|
||||
|
||||
if IsComponentSelected('mo') then
|
||||
begin
|
||||
if (isError(launchMOBuildProcess())) then
|
||||
begin
|
||||
ProgressPage.SetText(CustomMessage('Error'), CustomMessage('ErrorAbort'));
|
||||
MsgBox(CustomMessage('CannotCompleteInstall')+' ParadisEO-MO' , mbCriticalError, mb_Ok);
|
||||
ProgressPage.Hide;
|
||||
Result := True;
|
||||
exit;
|
||||
end;
|
||||
end;
|
||||
updateProgressBar(50,80);
|
||||
|
||||
if IsComponentSelected('moeo') then
|
||||
begin
|
||||
if (isError(launchMOEOBuildProcess())) then
|
||||
begin
|
||||
ProgressPage.SetText(CustomMessage('Error'), CustomMessage('ErrorAbort'));
|
||||
MsgBox(CustomMessage('CannotCompleteInstall')+' ParadisEO-MOEO' , mbCriticalError, mb_Ok);
|
||||
ProgressPage.Hide;
|
||||
Result := True;
|
||||
exit;
|
||||
end;
|
||||
end;
|
||||
updateProgressBar(80,100);
|
||||
|
||||
ProgressPage.SetText(CustomMessage('BPFinished'), CustomMessage('BPSuccessfull'));
|
||||
sleep(2000);
|
||||
ProgressPage.Hide;
|
||||
end;
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure CreateTheWizardPages;
|
||||
var
|
||||
Lbl: TLabel;
|
||||
begin
|
||||
GeneratorPage := CreateCustomPage({#generatorWizardPageIndex}, CustomMessage('ChooseGenerator'), '');
|
||||
GeneratorBox := TNewCheckListBox.Create(GeneratorPage);
|
||||
GeneratorBox.Top := ScaleY(0);
|
||||
GeneratorBox.Width := GeneratorPage.SurfaceWidth;
|
||||
GeneratorBox.Height := ScaleY(250);
|
||||
GeneratorBox.BorderStyle := bsNone;
|
||||
GeneratorBox.ParentColor := True;
|
||||
GeneratorBox.MinItemHeight := WizardForm.TasksList.MinItemHeight;
|
||||
GeneratorBox.ShowLines := False;
|
||||
GeneratorBox.WantTabs := True;
|
||||
GeneratorBox.Parent := GeneratorPage.Surface;
|
||||
GeneratorBox.AddGroup(CustomMessage('SelectCompiler'), '', 0, nil);
|
||||
GeneratorBox.AddRadioButton('Visual Studio 8 2005', '', 0, True, True, nil);
|
||||
GeneratorBox.AddRadioButton('Visual Studio 8 2005 Win64', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('Visual Studio 7 .NET 2003', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('Visual Studio 7', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('Visual Studio 6', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('NMake', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('MinGW', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('Borland', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('MSYS', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('Watcom WMake', '', 0, False, True, nil);
|
||||
|
||||
BuildProcessPage := CreateCustomPage({#launchBuildWizardPageIndex},CustomMessage('GenCMakeFiles'),CustomMessage('BuildProcess'));
|
||||
|
||||
Lbl := TLabel.Create(BuildProcessPage);
|
||||
Lbl.Top := ScaleY(20);
|
||||
Lbl.Caption :=CustomMessage('NextGenCaption');
|
||||
Lbl.AutoSize := True;
|
||||
Lbl.Parent := BuildProcessPage.Surface;
|
||||
|
||||
ProgressPage := CreateOutputProgressPage(CustomMessage('ProcessingCMake'),CustomMessage('BuildProcess'));
|
||||
end;
|
||||
|
||||
procedure AboutButtonOnClick(Sender: TObject);
|
||||
begin
|
||||
MsgBox(CustomMessage('DolphinMsg'), mbInformation, mb_Ok);
|
||||
end;
|
||||
|
||||
|
||||
procedure URLLabelOnClick(Sender: TObject);
|
||||
var
|
||||
ErrorCode: Integer;
|
||||
begin
|
||||
ShellExec('open', 'http://paradiseo.gforge.inria.fr', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
|
||||
end;
|
||||
|
||||
|
||||
procedure InitializeWizard();
|
||||
var
|
||||
AboutButton, CancelButton: TButton;
|
||||
URLLabel: TNewStaticText;
|
||||
BackgroundBitmapImage: TBitmapImage;
|
||||
BackgroundBitmapText: TNewStaticText;
|
||||
begin
|
||||
CreateTheWizardPages;
|
||||
CancelButton := WizardForm.CancelButton;
|
||||
|
||||
AboutButton := TButton.Create(WizardForm);
|
||||
AboutButton.Left := WizardForm.ClientWidth - CancelButton.Left - CancelButton.Width - ScaleX(5);
|
||||
AboutButton.Top := CancelButton.Top;
|
||||
AboutButton.Width := CancelButton.Width;
|
||||
AboutButton.Height := CancelButton.Height;
|
||||
AboutButton.Caption := '&About...';
|
||||
AboutButton.OnClick := @AboutButtonOnClick;
|
||||
AboutButton.Parent := WizardForm;
|
||||
|
||||
URLLabel := TNewStaticText.Create(WizardForm);
|
||||
URLLabel.Caption := 'http://paradiseo.gforge.inria.fr';
|
||||
URLLabel.Cursor := crHand;
|
||||
URLLabel.OnClick := @URLLabelOnClick;
|
||||
URLLabel.Parent := WizardForm;
|
||||
URLLabel.Font.Style := URLLabel.Font.Style + [fsUnderline];
|
||||
URLLabel.Font.Color := clBlue;
|
||||
URLLabel.Top := AboutButton.Top + AboutButton.Height - URLLabel.Height - 2;
|
||||
URLLabel.Left := AboutButton.Left + AboutButton.Width + ScaleX(10);
|
||||
end;
|
||||
|
||||
|
||||
[UninstallDelete]
|
||||
Type: files; Name: "{app}\*"
|
||||
Type: filesandordirs; Name: "{app}\*"
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 184 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 5.6 KiB |
|
|
@ -0,0 +1,781 @@
|
|||
; ParadisEO install script
|
||||
; Author: Thomas Legrand
|
||||
|
||||
#define cmakeLookupWizardPageIndex= 8
|
||||
#define generatorWizardPageIndex= 8
|
||||
#define buildModeWizardPageIndex= 9
|
||||
#define launchBuildWizardPageIndex= 12
|
||||
|
||||
#define ctestMemCheckDummyError= 16
|
||||
#define dartSubmissionError= 64
|
||||
|
||||
//***************************************************************************************//
|
||||
//********** ParadisEO Specific strategy - The rest of the code is generic ************* //
|
||||
//***************************************************************************************//
|
||||
|
||||
// where will the installer be created ?
|
||||
#define OutputPath="E:\software\paradisEO\windows installer\compiler output"
|
||||
|
||||
// installer source info
|
||||
#define ParadiseoSourceTag="E:\software\paradisEO\repository\tags\paradiseo-1.1\*"
|
||||
#define EoTag="E:\software\eo\repository\*"
|
||||
|
||||
// installer description info
|
||||
#define Version="1.1"
|
||||
#define VersionMain="ParadisEO-1.1"
|
||||
#define InstallerName="paradiseo-1.1-installer"
|
||||
#define ApplicationName="ParadisEO"
|
||||
#define SetupIconPath="E:\software\paradisEO\repository\utilities\trunk\windows\img\paradiseo.ico"
|
||||
#define WizardMainImage="E:\software\paradisEO\repository\utilities\trunk\windows\img\paradiseo.bmp"
|
||||
#define SkipParadiseoFiles="lib,installParadisEO.sh,paradiseo-peo,.mpd.conf"
|
||||
#define LicenceFile="E:\software\paradisEO\repository\trunk\LICENSE"
|
||||
#define FinalInstructions="E:\software\paradisEO\repository\utilities\trunk\windows\final_instructions.txt"
|
||||
|
||||
// additionnal info
|
||||
#define Company="INRIA"
|
||||
#define AboutUS="INRIA Futurs Dolphin Project-team"
|
||||
#define PublisherURL="http://paradiseo.gforge.inria.fr"
|
||||
#define SupportURL="http://paradiseo.gforge.inria.fr"
|
||||
#define UpdatesURL="http://paradiseo.gforge.inria.fr"
|
||||
|
||||
// logger
|
||||
#define InstallLogger="logger "
|
||||
|
||||
//***************************************************************************************//
|
||||
|
||||
[Setup]
|
||||
AppName={#ApplicationName}
|
||||
AppVerName={#VersionMain}
|
||||
AppPublisher={#AboutUS}
|
||||
AppPublisherURL={#PublisherURL}
|
||||
AppSupportURL={#SupportURL}
|
||||
AppUpdatesURL={#UpdatesURL}
|
||||
DefaultDirName={pf}\{#ApplicationName}
|
||||
DefaultGroupName={#ApplicationName}
|
||||
LicenseFile={#LicenceFile}
|
||||
OutputDir={#OutputPath}
|
||||
OutputBaseFilename={#InstallerName}
|
||||
Compression=lzma/max
|
||||
SolidCompression=yes
|
||||
WizardImageFile={#WizardMainImage}
|
||||
SetupIconFile={#SetupIconPath}
|
||||
UninstallDisplayName={#ApplicationName}
|
||||
WindowVisible=False
|
||||
RestartIfNeededByRun=False
|
||||
ShowTasksTreeLines=True
|
||||
VersionInfoVersion={#Version}
|
||||
VersionInfoCompany={#Company}
|
||||
VersionInfoDescription={#ApplicationName}
|
||||
VersionInfoTextVersion={#ApplicationName}
|
||||
SetupLogging=yes
|
||||
|
||||
[Languages]
|
||||
Name: "english"; MessagesFile: "compiler:Default.isl"
|
||||
Name: "french"; MessagesFile: "compiler:Languages\French.isl"
|
||||
|
||||
[CustomMessages]
|
||||
english.CMakeMissing=CMake cannot be found on your computer. You must have CMake installed to use ParadisEO.
|
||||
english.FullInstall=Full installation
|
||||
english.CustomInstall=Custom installation
|
||||
english.EoDescription=EO: Evolving Objects: Library for evolutionnary computation
|
||||
english.MoDescription=MO: Moving Objects: Single based metaheuristics computation
|
||||
english.MoeoDescription=MOEO: Multi Objective Evolving Objects
|
||||
english.ErrorOccured=An error has occured
|
||||
english.LaunchingBuildProcess=Launching CMake build process and the compilation...
|
||||
english.LaunchingEOBuildProcess=Configuring ParadisEO-EO...
|
||||
english.LaunchingMOBuildProcess=Configuring ParadisEO-MO...
|
||||
english.LaunchingMOEOBuildProcess=Configuring ParadisEO-MOEO...
|
||||
english.LaunchingEOCompilation=Compiling ParadisEO-EO...
|
||||
english.LaunchingMOCompilation=Compiling ParadisEO-MO...
|
||||
english.LaunchingMOEOCompilation=Compiling ParadisEO-MOEO...
|
||||
english.error=Error
|
||||
english.ErrorAbort=Error,abort.
|
||||
english.CannotCompleteInstall=Impossible to complete the install of
|
||||
english.BPFinished=Finished
|
||||
english.BPSuccessfull=The installation has been successfully performed.
|
||||
english.SelectCompiler=Select the program you want to use to compile:
|
||||
english.ChooseGeneratorTitle=ParadisEO compilation
|
||||
english.ChooseGeneratorSubtitle=Compiler selection
|
||||
english.GenCMakeFiles=CMake configuration
|
||||
english.BuildProcess=CMake configuration files generation and compilation
|
||||
english.NextGenCaption=Click on the 'Next' button to launch CMake and compile ...
|
||||
english.ProcessingCMake=Configuration and compilation
|
||||
english.DolphinMsg=ParadisEO: An INRIA Dolphin Team project - Program developped by Thomas Legrand
|
||||
english.BuildMode=Build and compilation mode.
|
||||
english.SelectBuildMode=Please select the build and compilation mode:
|
||||
english.Recommended=(recommended)
|
||||
english.AcceptSendReport=I agree that the installation report will be sent to the DOLPHIN Team.
|
||||
english.NoInfoSend1=Neither personal information nor data refering your computer will be sent.
|
||||
english.NoInfoSend2=I could get a personalized and adapted support.
|
||||
english.PathToCMakeTitle=Path to CMake
|
||||
english.PathToCMakeSubTitle=CMake has not been found by the assistant. Please select the directory where CMake is installed on your computer
|
||||
english.CMakeNotFound=The CMake binaries cannot be found in this directory
|
||||
english.CMakeDownloadMsg=CMake available for download at:
|
||||
english.NextGenCaptionPgmBegin= Notice that the generator you chose must be installed on your computer.
|
||||
|
||||
french.CMakeMissing=CMake n'a pas été détecté sur votre ordinateur. CMake doit être installé pour utiliser ParadisEO.
|
||||
french.FullInstall=Installation complète
|
||||
french.CustomInstall=Installation personnalisée
|
||||
french.EoDescription= EO: Evolving Objects: Librairie dédiée aux méthodes évolutionnaires
|
||||
french.MoDescription= MO: Moving Objects: Métaheuristiques à base de solutions uniques
|
||||
french.MoeoDescription= MOEO: Multi Objective Evolving Objects: Module multi-objectif
|
||||
french.ErrorOccured=Une erreur est survenue
|
||||
french.LaunchingBuildProcess=Construction des fichiers de configuration...
|
||||
french.LaunchingEOBuildProcess=Configuration de ParadisEO-EO...
|
||||
french.LaunchingMOBuildProcess=Configuration de ParadisEO-MO...
|
||||
french.LaunchingMOEOBuildProcess=Configuration de ParadisEO-MOEO...
|
||||
french.LaunchingEOCompilation=Compilation de ParadisEO-EO...
|
||||
french.LaunchingMOCompilation=Compilation de ParadisEO-MO...
|
||||
french.LaunchingMOEOCompilation=Compilation de ParadisEO-MOEO..
|
||||
french.error=Erreur
|
||||
french.ErrorAbort=Une erreur est survenue, installation annulée.
|
||||
french.CannotCompleteInstall=Impossible de terminer l'installation de
|
||||
french.BPFinished=Fin de l'installation
|
||||
french.BPSuccessfull=Succès.
|
||||
french.SelectCompiler=Sélectionnez le programme que vous souhaitez utiliser pour compiler:
|
||||
french.ChooseGeneratorTitle=Compilation de ParadisEO
|
||||
french.ChooseGeneratorSubtitle=Selection du compilateur à utiliser
|
||||
french.GenCMakeFiles=Configuration CMake
|
||||
french.BuildProcess=Génération des fichiers de configuration CMake et compilation
|
||||
french.NextGenCaption=Cliquez sur le bouton 'Suivant' pour lancer CMake et compiler.
|
||||
french.ProcessingCMake=Configuration et compilation
|
||||
french.DolphinMsg=ParadisEO: Un projet de l'équipe INRIA Dolphin - Programme réalisé par Thomas Legrand
|
||||
french.BuildMode=Choix du mode de compilation.
|
||||
french.SelectBuildMode=Veuillez sélectionner le type de compilation :
|
||||
french.Recommended=(recommandé)
|
||||
french.AcceptSendReport=Je souhaite que le rapport d'installation soit envoyé à l'équipe DOLPHIN.
|
||||
french.NoInfoSend1=Aucune information personnelle ou liée à mon poste de travail ne sera transmise.
|
||||
french.NoInfoSend2=Je pourrais bénéficier d'un support personnalisé et adapté.
|
||||
french.PathToCMakeTitle=Chemin vers CMake
|
||||
french.PathToCMakeSubTitle=CMake n'a pas été trouvé par l'assistant. Veuillez sélectionner le répertoire d'installation de CMake sur votre ordinateur
|
||||
french.CMakeNotFound=Les exécutables CMake sont introuvables dans ce répertoire
|
||||
french.CMakeDownloadMsg=CMake téléchargeable à l'adresse:
|
||||
french.NextGenCaptionPgmBegin= Notez que le générateur que vous avez sélectionné doit être installé sur votre ordinateur.
|
||||
|
||||
|
||||
[Types]
|
||||
Name: "custom"; Description: {cm:CustomInstall}; Flags: iscustom
|
||||
Name: "full"; Description: {cm:FullInstall}
|
||||
|
||||
[Components]
|
||||
Name: eo; Description: {cm:EoDescription}; Types: full custom; Flags: fixed
|
||||
Name: mo; Description:{cm:MoDescription}; Types: full custom;
|
||||
Name: moeo; Description: {cm:MoeoDescription}; Types: full custom;
|
||||
|
||||
|
||||
[Files]
|
||||
Source: {#ParadiseoSourceTag}; DestDir: "{app}"; Excludes: {#SkipParadiseoFiles} ; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
Source: {#EoTag}; DestDir: "{app}"; Excludes: "*.~*" ; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
|
||||
; SPECIFIC CORRECTION - EO TAG NOT MODIFIED, USED TRUNK SOURCES
|
||||
Source: E:\software\eo\repository\paradiseo-eo\CMakeLists.txt ; DestDir: "{app}\paradiseo-eo"; Excludes: "*.~*" ; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
Source: E:\software\eo\repository\paradiseo-eo\src\utils\pipecom.h; DestDir: "{app}\paradiseo-eo\src\utils"; Excludes: "*.~*" ; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
Source: E:\software\eo\repository\paradiseo-eo\src\utils\pipecom.cpp; DestDir: "{app}\paradiseo-eo\src\utils"; Excludes: "*.~*" ; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
Source: E:\software\eo\repository\paradiseo-eo\src\eoCtrlCContinue.h; DestDir: "{app}\paradiseo-eo\src"; Excludes: "*.~*" ; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
Source: E:\software\eo\repository\paradiseo-eo\src\eoCtrlCContinue.cpp; DestDir: "{app}\paradiseo-eo\src"; Excludes: "*.~*" ; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
|
||||
[Dirs]
|
||||
Name: {app}\logs
|
||||
|
||||
[Code]
|
||||
var
|
||||
GeneratorPage: TWizardPage;
|
||||
BuildModePage: TWizardPage;
|
||||
BuildProcessPage: TWizardPage;
|
||||
CMakeLookupPage: TWizardPage;
|
||||
ProgressPage: TOutputProgressWizardPage;
|
||||
GeneratorBox: TNewCheckListBox;
|
||||
BuildModeBox: TNewCheckListBox;
|
||||
SendReportBox: TCheckBox;
|
||||
Generator: String;
|
||||
CTestConfig: String;
|
||||
CMakeBinDir: String;
|
||||
ProgressBarLabel: TLabel;
|
||||
ProgressBar: TNewProgressBar;
|
||||
FolderTreeView: TFolderTreeView;
|
||||
CMakeAdditionalTags: String;
|
||||
OkToCopyLog : Boolean;
|
||||
TodaysName : String;
|
||||
|
||||
|
||||
function GetToday : String;
|
||||
begin
|
||||
Result := GetDateTimeString ('yyyy/mm/dd', '-', #0);
|
||||
end;
|
||||
|
||||
function GetTodaysName (Param: String): String;
|
||||
begin
|
||||
if ('' = TodaysName) then
|
||||
begin
|
||||
TodaysName := GetToday ();
|
||||
end;
|
||||
Result := TodaysName;
|
||||
end;
|
||||
|
||||
procedure SetCmakeGenerator();
|
||||
begin
|
||||
if GeneratorBox.Checked[1] then
|
||||
begin
|
||||
Generator:='Visual Studio 9 2008' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[2] then
|
||||
begin
|
||||
Generator:='Visual Studio 9 2008 Win64' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[3] then
|
||||
begin
|
||||
Generator:='Visual Studio 8 2005' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[4] then
|
||||
begin
|
||||
Generator:='Visual Studio 8 2005 Win64' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[5] then
|
||||
begin
|
||||
Generator:='Visual Studio 7 .NET 2003' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[6] then
|
||||
begin
|
||||
Generator:='Visual Studio 7' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[7] then
|
||||
begin
|
||||
Generator:='Visual Studio 6' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[8] then
|
||||
begin
|
||||
Generator:='NMake Makefiles' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[9] then
|
||||
begin
|
||||
Generator:='MinGW Makefiles' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[10] then
|
||||
begin
|
||||
Generator:='Borland Makefiles' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[11] then
|
||||
begin
|
||||
Generator:='MSYS Makefiles' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[12] then
|
||||
begin
|
||||
Generator:='Watcom WMake' ;
|
||||
exit;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure SetCTestConfig();
|
||||
var
|
||||
MinConfig: String;
|
||||
begin
|
||||
MinConfig:=' -D ExperimentalStart -D ExperimentalBuild' ;
|
||||
|
||||
if SendReportBox.Checked then
|
||||
begin
|
||||
CTestConfig:= MinConfig + ' -D ExperimentalSubmit' ;
|
||||
end;
|
||||
|
||||
if BuildModeBox.Checked[1] then
|
||||
begin
|
||||
CMakeAdditionalTags:= ' -DENABLE_CMAKE_TESTING=FALSE';
|
||||
exit;
|
||||
end;
|
||||
if BuildModeBox.Checked[2] then
|
||||
begin
|
||||
CTestConfig:=CTestConfig + ' -D ExperimentalTest' ;
|
||||
CMakeAdditionalTags:= ' -DENABLE_CMAKE_TESTING=TRUE';
|
||||
exit;
|
||||
end;
|
||||
end;
|
||||
|
||||
function isError(ErrorCode: Integer; PrintMsgBox: Boolean): Boolean;
|
||||
begin
|
||||
if not (ErrorCode = 0) then
|
||||
begin
|
||||
if(ErrorCode = {#ctestMemCheckDummyError}) then begin
|
||||
Result:= false;
|
||||
exit;
|
||||
end;
|
||||
if(ErrorCode = {#dartSubmissionError}) then begin
|
||||
Result:= false;
|
||||
exit;
|
||||
end;
|
||||
if(PrintMsgBox) then begin
|
||||
MsgBox(CustomMessage('ErrorOccured') + ': [code='+ IntToStr(ErrorCode) + ']' + ' [' + SysErrorMessage(ErrorCode) + ']' , mbCriticalError, mb_Ok);
|
||||
end;
|
||||
Result:= true;
|
||||
|
||||
end else begin
|
||||
Result:= false;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
function checkCMakeAvailable(Path: String): Integer;
|
||||
var
|
||||
ErrorCode: Integer;
|
||||
begin
|
||||
ShellExec('open', Path + 'cmake.exe','','', SW_SHOWMINIMIZED, ewWaitUntilTerminated, ErrorCode);
|
||||
Result:= ErrorCode;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
function LaunchEOBuildProcess():Integer;
|
||||
var
|
||||
ErrorCode: Integer;
|
||||
FilePath: String;
|
||||
begin
|
||||
Log('[LaunchEOBuildProcess] [begin]');
|
||||
|
||||
// Need the app path
|
||||
FilePath := ExpandConstant('{app}');
|
||||
|
||||
// launch CMake for EO
|
||||
Log('[LaunchEOBuildProcess] Launching: ' + CMakeBinDir + 'cmake.exe' + ' ..\' + ' -G"' + Generator + '"' + CMakeAdditionalTags);
|
||||
Log('[LaunchEOBuildProcess] From: ' + FilePath +'\paradiseo-eo\build');
|
||||
ShellExec ('open',CMakeBinDir + 'cmake.exe',' ..\' + ' -G"' + Generator + '"' + CMakeAdditionalTags, FilePath +'\paradiseo-eo\build', SW_SHOWNORMAL, ewWaitUntilTerminated, ErrorCode);
|
||||
Log('[LaunchEOBuildProcess] Error code=' + IntToStr(ErrorCode));
|
||||
Log('[LaunchEOBuildProcess] [End]');
|
||||
Result:= ErrorCode;
|
||||
end;
|
||||
|
||||
|
||||
function LaunchEOCompilation():Integer;
|
||||
var
|
||||
ErrorCode: Integer;
|
||||
FilePath: String;
|
||||
begin
|
||||
Log('[LaunchEOCompilation] [begin]');
|
||||
|
||||
// Need the app path
|
||||
FilePath := ExpandConstant('{app}');
|
||||
|
||||
// launch CTest for EO
|
||||
Log('[LaunchEOCompilation] Launching: ' + CMakeBinDir + ' ctest.exe ' + CTestConfig);
|
||||
Log('[LaunchEOCompilation] From: ' + FilePath +'\paradiseo-eo\build');
|
||||
Exec(ExpandConstant ('{sys}\CMD.EXE'), ' /C ' + '"' + CMakeBinDir + 'ctest.exe' + ' "' + CTestConfig + ' > build-eo-' + GetTodaysName ('') + '.log',FilePath +'\paradiseo-eo\build', SW_SHOWNORMAL, ewWaitUntilTerminated,ErrorCode);
|
||||
FileCopy (FilePath +'\paradiseo-eo\build\build-eo-' + GetTodaysName ('') + '.log', ExpandConstant ('{app}\logs\build-eo-') + GetTodaysName ('') + '.log' , FALSE);
|
||||
Log('[LaunchEOCompilation] Error code=' + IntToStr(ErrorCode));
|
||||
Log('[LaunchEOCompilation] [End]');
|
||||
Result:= ErrorCode;
|
||||
end;
|
||||
|
||||
|
||||
function LaunchMOBuildProcess(): Integer;
|
||||
var
|
||||
ErrorCode: Integer;
|
||||
FilePath: String;
|
||||
begin
|
||||
Log('[LaunchMOBuildProcess] [begin]');
|
||||
|
||||
// Need the app path
|
||||
FilePath := ExpandConstant('{app}');
|
||||
|
||||
// launch CMake for MO
|
||||
Log('[LaunchMOBuildProcess] Launching: ' + CMakeBinDir + 'cmake.exe' + ' ..\' + ' -G"' + Generator + '" -Dconfig="'+FilePath + '\install.cmake"' + CMakeAdditionalTags);
|
||||
Log('[LaunchMOBuildProcess] From: ' + FilePath +'\paradiseo-mo\build');
|
||||
ShellExec('open',CMakeBinDir+ 'cmake.exe ',' ..\' + ' -G"' + Generator + '" -Dconfig="'+FilePath + '\install.cmake"' + CMakeAdditionalTags,FilePath +'\paradiseo-mo\build', SW_SHOWNORMAL, ewWaitUntilTerminated, Errorcode);
|
||||
Log('[LaunchMOBuildProcess] Error code=' + IntToStr(ErrorCode));
|
||||
Log('[LaunchMOBuildProcess] [End]');
|
||||
Result:= ErrorCode;
|
||||
end;
|
||||
|
||||
|
||||
function LaunchMOCompilation():Integer;
|
||||
var
|
||||
ErrorCode: Integer;
|
||||
FilePath: String;
|
||||
begin
|
||||
Log('[LaunchMOCompilation] [begin]');
|
||||
|
||||
// Need the app path
|
||||
FilePath := ExpandConstant('{app}');
|
||||
|
||||
// launch CTest for MO
|
||||
Log('[LaunchMOCompilation] Launching: ' + CMakeBinDir + ' ctest.exe ' + CTestConfig);
|
||||
Log('[LaunchMOCompilation] From: ' + FilePath +'\paradiseo-mo\build');
|
||||
Exec(ExpandConstant ('{sys}\CMD.EXE'), ' /C ' + '"' + CMakeBinDir + 'ctest.exe' + ' "' + CTestConfig + ' > build-mo-' + GetTodaysName ('') + '.log',FilePath +'\paradiseo-mo\build', SW_SHOWNORMAL, ewWaitUntilTerminated,ErrorCode);
|
||||
FileCopy (FilePath +'\paradiseo-mo\build\build-mo-' + GetTodaysName ('') + '.log', ExpandConstant ('{app}\logs\build-mo-') + GetTodaysName ('') + '.log' , FALSE);
|
||||
Log('[LaunchMOCompilation] Error code=' + IntToStr(ErrorCode));
|
||||
Log('[LaunchMOCompilation] [End]');
|
||||
Result:= ErrorCode;
|
||||
end;
|
||||
|
||||
|
||||
function LaunchMOEOBuildProcess(): Integer;
|
||||
var
|
||||
ErrorCode: Integer;
|
||||
FilePath: String;
|
||||
begin
|
||||
// Need the app path
|
||||
FilePath := ExpandConstant('{app}');
|
||||
|
||||
// launch CMake for MOEO
|
||||
Log('[LaunchMOEOBuildProcess] Launching: ' + CMakeBinDir + 'cmake.exe' + ' ..\' + ' -G"' + Generator + '" -Dconfig="'+FilePath + '\install.cmake"' + CMakeAdditionalTags);
|
||||
Log('[LaunchMOEOBuildProcess] From: ' + FilePath +'\paradiseo-moeo\build');
|
||||
ShellExec('open', CMakeBinDir + 'cmake.exe', ' ..\' + ' -G"' + Generator + '" -Dconfig="'+FilePath + '\install.cmake"' + CMakeAdditionalTags, FilePath +'\paradiseo-moeo\build', SW_SHOWNORMAL, ewWaitUntilTerminated, ErrorCode);
|
||||
Log('[LaunchMOEOBuildProcess] Error code=' + IntToStr(ErrorCode));
|
||||
Log('[LaunchMOEOBuildProcess] [End]');
|
||||
Result:= ErrorCode;
|
||||
Result:= ErrorCode;
|
||||
end;
|
||||
|
||||
|
||||
function LaunchMOEOCompilation():Integer;
|
||||
var
|
||||
ErrorCode: Integer;
|
||||
FilePath: String;
|
||||
begin
|
||||
Log('[LaunchMOEOCompilation] [begin]');
|
||||
|
||||
// Need the app path
|
||||
FilePath := ExpandConstant('{app}');
|
||||
|
||||
// launch CTest for MOEO
|
||||
Log('[LaunchMOEOCompilation] Launching: ' + CMakeBinDir + ' ctest.exe ' + CTestConfig);
|
||||
Log('[LaunchMOEOCompilation] From: ' + FilePath +'\paradiseo-moeo\build');
|
||||
Exec(ExpandConstant ('{sys}\CMD.EXE'), ' /C ' + '"' + CMakeBinDir + 'ctest.exe' + ' "' + CTestConfig + ' > build-moeo-' + GetTodaysName ('') + '.log',FilePath +'\paradiseo-moeo\build', SW_SHOWNORMAL, ewWaitUntilTerminated,ErrorCode);
|
||||
FileCopy (FilePath +'\paradiseo-moeo\build\build-moeo-' + GetTodaysName ('') + '.log', ExpandConstant ('{app}\logs\build-moeo-') + GetTodaysName ('') + '.log' , FALSE);
|
||||
Log('[LaunchMOEOCompilation] Error code=' + IntToStr(ErrorCode));
|
||||
Log('[LaunchMOEOCompilation] [End]');
|
||||
Result:= ErrorCode;
|
||||
end;
|
||||
|
||||
|
||||
procedure updateProgressBar(StartFrom: Integer;ProgressPurcentage: Integer);
|
||||
var
|
||||
I: Integer;
|
||||
begin
|
||||
try
|
||||
for I := StartFrom to ProgressPurcentage do begin
|
||||
ProgressPage.SetProgress(I, 100);
|
||||
Sleep(50);
|
||||
end;
|
||||
finally
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
function NextButtonClick(CurPageID: Integer): Boolean;
|
||||
begin
|
||||
|
||||
if (CurPageID = BuildProcessPage.ID) then
|
||||
begin
|
||||
ProgressPage.SetText('',CustomMessage('LaunchingBuildProcess'));
|
||||
updateProgressBar(0,0);
|
||||
ProgressPage.Show;
|
||||
|
||||
SetCmakeGenerator();
|
||||
SetCTestConfig();
|
||||
|
||||
updateProgressBar(0,5);
|
||||
//***************** EO *************************
|
||||
ProgressPage.SetText('',CustomMessage('LaunchingEOBuildProcess'));
|
||||
if (isError(launchEOBuildProcess(),true)) then
|
||||
begin
|
||||
ProgressPage.SetText(CustomMessage('Error'), CustomMessage('ErrorAbort'));
|
||||
MsgBox(CustomMessage('CannotCompleteInstall')+' ParadisEO-EO' , mbCriticalError, mb_Ok);
|
||||
ProgressPage.Hide;
|
||||
Result := True;
|
||||
exit;
|
||||
end;
|
||||
updateProgressBar(5,20);
|
||||
|
||||
ProgressPage.SetText('',CustomMessage('LaunchingEOCompilation'));
|
||||
if (isError(LaunchEOCompilation(),true)) then
|
||||
begin
|
||||
ProgressPage.SetText(CustomMessage('Error'), CustomMessage('ErrorAbort'));
|
||||
MsgBox(CustomMessage('CannotCompleteInstall')+' ParadisEO-EO' , mbCriticalError, mb_Ok);
|
||||
ProgressPage.Hide;
|
||||
Result := True;
|
||||
exit;
|
||||
end;
|
||||
updateProgressBar(20,50);
|
||||
|
||||
|
||||
//***************** MO *************************
|
||||
if IsComponentSelected('mo') then
|
||||
begin
|
||||
ProgressPage.SetText('',CustomMessage('LaunchingMOBuildProcess'));
|
||||
if (isError(launchMOBuildProcess(),true)) then
|
||||
begin
|
||||
ProgressPage.SetText(CustomMessage('Error'), CustomMessage('ErrorAbort'));
|
||||
MsgBox(CustomMessage('CannotCompleteInstall')+' ParadisEO-MO' , mbCriticalError, mb_Ok);
|
||||
ProgressPage.Hide;
|
||||
Result := True;
|
||||
exit;
|
||||
end;
|
||||
updateProgressBar(50,60);
|
||||
|
||||
ProgressPage.SetText('',CustomMessage('LaunchingMOCompilation'));
|
||||
if (isError(LaunchMOCompilation(),true)) then
|
||||
begin
|
||||
ProgressPage.SetText(CustomMessage('Error'), CustomMessage('ErrorAbort'));
|
||||
MsgBox(CustomMessage('CannotCompleteInstall')+' ParadisEO-MO' , mbCriticalError, mb_Ok);
|
||||
ProgressPage.Hide;
|
||||
Result := True;
|
||||
exit;
|
||||
end;
|
||||
updateProgressBar(60,80);
|
||||
end else
|
||||
updateProgressBar(50,60);
|
||||
|
||||
//***************** MOEO *************************
|
||||
if IsComponentSelected('moeo') then
|
||||
begin
|
||||
ProgressPage.SetText('',CustomMessage('LaunchingMOEOBuildProcess'));
|
||||
if (isError(launchMOEOBuildProcess(),true)) then
|
||||
begin
|
||||
ProgressPage.SetText(CustomMessage('Error'), CustomMessage('ErrorAbort'));
|
||||
MsgBox(CustomMessage('CannotCompleteInstall')+' ParadisEO-MOEO' , mbCriticalError, mb_Ok);
|
||||
ProgressPage.Hide;
|
||||
Result := True;
|
||||
exit;
|
||||
end;
|
||||
updateProgressBar(60,75);
|
||||
|
||||
ProgressPage.SetText('',CustomMessage('LaunchingMOEOCompilation'));
|
||||
if (isError(LaunchMOEOCompilation(),true)) then
|
||||
begin
|
||||
ProgressPage.SetText(CustomMessage('Error'), CustomMessage('ErrorAbort'));
|
||||
MsgBox(CustomMessage('CannotCompleteInstall')+' ParadisEO-MOEO' , mbCriticalError, mb_Ok);
|
||||
ProgressPage.Hide;
|
||||
Result := True;
|
||||
exit;
|
||||
end;
|
||||
updateProgressBar(75,100);
|
||||
end else
|
||||
updateProgressBar(60,100);
|
||||
|
||||
ProgressPage.SetText(CustomMessage('BPFinished'), CustomMessage('BPSuccessfull'));
|
||||
sleep(2000);
|
||||
ProgressPage.Hide;
|
||||
end;
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
|
||||
function Skeleton_NextButtonClick(Page: TWizardPage): Boolean;
|
||||
begin
|
||||
{ Get the Cmake directory provided by the user }
|
||||
CMakeBinDir:= FolderTreeView.Directory + '\';
|
||||
if isError(checkCMakeAvailable(CMakeBinDir),false) then begin
|
||||
CMakeBinDir:= FolderTreeView.Directory + '\' + 'bin\';
|
||||
if isError(checkCMakeAvailable(CMakeBinDir),false) then begin
|
||||
MsgBox(CustomMessage('CMakeNotFound'), mbCriticalError, mb_Ok);
|
||||
Result := False;
|
||||
exit;
|
||||
end else
|
||||
Result := True; exit;
|
||||
|
||||
MsgBox(CustomMessage('CMakeNotFound'), mbCriticalError, mb_Ok);
|
||||
Result := False;
|
||||
end else
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
|
||||
Procedure CMakeURLLabelOnClick(Sender: TObject);
|
||||
var
|
||||
ErrorCode: Integer;
|
||||
begin
|
||||
ShellExec('open', 'http://www.cmake.org/HTML/Download.html', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure CreateTheWizardPages;
|
||||
var
|
||||
Lbl1,Lbl2,Lbl3,Lbl4,Lbl5,Lbl6: TLabel;
|
||||
CMakeURLLabel: TNewStaticText;
|
||||
begin
|
||||
|
||||
if (isError(checkCMakeAvailable(''),False)) then begin
|
||||
CMakeLookupPage := CreateCustomPage({#cmakeLookupWizardPageIndex},CustomMessage('PathToCMakeTitle'),CustomMessage('PathToCMakeSubtitle'));
|
||||
FolderTreeView := TFolderTreeView.Create(CMakeLookupPage);
|
||||
FolderTreeView.Top := ScaleY(40)
|
||||
FolderTreeView.Width := CMakeLookupPage.SurfaceWidth;
|
||||
FolderTreeView.Height := CMakeLookupPage.SurfaceHeight;
|
||||
FolderTreeView.Parent := CMakeLookupPage.Surface;
|
||||
FolderTreeView.Directory := '';
|
||||
|
||||
Lbl4 := TLabel.Create(CMakeLookupPage);
|
||||
Lbl4.Top := ScaleY(20);
|
||||
Lbl4.Caption := CustomMessage('CMakeDownloadMsg');
|
||||
Lbl4.AutoSize := True;
|
||||
Lbl4.Parent := CMakeLookupPage.Surface;
|
||||
Lbl4.Font.Size := 8 ;
|
||||
Lbl4.Top := ScaleY(0);
|
||||
Lbl4.Left := ScaleX(5);
|
||||
|
||||
CMakeURLLabel := TNewStaticText.Create(CMakeLookupPage);
|
||||
CMakeURLLabel.Caption := 'http://www.cmake.org/HTML/Download.html';
|
||||
CMakeURLLabel.Cursor := crHand;
|
||||
CMakeURLLabel.OnClick:= @CMakeURLLabelOnClick;
|
||||
CMakeURLLabel.Parent := CMakeLookupPage.Surface;
|
||||
CMakeURLLabel.Font.Style := CMakeURLLabel.Font.Style + [fsUnderline];
|
||||
CMakeURLLabel.Font.Color := clBlue;
|
||||
CMakeURLLabel.Top := ScaleY(0);
|
||||
CMakeURLLabel.Left := ScaleX(170);
|
||||
|
||||
CMakeLookupPage.OnNextButtonClick := @Skeleton_NextButtonClick;
|
||||
end;
|
||||
|
||||
GeneratorPage := CreateCustomPage({#generatorWizardPageIndex}, CustomMessage('ChooseGeneratorTitle'), CustomMessage('ChooseGeneratorSubtitle'));
|
||||
GeneratorBox := TNewCheckListBox.Create(GeneratorPage);
|
||||
GeneratorBox.Top := ScaleY(0);
|
||||
GeneratorBox.Width := GeneratorPage.SurfaceWidth;
|
||||
GeneratorBox.Height := ScaleY(250);
|
||||
GeneratorBox.BorderStyle := bsNone;
|
||||
GeneratorBox.ParentColor := True;
|
||||
GeneratorBox.MinItemHeight := WizardForm.TasksList.MinItemHeight;
|
||||
GeneratorBox.ShowLines := False;
|
||||
GeneratorBox.WantTabs := True;
|
||||
GeneratorBox.Parent := GeneratorPage.Surface;
|
||||
GeneratorBox.AddGroup(CustomMessage('SelectCompiler'), '', 0, nil);
|
||||
GeneratorBox.AddRadioButton('Visual Studio 9 2008', '', 0, True, True, nil);
|
||||
GeneratorBox.AddRadioButton('Visual Studio 9 2008 Win64', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('Visual Studio 8 2005', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('Visual Studio 8 2005 Win64', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('Visual Studio 7 .NET 2003', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('Visual Studio 7', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('Visual Studio 6', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('NMake', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('MinGW', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('Borland', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('MSYS', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('Watcom WMake', '', 0, False, True, nil);
|
||||
|
||||
|
||||
BuildProcessPage := CreateCustomPage({#launchBuildWizardPageIndex},CustomMessage('GenCMakeFiles'),CustomMessage('BuildProcess'));
|
||||
|
||||
BuildModePage := CreateCustomPage({#buildModeWizardPageIndex}, CustomMessage('BuildMode'), '');
|
||||
BuildModeBox := TNewCheckListBox.Create(BuildModePage);
|
||||
BuildModeBox.Top := ScaleY(0);
|
||||
BuildModeBox.Width := BuildModePage.SurfaceWidth;
|
||||
BuildModeBox.Height := ScaleY(80);
|
||||
BuildModeBox.BorderStyle := bsNone;
|
||||
BuildModeBox.ParentColor := True;
|
||||
BuildModeBox.MinItemHeight := WizardForm.TasksList.MinItemHeight;
|
||||
BuildModeBox.ShowLines := False;
|
||||
BuildModeBox.WantTabs := True;
|
||||
BuildModeBox.Parent := BuildModePage.Surface;
|
||||
BuildModeBox.AddGroup(CustomMessage('SelectBuildMode'), '', 0, nil);
|
||||
BuildModeBox.AddRadioButton('Normal = Release ' + CustomMessage('Recommended'), '', 0, True, True, nil);
|
||||
BuildModeBox.AddRadioButton('Debug', '', 0, False, True, nil);
|
||||
|
||||
SendReportBox := TCheckBox.Create(BuildModePage);
|
||||
SendReportBox.Top := BuildModeBox.Top + BuildModeBox.Height + ScaleY(90);
|
||||
SendReportBox.Width := BuildModePage.SurfaceWidth;
|
||||
SendReportBox.Height := ScaleY(15);
|
||||
SendReportBox.Caption := CustomMessage('AcceptSendReport');
|
||||
SendReportBox.Checked := True;
|
||||
SendReportBox.Parent := BuildModePage.Surface;
|
||||
SendReportBox.Font.Size := 7;
|
||||
|
||||
Lbl1 := TLabel.Create(BuildModePage);
|
||||
Lbl1.Top := SendReportBox.Top + SendReportBox.Height + ScaleY(5);
|
||||
Lbl1.Caption := CustomMessage('NoInfoSend1');
|
||||
Lbl1.AutoSize := True;
|
||||
Lbl1.Parent := BuildModePage.Surface;
|
||||
Lbl1.Font.Size := 7 ;
|
||||
Lbl1.Left := 15;
|
||||
|
||||
Lbl2 := TLabel.Create(BuildModePage);
|
||||
Lbl2.Top := Lbl1.Top + Lbl1.Height + ScaleY(5);
|
||||
Lbl2.Caption := CustomMessage('NoInfoSend2');
|
||||
Lbl2.AutoSize := True;
|
||||
Lbl2.Parent := BuildModePage.Surface;
|
||||
Lbl2.Font.Size := 7 ;
|
||||
Lbl2.Left := 15;
|
||||
|
||||
Lbl3 := TLabel.Create(BuildProcessPage);
|
||||
Lbl3.Top := ScaleY(20);
|
||||
Lbl3.Caption :=CustomMessage('NextGenCaption');
|
||||
Lbl3.AutoSize := True;
|
||||
Lbl3.Parent := BuildProcessPage.Surface;
|
||||
|
||||
Lbl5 := TLabel.Create(BuildProcessPage);
|
||||
Lbl5.Top := ScaleY(40);
|
||||
Lbl5.Left := ScaleX(-3);
|
||||
Lbl5.Caption :=CustomMessage('NextGenCaptionPgmBegin');
|
||||
Lbl5.AutoSize := True;
|
||||
Lbl5.Parent := BuildProcessPage.Surface;
|
||||
|
||||
ProgressPage := CreateOutputProgressPage(CustomMessage('ProcessingCMake'),CustomMessage('BuildProcess'));
|
||||
end;
|
||||
|
||||
procedure AboutButtonOnClick(Sender: TObject);
|
||||
begin
|
||||
MsgBox(CustomMessage('DolphinMsg'), mbInformation, mb_Ok);
|
||||
end;
|
||||
|
||||
|
||||
procedure URLLabelOnClick(Sender: TObject);
|
||||
var
|
||||
ErrorCode: Integer;
|
||||
begin
|
||||
ShellExec('open', 'http://paradiseo.gforge.inria.fr', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
|
||||
end;
|
||||
|
||||
|
||||
procedure InitializeWizard();
|
||||
var
|
||||
AboutButton, CancelButton: TButton;
|
||||
URLLabel: TNewStaticText;
|
||||
begin
|
||||
CreateTheWizardPages;
|
||||
CancelButton := WizardForm.CancelButton;
|
||||
|
||||
AboutButton := TButton.Create(WizardForm);
|
||||
AboutButton.Left := WizardForm.ClientWidth - CancelButton.Left - CancelButton.Width - ScaleX(5);
|
||||
AboutButton.Top := CancelButton.Top;
|
||||
AboutButton.Width := CancelButton.Width;
|
||||
AboutButton.Height := CancelButton.Height;
|
||||
AboutButton.Caption := '&About...';
|
||||
AboutButton.OnClick := @AboutButtonOnClick;
|
||||
AboutButton.Parent := WizardForm;
|
||||
|
||||
URLLabel := TNewStaticText.Create(WizardForm);
|
||||
URLLabel.Caption := 'http://paradiseo.gforge.inria.fr';
|
||||
URLLabel.Cursor := crHand;
|
||||
URLLabel.OnClick := @URLLabelOnClick;
|
||||
URLLabel.Parent := WizardForm;
|
||||
URLLabel.Font.Style := URLLabel.Font.Style + [fsUnderline];
|
||||
URLLabel.Font.Color := clBlue;
|
||||
URLLabel.Top := AboutButton.Top + AboutButton.Height - URLLabel.Height - 2;
|
||||
URLLabel.Left := AboutButton.Left + AboutButton.Width + ScaleX(10);
|
||||
end;
|
||||
|
||||
procedure CurStepChanged(CurStep: TSetupStep);
|
||||
begin
|
||||
if CurStep = ssDone then
|
||||
OkToCopyLog := True;
|
||||
end;
|
||||
|
||||
|
||||
procedure DeinitializeSetup();
|
||||
begin
|
||||
if OkToCopyLog then
|
||||
FileCopy (ExpandConstant ('{log}'), ExpandConstant ('{app}\logs\install-') + GetTodaysName ('') + '.log' , FALSE);
|
||||
RestartReplace (ExpandConstant ('{log}'), '');
|
||||
end;
|
||||
|
||||
|
||||
[UninstallDelete]
|
||||
Type: files; Name: "{app}\*"
|
||||
Type: filesandordirs; Name: "{app}\*"
|
||||
|
|
@ -0,0 +1,780 @@
|
|||
; ParadisEO install script
|
||||
; Author: Thomas Legrand
|
||||
|
||||
#define cmakeLookupWizardPageIndex= 8
|
||||
#define generatorWizardPageIndex= 8
|
||||
#define buildModeWizardPageIndex= 9
|
||||
#define launchBuildWizardPageIndex= 12
|
||||
|
||||
#define ctestMemCheckDummyError= 16
|
||||
#define dartSubmissionError= 64
|
||||
|
||||
//***************************************************************************************//
|
||||
//********** ParadisEO Specific strategy - The rest of the code is generic ************* //
|
||||
//***************************************************************************************//
|
||||
|
||||
// where will the installer be created ?
|
||||
#define OutputPath="E:\software\paradisEO\windows installer\compiler output"
|
||||
|
||||
// installer source info
|
||||
#define ParadiseoSourceTag="E:\software\paradisEO\repository\tags\paradiseo-1.1-patch1\*"
|
||||
#define EoTag="E:\software\eo\repository\tag-1.1-patch1\*"
|
||||
|
||||
// installer description info
|
||||
#define Version="1.1"
|
||||
#define VersionMain="ParadisEO-1.1"
|
||||
#define InstallerName="paradiseo-1.1-installer"
|
||||
#define ApplicationName="ParadisEO"
|
||||
#define SetupIconPath="E:\software\paradisEO\repository\utilities\trunk\windows\img\paradiseo.ico"
|
||||
#define WizardMainImage="E:\software\paradisEO\repository\utilities\trunk\windows\img\paradiseo.bmp"
|
||||
#define SkipParadiseoFiles="lib,installParadisEO.sh,paradiseo-peo,.mpd.conf"
|
||||
#define LicenceFile="E:\software\paradisEO\repository\trunk\LICENSE"
|
||||
#define FinalInstructions="E:\software\paradisEO\repository\utilities\trunk\windows\final_instructions.txt"
|
||||
|
||||
// additionnal info
|
||||
#define Company="INRIA"
|
||||
#define AboutUS="INRIA Futurs Dolphin Project-team"
|
||||
#define PublisherURL="http://paradiseo.gforge.inria.fr"
|
||||
#define SupportURL="http://paradiseo.gforge.inria.fr"
|
||||
#define UpdatesURL="http://paradiseo.gforge.inria.fr"
|
||||
|
||||
// logger
|
||||
#define InstallLogger="logger "
|
||||
|
||||
//***************************************************************************************//
|
||||
|
||||
[Setup]
|
||||
AppName={#ApplicationName}
|
||||
AppVerName={#VersionMain}
|
||||
AppPublisher={#AboutUS}
|
||||
AppPublisherURL={#PublisherURL}
|
||||
AppSupportURL={#SupportURL}
|
||||
AppUpdatesURL={#UpdatesURL}
|
||||
DefaultDirName={pf}\{#ApplicationName}
|
||||
DefaultGroupName={#ApplicationName}
|
||||
LicenseFile={#LicenceFile}
|
||||
OutputDir={#OutputPath}
|
||||
OutputBaseFilename={#InstallerName}
|
||||
Compression=lzma/max
|
||||
SolidCompression=yes
|
||||
WizardImageFile={#WizardMainImage}
|
||||
SetupIconFile={#SetupIconPath}
|
||||
UninstallDisplayName={#ApplicationName}
|
||||
WindowVisible=False
|
||||
RestartIfNeededByRun=False
|
||||
ShowTasksTreeLines=True
|
||||
VersionInfoVersion={#Version}
|
||||
VersionInfoCompany={#Company}
|
||||
VersionInfoDescription={#ApplicationName}
|
||||
VersionInfoTextVersion={#ApplicationName}
|
||||
SetupLogging=yes
|
||||
|
||||
[Languages]
|
||||
Name: "english"; MessagesFile: "compiler:Default.isl"
|
||||
Name: "french"; MessagesFile: "compiler:Languages\French.isl"
|
||||
|
||||
[CustomMessages]
|
||||
english.CMakeMissing=CMake cannot be found on your computer. You must have CMake installed to use ParadisEO.
|
||||
english.FullInstall=Full installation
|
||||
english.CustomInstall=Custom installation
|
||||
english.EoDescription=EO: Evolving Objects: Library for evolutionnary computation
|
||||
english.MoDescription=MO: Moving Objects: Single based metaheuristics computation
|
||||
english.MoeoDescription=MOEO: Multi Objective Evolving Objects
|
||||
english.ErrorOccured=An error has occured
|
||||
english.LaunchingBuildProcess=Launching CMake build process and the compilation...
|
||||
english.LaunchingEOBuildProcess=Configuring ParadisEO-EO...
|
||||
english.LaunchingMOBuildProcess=Configuring ParadisEO-MO...
|
||||
english.LaunchingMOEOBuildProcess=Configuring ParadisEO-MOEO...
|
||||
english.LaunchingEOCompilation=Compiling ParadisEO-EO...
|
||||
english.LaunchingMOCompilation=Compiling ParadisEO-MO...
|
||||
english.LaunchingMOEOCompilation=Compiling ParadisEO-MOEO...
|
||||
english.error=Error
|
||||
english.ErrorAbort=Error,abort.
|
||||
english.CannotCompleteInstall=Impossible to complete the install of
|
||||
english.BPFinished=Finished
|
||||
english.BPSuccessfull=The installation has been successfully performed.
|
||||
english.SelectCompiler=Select the program you want to use to compile:
|
||||
english.ChooseGeneratorTitle=ParadisEO compilation
|
||||
english.ChooseGeneratorSubtitle=Compiler selection
|
||||
english.GenCMakeFiles=CMake configuration
|
||||
english.BuildProcess=CMake configuration files generation and compilation
|
||||
english.NextGenCaption=Click on the 'Next' button to launch CMake and compile ...
|
||||
english.ProcessingCMake=Configuration and compilation
|
||||
english.DolphinMsg=ParadisEO: An INRIA Dolphin Team project - Program developped by Thomas Legrand
|
||||
english.BuildMode=Build and compilation mode.
|
||||
english.SelectBuildMode=Please select the build and compilation mode:
|
||||
english.Recommended=(recommended)
|
||||
english.AcceptSendReport=I agree that the installation report will be sent to the DOLPHIN Team.
|
||||
english.NoInfoSend1=Neither personal information nor data refering your computer will be sent.
|
||||
english.NoInfoSend2=I could get a personalized and adapted support.
|
||||
english.PathToCMakeTitle=Path to CMake
|
||||
english.PathToCMakeSubTitle=CMake has not been found by the assistant. Please select the directory where CMake is installed on your computer
|
||||
english.CMakeNotFound=The CMake binaries cannot be found in this directory
|
||||
english.CMakeDownloadMsg=CMake available for download at:
|
||||
english.NextGenCaptionPgmBegin= Notice that the generator you chose must be installed on your computer.
|
||||
|
||||
french.CMakeMissing=CMake n'a pas été détecté sur votre ordinateur. CMake doit être installé pour utiliser ParadisEO.
|
||||
french.FullInstall=Installation complète
|
||||
french.CustomInstall=Installation personnalisée
|
||||
french.EoDescription= EO: Evolving Objects: Librairie dédiée aux méthodes évolutionnaires
|
||||
french.MoDescription= MO: Moving Objects: Métaheuristiques à base de solutions uniques
|
||||
french.MoeoDescription= MOEO: Multi Objective Evolving Objects: Module multi-objectif
|
||||
french.ErrorOccured=Une erreur est survenue
|
||||
french.LaunchingBuildProcess=Construction des fichiers de configuration...
|
||||
french.LaunchingEOBuildProcess=Configuration de ParadisEO-EO...
|
||||
french.LaunchingMOBuildProcess=Configuration de ParadisEO-MO...
|
||||
french.LaunchingMOEOBuildProcess=Configuration de ParadisEO-MOEO...
|
||||
french.LaunchingEOCompilation=Compilation de ParadisEO-EO...
|
||||
french.LaunchingMOCompilation=Compilation de ParadisEO-MO...
|
||||
french.LaunchingMOEOCompilation=Compilation de ParadisEO-MOEO..
|
||||
french.error=Erreur
|
||||
french.ErrorAbort=Une erreur est survenue, installation annulée.
|
||||
french.CannotCompleteInstall=Impossible de terminer l'installation de
|
||||
french.BPFinished=Fin de l'installation
|
||||
french.BPSuccessfull=Succès.
|
||||
french.SelectCompiler=Sélectionnez le programme que vous souhaitez utiliser pour compiler:
|
||||
french.ChooseGeneratorTitle=Compilation de ParadisEO
|
||||
french.ChooseGeneratorSubtitle=Selection du compilateur à utiliser
|
||||
french.GenCMakeFiles=Configuration CMake
|
||||
french.BuildProcess=Génération des fichiers de configuration CMake et compilation
|
||||
french.NextGenCaption=Cliquez sur le bouton 'Suivant' pour lancer CMake et compiler.
|
||||
french.ProcessingCMake=Configuration et compilation
|
||||
french.DolphinMsg=ParadisEO: Un projet de l'équipe INRIA Dolphin - Programme réalisé par Thomas Legrand
|
||||
french.BuildMode=Choix du mode de compilation.
|
||||
french.SelectBuildMode=Veuillez sélectionner le type de compilation :
|
||||
french.Recommended=(recommandé)
|
||||
french.AcceptSendReport=Je souhaite que le rapport d'installation soit envoyé à l'équipe DOLPHIN.
|
||||
french.NoInfoSend1=Aucune information personnelle ou liée à mon poste de travail ne sera transmise.
|
||||
french.NoInfoSend2=Je pourrais bénéficier d'un support personnalisé et adapté.
|
||||
french.PathToCMakeTitle=Chemin vers CMake
|
||||
french.PathToCMakeSubTitle=CMake n'a pas été trouvé par l'assistant. Veuillez sélectionner le répertoire d'installation de CMake sur votre ordinateur
|
||||
french.CMakeNotFound=Les exécutables CMake sont introuvables dans ce répertoire
|
||||
french.CMakeDownloadMsg=CMake téléchargeable à l'adresse:
|
||||
french.NextGenCaptionPgmBegin= Notez que le générateur que vous avez sélectionné doit être installé sur votre ordinateur.
|
||||
|
||||
|
||||
[Types]
|
||||
Name: "custom"; Description: {cm:CustomInstall}; Flags: iscustom
|
||||
Name: "full"; Description: {cm:FullInstall}
|
||||
|
||||
[Components]
|
||||
Name: eo; Description: {cm:EoDescription}; Types: full custom; Flags: fixed
|
||||
Name: mo; Description:{cm:MoDescription}; Types: full custom;
|
||||
Name: moeo; Description: {cm:MoeoDescription}; Types: full custom;
|
||||
|
||||
|
||||
[Files]
|
||||
Source: {#ParadiseoSourceTag}; DestDir: "{app}"; Excludes: {#SkipParadiseoFiles} ; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
Source: {#EoTag}; DestDir: "{app}"; Excludes: "*.~*" ; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
|
||||
; SPECIFIC CORRECTION - EO TAG NOT MODIFIED, USED TRUNK SOURCES
|
||||
Source: E:\software\eo\repository\tag-1.1-patch1\paradiseo-eo\CMakeLists.txt ; DestDir: "{app}\paradiseo-eo"; Excludes: "*.~*" ; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
Source: E:\software\eo\repository\tag-1.1-patch1\paradiseo-eo\src\utils\pipecom.h; DestDir: "{app}\paradiseo-eo\src\utils"; Excludes: "*.~*" ; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
Source: E:\software\eo\repository\tag-1.1-patch1\paradiseo-eo\src\utils\pipecom.cpp; DestDir: "{app}\paradiseo-eo\src\utils"; Excludes: "*.~*" ; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
Source: E:\software\eo\repository\tag-1.1-patch1\paradiseo-eo\src\eoCtrlCContinue.h; DestDir: "{app}\paradiseo-eo\src"; Excludes: "*.~*" ; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
Source: E:\software\eo\repository\tag-1.1-patch1\paradiseo-eo\src\eoCtrlCContinue.cpp; DestDir: "{app}\paradiseo-eo\src"; Excludes: "*.~*" ; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
|
||||
[Dirs]
|
||||
Name: {app}\logs
|
||||
|
||||
[Code]
|
||||
var
|
||||
GeneratorPage: TWizardPage;
|
||||
BuildModePage: TWizardPage;
|
||||
BuildProcessPage: TWizardPage;
|
||||
CMakeLookupPage: TWizardPage;
|
||||
ProgressPage: TOutputProgressWizardPage;
|
||||
GeneratorBox: TNewCheckListBox;
|
||||
BuildModeBox: TNewCheckListBox;
|
||||
SendReportBox: TCheckBox;
|
||||
Generator: String;
|
||||
CTestConfig: String;
|
||||
CMakeBinDir: String;
|
||||
ProgressBarLabel: TLabel;
|
||||
ProgressBar: TNewProgressBar;
|
||||
FolderTreeView: TFolderTreeView;
|
||||
CMakeAdditionalTags: String;
|
||||
OkToCopyLog : Boolean;
|
||||
TodaysName : String;
|
||||
|
||||
|
||||
function GetToday : String;
|
||||
begin
|
||||
Result := GetDateTimeString ('yyyy/mm/dd', '-', #0);
|
||||
end;
|
||||
|
||||
function GetTodaysName (Param: String): String;
|
||||
begin
|
||||
if ('' = TodaysName) then
|
||||
begin
|
||||
TodaysName := GetToday ();
|
||||
end;
|
||||
Result := TodaysName;
|
||||
end;
|
||||
|
||||
procedure SetCmakeGenerator();
|
||||
begin
|
||||
if GeneratorBox.Checked[1] then
|
||||
begin
|
||||
Generator:='Visual Studio 9 2008' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[2] then
|
||||
begin
|
||||
Generator:='Visual Studio 9 2008 Win64' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[3] then
|
||||
begin
|
||||
Generator:='Visual Studio 8 2005' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[4] then
|
||||
begin
|
||||
Generator:='Visual Studio 8 2005 Win64' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[5] then
|
||||
begin
|
||||
Generator:='Visual Studio 7 .NET 2003' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[6] then
|
||||
begin
|
||||
Generator:='Visual Studio 7' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[7] then
|
||||
begin
|
||||
Generator:='Visual Studio 6' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[8] then
|
||||
begin
|
||||
Generator:='NMake Makefiles' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[9] then
|
||||
begin
|
||||
Generator:='MinGW Makefiles' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[10] then
|
||||
begin
|
||||
Generator:='Borland Makefiles' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[11] then
|
||||
begin
|
||||
Generator:='MSYS Makefiles' ;
|
||||
exit;
|
||||
end;
|
||||
if GeneratorBox.Checked[12] then
|
||||
begin
|
||||
Generator:='Watcom WMake' ;
|
||||
exit;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure SetCTestConfig();
|
||||
var
|
||||
MinConfig: String;
|
||||
begin
|
||||
MinConfig:=' -D ExperimentalStart -D ExperimentalBuild -D ExperimentalTest' ;
|
||||
|
||||
if SendReportBox.Checked then
|
||||
begin
|
||||
CTestConfig:= MinConfig + ' -D ExperimentalSubmit' ;
|
||||
end;
|
||||
|
||||
if BuildModeBox.Checked[1] then
|
||||
begin
|
||||
CMakeAdditionalTags:= ' -DENABLE_MINIMAL_CMAKE_TESTING=TRUE -DENABLE_CMAKE_TESTING=FALSE';
|
||||
exit;
|
||||
end;
|
||||
if BuildModeBox.Checked[2] then
|
||||
begin
|
||||
CMakeAdditionalTags:= ' -DENABLE_CMAKE_TESTING=TRUE -DENABLE_MINIMAL_CMAKE_TESTING=FALSE';
|
||||
exit;
|
||||
end;
|
||||
end;
|
||||
|
||||
function isError(ErrorCode: Integer; PrintMsgBox: Boolean): Boolean;
|
||||
begin
|
||||
if not (ErrorCode = 0) then
|
||||
begin
|
||||
if(ErrorCode = {#ctestMemCheckDummyError}) then begin
|
||||
Result:= false;
|
||||
exit;
|
||||
end;
|
||||
if(ErrorCode = {#dartSubmissionError}) then begin
|
||||
Result:= false;
|
||||
exit;
|
||||
end;
|
||||
if(PrintMsgBox) then begin
|
||||
MsgBox(CustomMessage('ErrorOccured') + ': [code='+ IntToStr(ErrorCode) + ']' + ' [' + SysErrorMessage(ErrorCode) + ']' , mbCriticalError, mb_Ok);
|
||||
end;
|
||||
Result:= true;
|
||||
|
||||
end else begin
|
||||
Result:= false;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
function checkCMakeAvailable(Path: String): Integer;
|
||||
var
|
||||
ErrorCode: Integer;
|
||||
begin
|
||||
ShellExec('open', Path + 'cmake.exe','','', SW_SHOWMINIMIZED, ewWaitUntilTerminated, ErrorCode);
|
||||
Result:= ErrorCode;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
function LaunchEOBuildProcess():Integer;
|
||||
var
|
||||
ErrorCode: Integer;
|
||||
FilePath: String;
|
||||
begin
|
||||
Log('[LaunchEOBuildProcess] [begin]');
|
||||
|
||||
// Need the app path
|
||||
FilePath := ExpandConstant('{app}');
|
||||
|
||||
// launch CMake for EO
|
||||
Log('[LaunchEOBuildProcess] Launching: ' + CMakeBinDir + 'cmake.exe' + ' ..\' + ' -G"' + Generator + '"' + CMakeAdditionalTags);
|
||||
Log('[LaunchEOBuildProcess] From: ' + FilePath +'\paradiseo-eo\build');
|
||||
ShellExec ('open',CMakeBinDir + 'cmake.exe',' ..\' + ' -G"' + Generator + '"' + CMakeAdditionalTags, FilePath +'\paradiseo-eo\build', SW_SHOWNORMAL, ewWaitUntilTerminated, ErrorCode);
|
||||
Log('[LaunchEOBuildProcess] Error code=' + IntToStr(ErrorCode));
|
||||
Log('[LaunchEOBuildProcess] [End]');
|
||||
Result:= ErrorCode;
|
||||
end;
|
||||
|
||||
|
||||
function LaunchEOCompilation():Integer;
|
||||
var
|
||||
ErrorCode: Integer;
|
||||
FilePath: String;
|
||||
begin
|
||||
Log('[LaunchEOCompilation] [begin]');
|
||||
|
||||
// Need the app path
|
||||
FilePath := ExpandConstant('{app}');
|
||||
|
||||
// launch CTest for EO
|
||||
Log('[LaunchEOCompilation] Launching: ' + CMakeBinDir + ' ctest.exe ' + CTestConfig);
|
||||
Log('[LaunchEOCompilation] From: ' + FilePath +'\paradiseo-eo\build');
|
||||
Exec(ExpandConstant ('{sys}\CMD.EXE'), ' /C ' + '"' + CMakeBinDir + 'ctest.exe' + ' "' + CTestConfig + ' > build-eo-' + GetTodaysName ('') + '.log',FilePath +'\paradiseo-eo\build', SW_SHOWNORMAL, ewWaitUntilTerminated,ErrorCode);
|
||||
FileCopy (FilePath +'\paradiseo-eo\build\build-eo-' + GetTodaysName ('') + '.log', ExpandConstant ('{app}\logs\build-eo-') + GetTodaysName ('') + '.log' , FALSE);
|
||||
Log('[LaunchEOCompilation] Error code=' + IntToStr(ErrorCode));
|
||||
Log('[LaunchEOCompilation] [End]');
|
||||
Result:= ErrorCode;
|
||||
end;
|
||||
|
||||
|
||||
function LaunchMOBuildProcess(): Integer;
|
||||
var
|
||||
ErrorCode: Integer;
|
||||
FilePath: String;
|
||||
begin
|
||||
Log('[LaunchMOBuildProcess] [begin]');
|
||||
|
||||
// Need the app path
|
||||
FilePath := ExpandConstant('{app}');
|
||||
|
||||
// launch CMake for MO
|
||||
Log('[LaunchMOBuildProcess] Launching: ' + CMakeBinDir + 'cmake.exe' + ' ..\' + ' -G"' + Generator + '" -Dconfig="'+FilePath + '\install.cmake"' + CMakeAdditionalTags);
|
||||
Log('[LaunchMOBuildProcess] From: ' + FilePath +'\paradiseo-mo\build');
|
||||
ShellExec('open',CMakeBinDir+ 'cmake.exe ',' ..\' + ' -G"' + Generator + '" -Dconfig="'+FilePath + '\install.cmake"' + CMakeAdditionalTags,FilePath +'\paradiseo-mo\build', SW_SHOWNORMAL, ewWaitUntilTerminated, Errorcode);
|
||||
Log('[LaunchMOBuildProcess] Error code=' + IntToStr(ErrorCode));
|
||||
Log('[LaunchMOBuildProcess] [End]');
|
||||
Result:= ErrorCode;
|
||||
end;
|
||||
|
||||
|
||||
function LaunchMOCompilation():Integer;
|
||||
var
|
||||
ErrorCode: Integer;
|
||||
FilePath: String;
|
||||
begin
|
||||
Log('[LaunchMOCompilation] [begin]');
|
||||
|
||||
// Need the app path
|
||||
FilePath := ExpandConstant('{app}');
|
||||
|
||||
// launch CTest for MO
|
||||
Log('[LaunchMOCompilation] Launching: ' + CMakeBinDir + ' ctest.exe ' + CTestConfig);
|
||||
Log('[LaunchMOCompilation] From: ' + FilePath +'\paradiseo-mo\build');
|
||||
Exec(ExpandConstant ('{sys}\CMD.EXE'), ' /C ' + '"' + CMakeBinDir + 'ctest.exe' + ' "' + CTestConfig + ' > build-mo-' + GetTodaysName ('') + '.log',FilePath +'\paradiseo-mo\build', SW_SHOWNORMAL, ewWaitUntilTerminated,ErrorCode);
|
||||
FileCopy (FilePath +'\paradiseo-mo\build\build-mo-' + GetTodaysName ('') + '.log', ExpandConstant ('{app}\logs\build-mo-') + GetTodaysName ('') + '.log' , FALSE);
|
||||
Log('[LaunchMOCompilation] Error code=' + IntToStr(ErrorCode));
|
||||
Log('[LaunchMOCompilation] [End]');
|
||||
Result:= ErrorCode;
|
||||
end;
|
||||
|
||||
|
||||
function LaunchMOEOBuildProcess(): Integer;
|
||||
var
|
||||
ErrorCode: Integer;
|
||||
FilePath: String;
|
||||
begin
|
||||
// Need the app path
|
||||
FilePath := ExpandConstant('{app}');
|
||||
|
||||
// launch CMake for MOEO
|
||||
Log('[LaunchMOEOBuildProcess] Launching: ' + CMakeBinDir + 'cmake.exe' + ' ..\' + ' -G"' + Generator + '" -Dconfig="'+FilePath + '\install.cmake"' + CMakeAdditionalTags);
|
||||
Log('[LaunchMOEOBuildProcess] From: ' + FilePath +'\paradiseo-moeo\build');
|
||||
ShellExec('open', CMakeBinDir + 'cmake.exe', ' ..\' + ' -G"' + Generator + '" -Dconfig="'+FilePath + '\install.cmake"' + CMakeAdditionalTags, FilePath +'\paradiseo-moeo\build', SW_SHOWNORMAL, ewWaitUntilTerminated, ErrorCode);
|
||||
Log('[LaunchMOEOBuildProcess] Error code=' + IntToStr(ErrorCode));
|
||||
Log('[LaunchMOEOBuildProcess] [End]');
|
||||
Result:= ErrorCode;
|
||||
Result:= ErrorCode;
|
||||
end;
|
||||
|
||||
|
||||
function LaunchMOEOCompilation():Integer;
|
||||
var
|
||||
ErrorCode: Integer;
|
||||
FilePath: String;
|
||||
begin
|
||||
Log('[LaunchMOEOCompilation] [begin]');
|
||||
|
||||
// Need the app path
|
||||
FilePath := ExpandConstant('{app}');
|
||||
|
||||
// launch CTest for MOEO
|
||||
Log('[LaunchMOEOCompilation] Launching: ' + CMakeBinDir + ' ctest.exe ' + CTestConfig);
|
||||
Log('[LaunchMOEOCompilation] From: ' + FilePath +'\paradiseo-moeo\build');
|
||||
Exec(ExpandConstant ('{sys}\CMD.EXE'), ' /C ' + '"' + CMakeBinDir + 'ctest.exe' + ' "' + CTestConfig + ' > build-moeo-' + GetTodaysName ('') + '.log',FilePath +'\paradiseo-moeo\build', SW_SHOWNORMAL, ewWaitUntilTerminated,ErrorCode);
|
||||
FileCopy (FilePath +'\paradiseo-moeo\build\build-moeo-' + GetTodaysName ('') + '.log', ExpandConstant ('{app}\logs\build-moeo-') + GetTodaysName ('') + '.log' , FALSE);
|
||||
Log('[LaunchMOEOCompilation] Error code=' + IntToStr(ErrorCode));
|
||||
Log('[LaunchMOEOCompilation] [End]');
|
||||
Result:= ErrorCode;
|
||||
end;
|
||||
|
||||
|
||||
procedure updateProgressBar(StartFrom: Integer;ProgressPurcentage: Integer);
|
||||
var
|
||||
I: Integer;
|
||||
begin
|
||||
try
|
||||
for I := StartFrom to ProgressPurcentage do begin
|
||||
ProgressPage.SetProgress(I, 100);
|
||||
Sleep(50);
|
||||
end;
|
||||
finally
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
function NextButtonClick(CurPageID: Integer): Boolean;
|
||||
begin
|
||||
|
||||
if (CurPageID = BuildProcessPage.ID) then
|
||||
begin
|
||||
ProgressPage.SetText('',CustomMessage('LaunchingBuildProcess'));
|
||||
updateProgressBar(0,0);
|
||||
ProgressPage.Show;
|
||||
|
||||
SetCmakeGenerator();
|
||||
SetCTestConfig();
|
||||
|
||||
updateProgressBar(0,5);
|
||||
//***************** EO *************************
|
||||
ProgressPage.SetText('',CustomMessage('LaunchingEOBuildProcess'));
|
||||
if (isError(launchEOBuildProcess(),true)) then
|
||||
begin
|
||||
ProgressPage.SetText(CustomMessage('Error'), CustomMessage('ErrorAbort'));
|
||||
MsgBox(CustomMessage('CannotCompleteInstall')+' ParadisEO-EO' , mbCriticalError, mb_Ok);
|
||||
ProgressPage.Hide;
|
||||
Result := True;
|
||||
exit;
|
||||
end;
|
||||
updateProgressBar(5,20);
|
||||
|
||||
ProgressPage.SetText('',CustomMessage('LaunchingEOCompilation'));
|
||||
if (isError(LaunchEOCompilation(),true)) then
|
||||
begin
|
||||
ProgressPage.SetText(CustomMessage('Error'), CustomMessage('ErrorAbort'));
|
||||
MsgBox(CustomMessage('CannotCompleteInstall')+' ParadisEO-EO' , mbCriticalError, mb_Ok);
|
||||
ProgressPage.Hide;
|
||||
Result := True;
|
||||
exit;
|
||||
end;
|
||||
updateProgressBar(20,50);
|
||||
|
||||
|
||||
//***************** MO *************************
|
||||
if IsComponentSelected('mo') then
|
||||
begin
|
||||
ProgressPage.SetText('',CustomMessage('LaunchingMOBuildProcess'));
|
||||
if (isError(launchMOBuildProcess(),true)) then
|
||||
begin
|
||||
ProgressPage.SetText(CustomMessage('Error'), CustomMessage('ErrorAbort'));
|
||||
MsgBox(CustomMessage('CannotCompleteInstall')+' ParadisEO-MO' , mbCriticalError, mb_Ok);
|
||||
ProgressPage.Hide;
|
||||
Result := True;
|
||||
exit;
|
||||
end;
|
||||
updateProgressBar(50,60);
|
||||
|
||||
ProgressPage.SetText('',CustomMessage('LaunchingMOCompilation'));
|
||||
if (isError(LaunchMOCompilation(),true)) then
|
||||
begin
|
||||
ProgressPage.SetText(CustomMessage('Error'), CustomMessage('ErrorAbort'));
|
||||
MsgBox(CustomMessage('CannotCompleteInstall')+' ParadisEO-MO' , mbCriticalError, mb_Ok);
|
||||
ProgressPage.Hide;
|
||||
Result := True;
|
||||
exit;
|
||||
end;
|
||||
updateProgressBar(60,80);
|
||||
end else
|
||||
updateProgressBar(50,60);
|
||||
|
||||
//***************** MOEO *************************
|
||||
if IsComponentSelected('moeo') then
|
||||
begin
|
||||
ProgressPage.SetText('',CustomMessage('LaunchingMOEOBuildProcess'));
|
||||
if (isError(launchMOEOBuildProcess(),true)) then
|
||||
begin
|
||||
ProgressPage.SetText(CustomMessage('Error'), CustomMessage('ErrorAbort'));
|
||||
MsgBox(CustomMessage('CannotCompleteInstall')+' ParadisEO-MOEO' , mbCriticalError, mb_Ok);
|
||||
ProgressPage.Hide;
|
||||
Result := True;
|
||||
exit;
|
||||
end;
|
||||
updateProgressBar(60,75);
|
||||
|
||||
ProgressPage.SetText('',CustomMessage('LaunchingMOEOCompilation'));
|
||||
if (isError(LaunchMOEOCompilation(),true)) then
|
||||
begin
|
||||
ProgressPage.SetText(CustomMessage('Error'), CustomMessage('ErrorAbort'));
|
||||
MsgBox(CustomMessage('CannotCompleteInstall')+' ParadisEO-MOEO' , mbCriticalError, mb_Ok);
|
||||
ProgressPage.Hide;
|
||||
Result := True;
|
||||
exit;
|
||||
end;
|
||||
updateProgressBar(75,100);
|
||||
end else
|
||||
updateProgressBar(60,100);
|
||||
|
||||
ProgressPage.SetText(CustomMessage('BPFinished'), CustomMessage('BPSuccessfull'));
|
||||
sleep(2000);
|
||||
ProgressPage.Hide;
|
||||
end;
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
|
||||
function Skeleton_NextButtonClick(Page: TWizardPage): Boolean;
|
||||
begin
|
||||
{ Get the Cmake directory provided by the user }
|
||||
CMakeBinDir:= FolderTreeView.Directory + '\';
|
||||
if isError(checkCMakeAvailable(CMakeBinDir),false) then begin
|
||||
CMakeBinDir:= FolderTreeView.Directory + '\' + 'bin\';
|
||||
if isError(checkCMakeAvailable(CMakeBinDir),false) then begin
|
||||
MsgBox(CustomMessage('CMakeNotFound'), mbCriticalError, mb_Ok);
|
||||
Result := False;
|
||||
exit;
|
||||
end else
|
||||
Result := True; exit;
|
||||
|
||||
MsgBox(CustomMessage('CMakeNotFound'), mbCriticalError, mb_Ok);
|
||||
Result := False;
|
||||
end else
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
|
||||
Procedure CMakeURLLabelOnClick(Sender: TObject);
|
||||
var
|
||||
ErrorCode: Integer;
|
||||
begin
|
||||
ShellExec('open', 'http://www.cmake.org/HTML/Download.html', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure CreateTheWizardPages;
|
||||
var
|
||||
Lbl1,Lbl2,Lbl3,Lbl4,Lbl5,Lbl6: TLabel;
|
||||
CMakeURLLabel: TNewStaticText;
|
||||
begin
|
||||
|
||||
if (isError(checkCMakeAvailable(''),False)) then begin
|
||||
CMakeLookupPage := CreateCustomPage({#cmakeLookupWizardPageIndex},CustomMessage('PathToCMakeTitle'),CustomMessage('PathToCMakeSubtitle'));
|
||||
FolderTreeView := TFolderTreeView.Create(CMakeLookupPage);
|
||||
FolderTreeView.Top := ScaleY(40)
|
||||
FolderTreeView.Width := CMakeLookupPage.SurfaceWidth;
|
||||
FolderTreeView.Height := CMakeLookupPage.SurfaceHeight;
|
||||
FolderTreeView.Parent := CMakeLookupPage.Surface;
|
||||
FolderTreeView.Directory := '';
|
||||
|
||||
Lbl4 := TLabel.Create(CMakeLookupPage);
|
||||
Lbl4.Top := ScaleY(20);
|
||||
Lbl4.Caption := CustomMessage('CMakeDownloadMsg');
|
||||
Lbl4.AutoSize := True;
|
||||
Lbl4.Parent := CMakeLookupPage.Surface;
|
||||
Lbl4.Font.Size := 8 ;
|
||||
Lbl4.Top := ScaleY(0);
|
||||
Lbl4.Left := ScaleX(5);
|
||||
|
||||
CMakeURLLabel := TNewStaticText.Create(CMakeLookupPage);
|
||||
CMakeURLLabel.Caption := 'http://www.cmake.org/HTML/Download.html';
|
||||
CMakeURLLabel.Cursor := crHand;
|
||||
CMakeURLLabel.OnClick:= @CMakeURLLabelOnClick;
|
||||
CMakeURLLabel.Parent := CMakeLookupPage.Surface;
|
||||
CMakeURLLabel.Font.Style := CMakeURLLabel.Font.Style + [fsUnderline];
|
||||
CMakeURLLabel.Font.Color := clBlue;
|
||||
CMakeURLLabel.Top := ScaleY(0);
|
||||
CMakeURLLabel.Left := ScaleX(170);
|
||||
|
||||
CMakeLookupPage.OnNextButtonClick := @Skeleton_NextButtonClick;
|
||||
end;
|
||||
|
||||
GeneratorPage := CreateCustomPage({#generatorWizardPageIndex}, CustomMessage('ChooseGeneratorTitle'), CustomMessage('ChooseGeneratorSubtitle'));
|
||||
GeneratorBox := TNewCheckListBox.Create(GeneratorPage);
|
||||
GeneratorBox.Top := ScaleY(0);
|
||||
GeneratorBox.Width := GeneratorPage.SurfaceWidth;
|
||||
GeneratorBox.Height := ScaleY(250);
|
||||
GeneratorBox.BorderStyle := bsNone;
|
||||
GeneratorBox.ParentColor := True;
|
||||
GeneratorBox.MinItemHeight := WizardForm.TasksList.MinItemHeight;
|
||||
GeneratorBox.ShowLines := False;
|
||||
GeneratorBox.WantTabs := True;
|
||||
GeneratorBox.Parent := GeneratorPage.Surface;
|
||||
GeneratorBox.AddGroup(CustomMessage('SelectCompiler'), '', 0, nil);
|
||||
GeneratorBox.AddRadioButton('Visual Studio 9 2008', '', 0, True, True, nil);
|
||||
GeneratorBox.AddRadioButton('Visual Studio 9 2008 Win64', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('Visual Studio 8 2005', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('Visual Studio 8 2005 Win64', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('Visual Studio 7 .NET 2003', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('Visual Studio 7', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('Visual Studio 6', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('NMake', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('MinGW', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('Borland', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('MSYS', '', 0, False, True, nil);
|
||||
GeneratorBox.AddRadioButton('Watcom WMake', '', 0, False, True, nil);
|
||||
|
||||
|
||||
BuildProcessPage := CreateCustomPage({#launchBuildWizardPageIndex},CustomMessage('GenCMakeFiles'),CustomMessage('BuildProcess'));
|
||||
|
||||
BuildModePage := CreateCustomPage({#buildModeWizardPageIndex}, CustomMessage('BuildMode'), '');
|
||||
BuildModeBox := TNewCheckListBox.Create(BuildModePage);
|
||||
BuildModeBox.Top := ScaleY(0);
|
||||
BuildModeBox.Width := BuildModePage.SurfaceWidth;
|
||||
BuildModeBox.Height := ScaleY(80);
|
||||
BuildModeBox.BorderStyle := bsNone;
|
||||
BuildModeBox.ParentColor := True;
|
||||
BuildModeBox.MinItemHeight := WizardForm.TasksList.MinItemHeight;
|
||||
BuildModeBox.ShowLines := False;
|
||||
BuildModeBox.WantTabs := True;
|
||||
BuildModeBox.Parent := BuildModePage.Surface;
|
||||
BuildModeBox.AddGroup(CustomMessage('SelectBuildMode'), '', 0, nil);
|
||||
BuildModeBox.AddRadioButton('Normal = Release ' + CustomMessage('Recommended'), '', 0, True, True, nil);
|
||||
BuildModeBox.AddRadioButton('Debug', '', 0, False, True, nil);
|
||||
|
||||
SendReportBox := TCheckBox.Create(BuildModePage);
|
||||
SendReportBox.Top := BuildModeBox.Top + BuildModeBox.Height + ScaleY(90);
|
||||
SendReportBox.Width := BuildModePage.SurfaceWidth;
|
||||
SendReportBox.Height := ScaleY(15);
|
||||
SendReportBox.Caption := CustomMessage('AcceptSendReport');
|
||||
SendReportBox.Checked := True;
|
||||
SendReportBox.Parent := BuildModePage.Surface;
|
||||
SendReportBox.Font.Size := 7;
|
||||
|
||||
Lbl1 := TLabel.Create(BuildModePage);
|
||||
Lbl1.Top := SendReportBox.Top + SendReportBox.Height + ScaleY(5);
|
||||
Lbl1.Caption := CustomMessage('NoInfoSend1');
|
||||
Lbl1.AutoSize := True;
|
||||
Lbl1.Parent := BuildModePage.Surface;
|
||||
Lbl1.Font.Size := 7 ;
|
||||
Lbl1.Left := 15;
|
||||
|
||||
Lbl2 := TLabel.Create(BuildModePage);
|
||||
Lbl2.Top := Lbl1.Top + Lbl1.Height + ScaleY(5);
|
||||
Lbl2.Caption := CustomMessage('NoInfoSend2');
|
||||
Lbl2.AutoSize := True;
|
||||
Lbl2.Parent := BuildModePage.Surface;
|
||||
Lbl2.Font.Size := 7 ;
|
||||
Lbl2.Left := 15;
|
||||
|
||||
Lbl3 := TLabel.Create(BuildProcessPage);
|
||||
Lbl3.Top := ScaleY(20);
|
||||
Lbl3.Caption :=CustomMessage('NextGenCaption');
|
||||
Lbl3.AutoSize := True;
|
||||
Lbl3.Parent := BuildProcessPage.Surface;
|
||||
|
||||
Lbl5 := TLabel.Create(BuildProcessPage);
|
||||
Lbl5.Top := ScaleY(40);
|
||||
Lbl5.Left := ScaleX(-3);
|
||||
Lbl5.Caption :=CustomMessage('NextGenCaptionPgmBegin');
|
||||
Lbl5.AutoSize := True;
|
||||
Lbl5.Parent := BuildProcessPage.Surface;
|
||||
|
||||
ProgressPage := CreateOutputProgressPage(CustomMessage('ProcessingCMake'),CustomMessage('BuildProcess'));
|
||||
end;
|
||||
|
||||
procedure AboutButtonOnClick(Sender: TObject);
|
||||
begin
|
||||
MsgBox(CustomMessage('DolphinMsg'), mbInformation, mb_Ok);
|
||||
end;
|
||||
|
||||
|
||||
procedure URLLabelOnClick(Sender: TObject);
|
||||
var
|
||||
ErrorCode: Integer;
|
||||
begin
|
||||
ShellExec('open', 'http://paradiseo.gforge.inria.fr', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
|
||||
end;
|
||||
|
||||
|
||||
procedure InitializeWizard();
|
||||
var
|
||||
AboutButton, CancelButton: TButton;
|
||||
URLLabel: TNewStaticText;
|
||||
begin
|
||||
CreateTheWizardPages;
|
||||
CancelButton := WizardForm.CancelButton;
|
||||
|
||||
AboutButton := TButton.Create(WizardForm);
|
||||
AboutButton.Left := WizardForm.ClientWidth - CancelButton.Left - CancelButton.Width - ScaleX(5);
|
||||
AboutButton.Top := CancelButton.Top;
|
||||
AboutButton.Width := CancelButton.Width;
|
||||
AboutButton.Height := CancelButton.Height;
|
||||
AboutButton.Caption := '&About...';
|
||||
AboutButton.OnClick := @AboutButtonOnClick;
|
||||
AboutButton.Parent := WizardForm;
|
||||
|
||||
URLLabel := TNewStaticText.Create(WizardForm);
|
||||
URLLabel.Caption := 'http://paradiseo.gforge.inria.fr';
|
||||
URLLabel.Cursor := crHand;
|
||||
URLLabel.OnClick := @URLLabelOnClick;
|
||||
URLLabel.Parent := WizardForm;
|
||||
URLLabel.Font.Style := URLLabel.Font.Style + [fsUnderline];
|
||||
URLLabel.Font.Color := clBlue;
|
||||
URLLabel.Top := AboutButton.Top + AboutButton.Height - URLLabel.Height - 2;
|
||||
URLLabel.Left := AboutButton.Left + AboutButton.Width + ScaleX(10);
|
||||
end;
|
||||
|
||||
procedure CurStepChanged(CurStep: TSetupStep);
|
||||
begin
|
||||
if CurStep = ssDone then
|
||||
OkToCopyLog := True;
|
||||
end;
|
||||
|
||||
|
||||
procedure DeinitializeSetup();
|
||||
begin
|
||||
if OkToCopyLog then
|
||||
FileCopy (ExpandConstant ('{log}'), ExpandConstant ('{app}\logs\install-') + GetTodaysName ('') + '.log' , FALSE);
|
||||
RestartReplace (ExpandConstant ('{log}'), '');
|
||||
end;
|
||||
|
||||
|
||||
[UninstallDelete]
|
||||
Type: files; Name: "{app}\*"
|
||||
Type: filesandordirs; Name: "{app}\*"
|
||||
BIN
branches/utilities/trunk/archives/htdocs-website-paradiseo-11012008.tar.gz
Executable file
BIN
branches/utilities/trunk/archives/htdocs-website-paradiseo-11012008.tar.gz
Executable file
Binary file not shown.
BIN
branches/utilities/trunk/archives/paradisEO-0.2b.tar.gz
Executable file
BIN
branches/utilities/trunk/archives/paradisEO-0.2b.tar.gz
Executable file
Binary file not shown.
BIN
branches/utilities/trunk/archives/paradisEO-old-sebastien.tar.gz
Executable file
BIN
branches/utilities/trunk/archives/paradisEO-old-sebastien.tar.gz
Executable file
Binary file not shown.
15352
branches/utilities/trunk/flyer/flyer_paradiseo_3.pdf
Normal file
15352
branches/utilities/trunk/flyer/flyer_paradiseo_3.pdf
Normal file
File diff suppressed because one or more lines are too long
17
branches/utilities/trunk/grid/environment/paradiseo.env
Executable file
17
branches/utilities/trunk/grid/environment/paradiseo.env
Executable file
|
|
@ -0,0 +1,17 @@
|
|||
name = paradiseo
|
||||
id =
|
||||
version = 2
|
||||
description = Paradiseo
|
||||
author = clive.canape@inria.fr
|
||||
filebase = file:///home/lille/ccanape/paradiseo.tgz
|
||||
filesite = file://grid5000/postinstall/sid-x64-base-1.0-post.tgz
|
||||
size =
|
||||
initrdpath = /boot/initrd.img-2.6.18-3-amd64
|
||||
kernelpath = /boot/vmlinuz-2.6.18-3-amd64
|
||||
kernelparam =
|
||||
fdisktype = 83
|
||||
filesystem = ext2
|
||||
siteid = 1
|
||||
optsupport = 0
|
||||
user = ccanape
|
||||
|
||||
BIN
branches/utilities/trunk/grid/image/paradiseo.tgz
Executable file
BIN
branches/utilities/trunk/grid/image/paradiseo.tgz
Executable file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue