From 825b1f42738f9ed93f44f02e6302248369e70784 Mon Sep 17 00:00:00 2001 From: Caner Candan Date: Wed, 26 Oct 2011 10:07:01 +0200 Subject: [PATCH 1/6] * FindEO: made compatible with pkgconfig finder --- eo/cmake/modules/FindEO.cmake | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/eo/cmake/modules/FindEO.cmake b/eo/cmake/modules/FindEO.cmake index 0ca6a017..8bf3ac13 100644 --- a/eo/cmake/modules/FindEO.cmake +++ b/eo/cmake/modules/FindEO.cmake @@ -3,8 +3,8 @@ # Version: 0.0.1 # # The following variables are filled out: -# - EO_INCLUDE_DIR -# - EO_LIBRARY_DIR +# - EO_INCLUDE_DIRS +# - EO_LIBRARY_DIRS # - EO_LIBRARIES # - EO_FOUND # @@ -53,25 +53,25 @@ IF(EO_FIND_COMPONENTS) ENDIF(NOT EO_USE_CMA) ENDIF(EO_FIND_COMPONENTS) -IF(NOT EO_INCLUDE_DIR) +IF(NOT EO_INCLUDE_DIRS) FIND_PATH( - EO_INCLUDE_DIR + EO_INCLUDE_DIRS EO.h PATHS /usr/include/eo /usr/local/include/eo ) -ENDIF(NOT EO_INCLUDE_DIR) +ENDIF(NOT EO_INCLUDE_DIRS) -IF(NOT EO_LIBRARY_DIR) +IF(NOT EO_LIBRARY_DIRS) FIND_PATH( - EO_LIBRARY_DIR + EO_LIBRARY_DIRS libeo.a PATHS /usr/lib /usr/local/lib ) -ENDIF(NOT EO_LIBRARY_DIR) +ENDIF(NOT EO_LIBRARY_DIRS) IF(NOT EO_LIBRARIES) SET(EO_LIBRARIES) @@ -91,10 +91,10 @@ IF(NOT EO_LIBRARIES) ENDFOREACH(component) ENDIF(NOT EO_LIBRARIES) -IF(EO_INCLUDE_DIR AND EO_LIBRARY_DIR AND EO_LIBRARIES) +IF(EO_INCLUDE_DIRS AND EO_LIBRARY_DIRS AND EO_LIBRARIES) SET(EO_FOUND 1) MARK_AS_ADVANCED(EO_FOUND) - MARK_AS_ADVANCED(EO_INCLUDE_DIR) - MARK_AS_ADVANCED(EO_LIBRARY_DIR) + MARK_AS_ADVANCED(EO_INCLUDE_DIRS) + MARK_AS_ADVANCED(EO_LIBRARY_DIRS) MARK_AS_ADVANCED(EO_LIBRARIES) -ENDIF(EO_INCLUDE_DIR AND EO_LIBRARY_DIR AND EO_LIBRARIES) +ENDIF(EO_INCLUDE_DIRS AND EO_LIBRARY_DIRS AND EO_LIBRARIES) From b41e4536c759c2b67ef9d86713b9c03d65c9bb46 Mon Sep 17 00:00:00 2001 From: Caner Candan Date: Wed, 26 Oct 2011 10:19:09 +0200 Subject: [PATCH 2/6] * changed cmake config file in order to user FindEO but still works with install.cmake manual config way, disabled application building since there is an issue when compiling --- edo/CMakeLists.txt | 7 ++++++- edo/install.cmake-dist | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/edo/CMakeLists.txt b/edo/CMakeLists.txt index ab4333ef..10b1fbe2 100644 --- a/edo/CMakeLists.txt +++ b/edo/CMakeLists.txt @@ -28,11 +28,16 @@ SET(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT ### 3) Include useful features ###################################################################################### +# include useful features for cmake +SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules) + INCLUDE(FindDoxygen) INCLUDE(FindPkgConfig) FIND_PACKAGE(Boost 1.33.0) +FIND_PACKAGE(EO) + INCLUDE_DIRECTORIES( ${EO_INCLUDE_DIRS} ${MO_INCLUDE_DIRS} @@ -87,7 +92,7 @@ SET(SAMPLE_SRCS) ###################################################################################### ADD_SUBDIRECTORY(src) -ADD_SUBDIRECTORY(application) +#ADD_SUBDIRECTORY(application) ADD_SUBDIRECTORY(test) ADD_SUBDIRECTORY(doc) diff --git a/edo/install.cmake-dist b/edo/install.cmake-dist index 99d4166b..b4f53211 100644 --- a/edo/install.cmake-dist +++ b/edo/install.cmake-dist @@ -12,7 +12,7 @@ SET(EO_LIBRARIES eoutils eo es ga cma gcov) # do not use quotes around this list SET(MO_INCLUDE_DIRS "${MO_DIR}/src" CACHE PATH "MO include directory" FORCE) SET(MO_LIBRARY_DIRS "${MO_DIR}/release/lib" CACHE PATH "MO library directory" FORCE) -SET(MO_LIBRARIES "mo") +#SET(MO_LIBRARIES "mo") # no library is generated when building MO # ... or rather use pkg-config (dont forget to comment the code above) From be9eb35559d21f2e81df0d38096d645d2d47e3b9 Mon Sep 17 00:00:00 2001 From: Caner Candan Date: Wed, 26 Oct 2011 10:20:48 +0200 Subject: [PATCH 3/6] + added FIndEO in edo --- edo/cmake/modules/FindEO.cmake | 100 +++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 edo/cmake/modules/FindEO.cmake diff --git a/edo/cmake/modules/FindEO.cmake b/edo/cmake/modules/FindEO.cmake new file mode 100644 index 00000000..8bf3ac13 --- /dev/null +++ b/edo/cmake/modules/FindEO.cmake @@ -0,0 +1,100 @@ +# File: FindEO.cmake +# CMAKE commands to actually use the EO library +# Version: 0.0.1 +# +# The following variables are filled out: +# - EO_INCLUDE_DIRS +# - EO_LIBRARY_DIRS +# - EO_LIBRARIES +# - EO_FOUND +# +# Here are the components: +# - PyEO +# - es +# - ga +# - cma +# +# You can use FIND_PACKAGE( EO COMPONENTS ... ) to enable one or several components. +# + +# Default enabled components +SET(EO_LIBRARIES_TO_FIND eo eoutils) + +# Use FIND_PACKAGE( EO COMPONENTS ... ) to enable modules +IF(EO_FIND_COMPONENTS) + FOREACH(component ${EO_FIND_COMPONENTS}) + STRING(TOUPPER ${component} _COMPONENT) + SET(EO_USE_${_COMPONENT} 1) + ENDFOREACH(component) + + # To make sure we don't use PyEO, ES, GA, CMA when not in COMPONENTS + IF(NOT EO_USE_PYEO) + SET(EO_DONT_USE_PYEO 1) + ELSE(NOT EO_USE_PYEO) + SET(EO_LIBRARIES_TO_FIND ${EO_LIBRARIES_TO_FIND} PyEO) + ENDIF(NOT EO_USE_PYEO) + + IF(NOT EO_USE_ES) + SET(EO_DONT_USE_ES 1) + ELSE(NOT EO_USE_ES) + SET(EO_LIBRARIES_TO_FIND ${EO_LIBRARIES_TO_FIND} es) + ENDIF(NOT EO_USE_ES) + + IF(NOT EO_USE_GA) + SET(EO_DONT_USE_GA 1) + ELSE(NOT EO_USE_GA) + SET(EO_LIBRARIES_TO_FIND ${EO_LIBRARIES_TO_FIND} ga) + ENDIF(NOT EO_USE_GA) + + IF(NOT EO_USE_CMA) + SET(EO_DONT_USE_CMA 1) + ELSE(NOT EO_USE_CMA) + SET(EO_LIBRARIES_TO_FIND ${EO_LIBRARIES_TO_FIND} cma) + ENDIF(NOT EO_USE_CMA) +ENDIF(EO_FIND_COMPONENTS) + +IF(NOT EO_INCLUDE_DIRS) + FIND_PATH( + EO_INCLUDE_DIRS + EO.h + PATHS + /usr/include/eo + /usr/local/include/eo + ) +ENDIF(NOT EO_INCLUDE_DIRS) + +IF(NOT EO_LIBRARY_DIRS) + FIND_PATH( + EO_LIBRARY_DIRS + libeo.a + PATHS + /usr/lib + /usr/local/lib + ) +ENDIF(NOT EO_LIBRARY_DIRS) + +IF(NOT EO_LIBRARIES) + SET(EO_LIBRARIES) + FOREACH(component ${EO_LIBRARIES_TO_FIND}) + FIND_LIBRARY( + EO_${component}_LIBRARY + NAMES ${component} + PATHS + /usr/lib + /usr/local/lib + ) + IF(EO_${component}_LIBRARY) + SET(EO_LIBRARIES ${EO_LIBRARIES} ${EO_${component}_LIBRARY}) + ELSE(EO_${component}_LIBRARY) + MESSAGE(FATAL_ERROR "${component} component not found.") + ENDIF(EO_${component}_LIBRARY) + ENDFOREACH(component) +ENDIF(NOT EO_LIBRARIES) + +IF(EO_INCLUDE_DIRS AND EO_LIBRARY_DIRS AND EO_LIBRARIES) + SET(EO_FOUND 1) + MARK_AS_ADVANCED(EO_FOUND) + MARK_AS_ADVANCED(EO_INCLUDE_DIRS) + MARK_AS_ADVANCED(EO_LIBRARY_DIRS) + MARK_AS_ADVANCED(EO_LIBRARIES) +ENDIF(EO_INCLUDE_DIRS AND EO_LIBRARY_DIRS AND EO_LIBRARIES) From cd185109295190bf162cc43c9ec5403e1bd1ff0f Mon Sep 17 00:00:00 2001 From: Caner Candan Date: Thu, 19 Jan 2012 02:34:36 +0100 Subject: [PATCH 4/6] + PKGBUILD for archlinux based packaging systems --- eo/PKGBUILD.cmake | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 eo/PKGBUILD.cmake diff --git a/eo/PKGBUILD.cmake b/eo/PKGBUILD.cmake new file mode 100644 index 00000000..44f0b368 --- /dev/null +++ b/eo/PKGBUILD.cmake @@ -0,0 +1,23 @@ +# $Id: pkgbuild-mode.el,v 1.23 2007/10/20 16:02:14 juergen Exp $ +# Maintainer: Caner Candan +pkgname=libeo +pkgver=@PROJECT_VERSION@ +pkgrel=1 +pkgdesc="Evolving Objects is a template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast." +url="" +arch=('i686' 'x86_64') +license=('LGPL') +depends=() +makedepends=('make' 'cmake') +conflicts=() +replaces=() +backup=() +install= +source=($pkgname-$pkgver.tar.gz) +md5sums=() +build() { + cd $startdir/src/$pkgname-$pkgver + cmake -DCMAKE_INSTALL_PREFIX=/usr . + make || return 1 + make DESTDIR=$startdir/pkg install +} From 58a450afbc0677a3f5a818e5c5940922b06593bd Mon Sep 17 00:00:00 2001 From: Caner Candan Date: Thu, 19 Jan 2012 02:35:01 +0100 Subject: [PATCH 5/6] * cmake modified: PKGBUILD for archlinux based packaging systems --- eo/CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eo/CMakeLists.txt b/eo/CMakeLists.txt index d7ef8558..3cab6563 100644 --- a/eo/CMakeLists.txt +++ b/eo/CMakeLists.txt @@ -70,6 +70,9 @@ CONFIGURE_FILE(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h) # now create config install_symlink script file CONFIGURE_FILE(install_symlink.py.cmake ${CMAKE_CURRENT_BINARY_DIR}/install_symlink.py) +# now create PKGBUILD file for archlinux package manager +CONFIGURE_FILE(PKGBUILD.cmake ${CMAKE_CURRENT_BINARY_DIR}/PKGBUILD) + # Set a special flag if the environment is windows (should do the same in a config.g file) IF (WIN32) ADD_DEFINITIONS(-D_WINDOWS=1) From a6c8b9733c0e0659e7c112ceb98c8cf2414f7654 Mon Sep 17 00:00:00 2001 From: Caner Candan Date: Tue, 6 Mar 2012 21:55:54 +0100 Subject: [PATCH 6/6] =?UTF-8?q?*=20doc:=C2=A0badly=20named=20name=20of=20e?= =?UTF-8?q?oOneBitFlip,=20added=20eoBooleanGenerator=20in=20bitstring=20gr?= =?UTF-8?q?oup?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- eo/src/ga/eoBitOp.h | 4 ++-- eo/src/utils/eoRndGenerators.h | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/eo/src/ga/eoBitOp.h b/eo/src/ga/eoBitOp.h index 3e3f4fa5..d1247020 100644 --- a/eo/src/ga/eoBitOp.h +++ b/eo/src/ga/eoBitOp.h @@ -36,8 +36,8 @@ #include -/** eoBitFlip --> changes 1 bit -\class eoBitBitFlip eoBitOp.h ga/eoBitOp.h +/** eoOneBitFlip --> changes 1 bit +\class eoOneBitFlip eoBitOp.h ga/eoBitOp.h \ingroup bitstring @ingroup Variators diff --git a/eo/src/utils/eoRndGenerators.h b/eo/src/utils/eoRndGenerators.h index 16b03ec4..62e62ccf 100644 --- a/eo/src/utils/eoRndGenerators.h +++ b/eo/src/utils/eoRndGenerators.h @@ -110,6 +110,7 @@ inline bool eoUniformGenerator::operator()(void) /** The class eoBooleanGenerator can be used in the STL generate function to easily generate random booleans with a specified bias + \ingroup bitstring */ class eoBooleanGenerator : public eoRndGenerator {