From dd20cdb26c6101ffcb241884cf0fb532d37f9074 Mon Sep 17 00:00:00 2001 From: nojhan Date: Tue, 17 May 2011 15:47:11 +0200 Subject: [PATCH 01/11] install libpyeo.so in the packages, too --- eo/src/pyeo/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/eo/src/pyeo/CMakeLists.txt b/eo/src/pyeo/CMakeLists.txt index ab0e0c1e6..760283a85 100644 --- a/eo/src/pyeo/CMakeLists.txt +++ b/eo/src/pyeo/CMakeLists.txt @@ -48,6 +48,7 @@ SET(EO_SOURCES # shared library ADD_LIBRARY(PyEO MODULE ${SOURCES} ${EO_SOURCES}) +INSTALL(TARGETS PyEO LIBRARY DESTINATION lib COMPONENT libraries) # python 2.5 must have pyd IF(WIN32 AND NOT CYGWIN) From efcbcdfc21313cc8093f14cf9e118d7d133c0d96 Mon Sep 17 00:00:00 2001 From: nojhan Date: Tue, 17 May 2011 15:59:57 +0200 Subject: [PATCH 02/11] same name prefix for the source archive than for the packages --- archive_current.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/archive_current.sh b/archive_current.sh index c1bfe3778..ff710c59e 100755 --- a/archive_current.sh +++ b/archive_current.sh @@ -1,3 +1,3 @@ today=`date --iso-8601` -git archive --format zip master > eo_${today}.zip +git archive --format zip master > EO-${today}.zip From 334f8c8da01d0d876172806bd513d2975edade4c Mon Sep 17 00:00:00 2001 From: nojhan Date: Tue, 17 May 2011 16:10:37 +0200 Subject: [PATCH 03/11] pick updated news from the 1.2.0 branch and prepare the next version --- eo/NEWS | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/eo/NEWS b/eo/NEWS index f07f9975d..f4625d6c3 100644 --- a/eo/NEWS +++ b/eo/NEWS @@ -1,5 +1,7 @@ -* release 1.2 (10. May. 2011) - - fixed the incremental allocation issue in the variation operator which were +* current version + +* release 1.2 (16. May. 2011) + - fixed the incremental allocation issue in variation operators which were taking too much time for big population sizes - new class eoParallel enabling parallelization in EO using OpenMP. At this time, it only concerns the evaluation operator, for advanced details go to @@ -9,6 +11,8 @@ - script installing EO manually in using symbolic links - evaluators that throw an exception if a maximum time has been reached (wallclock and CPU user time for POSIX systems), independently of the number of generations + - merged parser and parser-logger + - some bugfixes for windows systems * release 1.1 (8. Nov. 2010) - provide cmake build system, remove the old autotools one From 7fcc10e08fe31d88293c43e8f4447ed507f9e5a6 Mon Sep 17 00:00:00 2001 From: nojhan Date: Tue, 17 May 2011 16:57:17 +0200 Subject: [PATCH 04/11] reminders about where to announce stable versions --- eo/ForRelease | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/eo/ForRelease b/eo/ForRelease index 621ee19cc..290cfcb29 100644 --- a/eo/ForRelease +++ b/eo/ForRelease @@ -1,7 +1,7 @@ In order to create a new release from the current repository, perform the following steps: -- Create a branch named "eo_x.y.z" +- If necessary, create a branch named "eo_x.y.z" - Set version number in eo-conf.cmake - Check/update NEWS file, set release date and version in NEWS. - use the "archive_current.sh" script to create the source archive @@ -11,3 +11,35 @@ following steps: - Send announcement to mailing lists - Bump version number to next "x.y.z-edge" in eo-conf.cmake + +When reaching stable versions: +- prepare a message with the following template: + -----8<----- + A new version of the "Evolving Objects" framework is available. + + EO is a template-based, C++ evolutionary computation library which + helps you to write your own stochastic optimization algorithms + insanely fast. + + Learn more about EO on the official website: + http://eodev.sourceforge.net/ + + You will find the release x.y.z at the following address: + https://sourceforge.net/projects/eodev/files/eo/ + + Here is a summary of the change log: + - XXXXX + - and more… + + Do not hesitate to submit the bugs you will face: + https://sourceforge.net/apps/trac/eodev/wiki/WikiStart + + Happy evolutionary hacking. + -----8<----- +- Post the message to: + - EO news https://sourceforge.net/news/?group_id=9775 + - EO mailing list: eodev-main@lists.sourceforge.net + - ParadisEO mailing list: paradiseo-users@lists.gforge.inria.fr + - EC-digest maling list: ec-digest-l@listserv.gmu.edu + - JET mailing list: jet@inria.fr + From 6a03405806719f52276a9d6eb5f6aaad02ba5b1b Mon Sep 17 00:00:00 2001 From: Caner Candan Date: Thu, 19 May 2011 11:57:23 +0200 Subject: [PATCH 05/11] + package_nsis, in order to create package on windows --- eo/package_nsis.bat | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 eo/package_nsis.bat diff --git a/eo/package_nsis.bat b/eo/package_nsis.bat new file mode 100644 index 000000000..d372c4340 --- /dev/null +++ b/eo/package_nsis.bat @@ -0,0 +1,4 @@ +cd release +cpack -G NSIS +cd .. +pause From 626d4bdbadbc318a6834bf29cf5ff8876d63f463 Mon Sep 17 00:00:00 2001 From: Caner Candan Date: Thu, 26 May 2011 14:09:42 +0200 Subject: [PATCH 06/11] * INSTALL --- eo/INSTALL | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eo/INSTALL b/eo/INSTALL index 25f56d4a3..6264e4cea 100644 --- a/eo/INSTALL +++ b/eo/INSTALL @@ -74,7 +74,7 @@ Or go through the following steps: 2. call CPack specifying the desired package system: cpack -G DEB 3. install the package: - sudo apt-get install EO-1.1.1-Linux.deb + sudo dpkg -i EO-1.1.1-Linux.deb Basic installation From 9d3c1cd070109ccef01f18edce89e38de440028c Mon Sep 17 00:00:00 2001 From: Caner Candan Date: Thu, 26 May 2011 14:10:00 +0200 Subject: [PATCH 07/11] * index.html: added a link to FAQ --- website/index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/website/index.html b/website/index.html index 14417b32d..3aed1543e 100644 --- a/website/index.html +++ b/website/index.html @@ -30,6 +30,7 @@
  • Download
  • Tutorial
  • +
  • FAQ
  • API documentation
  • Project page
  • Chat with us
  • From b6fd3d1dcf12ff42aef08fb03e47322732b28cf6 Mon Sep 17 00:00:00 2001 From: nojhan Date: Tue, 14 Jun 2011 14:45:50 +0200 Subject: [PATCH 08/11] the OpenMP library should not be required for the build --- eo/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eo/CMakeLists.txt b/eo/CMakeLists.txt index 52840cf64..5b8840017 100644 --- a/eo/CMakeLists.txt +++ b/eo/CMakeLists.txt @@ -43,7 +43,7 @@ ENABLE_LANGUAGE(C) ### 2) Include required modules / configuration files ##################################################################################### -FIND_PACKAGE(OpenMP REQUIRED) +FIND_PACKAGE(OpenMP) IF(OPENMP_FOUND) SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") From e8e2b6da34309f5ddbedc54c89df10796938a75c Mon Sep 17 00:00:00 2001 From: Caner Candan Date: Fri, 17 Jun 2011 14:26:54 +0200 Subject: [PATCH 09/11] * apply.h: disabled useless functions --- eo/src/apply.h | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/eo/src/apply.h b/eo/src/apply.h index 23a52245b..f685f8d3b 100644 --- a/eo/src/apply.h +++ b/eo/src/apply.h @@ -85,35 +85,35 @@ void apply(eoUF& _proc, std::vector& _pop) @ingroup Utilities */ -template -void omp_apply(eoUF& _proc, std::vector& _pop) -{ - size_t size = _pop.size(); -#pragma omp parallel for if(eo::parallel.isEnabled()) - //doesnot work with gcc 4.1.2 - //default(none) shared(_proc, _pop, size) - for (size_t i = 0; i < size; ++i) - { - _proc(_pop[i]); - } -} +// template +// void omp_apply(eoUF& _proc, std::vector& _pop) +// { +// size_t size = _pop.size(); +// #pragma omp parallel for if(eo::parallel.isEnabled()) +// //doesnot work with gcc 4.1.2 +// //default(none) shared(_proc, _pop, size) +// for (size_t i = 0; i < size; ++i) +// { +// _proc(_pop[i]); +// } +// } /** And now we are using the dynamic scheduling. @ingroup Utilities */ -template -void omp_dynamic_apply(eoUF& _proc, std::vector& _pop) -{ - size_t size = _pop.size(); -#pragma omp parallel for if(eo::parallel.isEnabled()) schedule(dynamic) - //doesnot work with gcc 4.1.2 - //default(none) shared(_proc, _pop, size) - for (size_t i = 0; i < size; ++i) - { - _proc(_pop[i]); - } -} +// template +// void omp_dynamic_apply(eoUF& _proc, std::vector& _pop) +// { +// size_t size = _pop.size(); +// #pragma omp parallel for if(eo::parallel.isEnabled()) schedule(dynamic) +// //doesnot work with gcc 4.1.2 +// //default(none) shared(_proc, _pop, size) +// for (size_t i = 0; i < size; ++i) +// { +// _proc(_pop[i]); +// } +// } #endif From 367ad7fbe5811422a44870a0c5df8b2fb8c0eb3e Mon Sep 17 00:00:00 2001 From: nojhan Date: Fri, 1 Jul 2011 10:37:13 +0200 Subject: [PATCH 10/11] beautify the output of sections when help is called: upper case names and line padding --- eo/src/utils/eoParser.cpp | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/eo/src/utils/eoParser.cpp b/eo/src/utils/eoParser.cpp index 7150882a1..4bab23f23 100644 --- a/eo/src/utils/eoParser.cpp +++ b/eo/src/utils/eoParser.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #include @@ -49,7 +50,22 @@ std::ostream& printSectionHeader(std::ostream& os, std::string section) if (section == "") section = "General"; - os << '\n' << setw(10) << "###### " << setw(20) << section << setw(10) << " ######\n"; + // convert each character to upper case + std::transform( section.begin(), section.end(), section.begin(), ::toupper); + + // the formating with setfill would not permits to add this extra space as + // one more call to stream operator, thus it is inserted here + section += ' '; + + // pretty print so as to print the section, followed by as many # as + // necessary to fill the line until 80 characters + os << std::endl + << "### " + << std::left + << std::setfill('#') + << std::setw(80) // TODO do not hard code the width of the line + << section + << std::endl; return os; } @@ -334,8 +350,8 @@ void eoParser::printHelp(ostream& os) os << "--" <second->longName() <<":\t" << p->second->description() ; - os << "\n" << setw(20) << ( (p->second->required())?"Required":"Optional" ); - os <<". By default: "<second->defValue() << '\n'; + os << " (" << ( (p->second->required())?"Required":"Optional" ); + os <<", default: "<< p->second->defValue() << ')' << std::endl; } // for p os << "\n@param_file \t defines a file where the parameters are stored\n"; From 0ce639e13a14377e94ee05a7ac7adaa08eb1a733 Mon Sep 17 00:00:00 2001 From: nojhan Date: Fri, 1 Jul 2011 10:52:44 +0200 Subject: [PATCH 11/11] beautify the output of sections: no caps in parenthesis and space before colon --- eo/src/utils/eoParser.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eo/src/utils/eoParser.cpp b/eo/src/utils/eoParser.cpp index 4bab23f23..97c4b3d5a 100644 --- a/eo/src/utils/eoParser.cpp +++ b/eo/src/utils/eoParser.cpp @@ -347,10 +347,10 @@ void eoParser::printHelp(ostream& os) if (p->second->shortName()) os << "-" << p->second->shortName() << ", "; - os << "--" <second->longName() <<":\t" + os << "--" <second->longName() <<" :\t" << p->second->description() ; - os << " (" << ( (p->second->required())?"Required":"Optional" ); + os << " (" << ( (p->second->required())?"required":"optional" ); os <<", default: "<< p->second->defValue() << ')' << std::endl; } // for p