diff --git a/eo/CMakeLists.txt b/eo/CMakeLists.txt index bd1367964..9370f4265 100644 --- a/eo/CMakeLists.txt +++ b/eo/CMakeLists.txt @@ -16,12 +16,13 @@ INCLUDE(eo-conf.cmake OPTIONAL) # set the project name and other variables PROJECT(EO) -SET(PACKAGE_BUGREPORT "eodev-help@sourceforge.net") -SET(PACKAGE_NAME "Evolving Objects") -SET(PACKAGE_STRING "Evolving Objects 1.02-cvs1") -SET(PACKAGE_TARNAME "eo") -SET(PACKAGE_VERSION "1.02-cvs1") -SET(VERSION "1.02") +SET(PACKAGE_BUGREPORT "eodev-help@sourceforge.net" CACHE STRING "Package bug report" FORCE) +SET(PACKAGE_NAME "Evolving Objects" CACHE STRING "Package name" FORCE) +SET(PACKAGE_STRING "Evolving Objects 1.02-cvs1"CACHE STRING "Package string full name" FORCE) +SET(PACKAGE_TARNAME "eo" CACHE STRING "Package tar name" FORCE) +SET(PACKAGE_VERSION "1.02-cvs1" CACHE STRING "Package version" FORCE) +SET(VERSION "1.02" CACHE STRING "Global version" FORCE) +SET(GLOBAL_VERSION "${VERSION}") # check cmake version compatibility CMAKE_MINIMUM_REQUIRED(VERSION 2.4 FATAL_ERROR) @@ -92,7 +93,7 @@ SUBDIRS(app contrib doc src test tutorial) ### 4) Test config ###################################################################################### -#SET(ENABLE_CMAKE_TESTING TRUE CACHE BOOL "Should we test using Dart") +#SET(ENABLE_CMAKE_TESTING TRUE CACHE BOOL "Enable testing ?") IF (ENABLE_CMAKE_TESTING) ENABLE_TESTING() diff --git a/eo/app/gprop/CMakeLists.txt b/eo/app/gprop/CMakeLists.txt index 197731a6b..52f6ea079 100644 --- a/eo/app/gprop/CMakeLists.txt +++ b/eo/app/gprop/CMakeLists.txt @@ -47,7 +47,7 @@ ADD_DEPENDENCIES(gprop eoutils) ### 4) Optionnal: define your target(s)'s version: no effect for windows ###################################################################################### -SET(GPROP_VERSION "1.0") +SET(GPROP_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(gprop PROPERTIES VERSION "${GPROP_VERSION}") ###################################################################################### diff --git a/eo/app/gpsymreg/CMakeLists.txt b/eo/app/gpsymreg/CMakeLists.txt index f43ed7b9d..3e44de247 100644 --- a/eo/app/gpsymreg/CMakeLists.txt +++ b/eo/app/gpsymreg/CMakeLists.txt @@ -46,7 +46,7 @@ ADD_DEPENDENCIES(gpsymreg eo eoutils) ### 4) Optionnal: define your target(s)'s version: no effect for windows ###################################################################################### -SET(GPSYMREG_VERSION "1.0") +SET(GPSYMREG_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(gpsymreg PROPERTIES VERSION "${GPSYMREG_VERSION}") ###################################################################################### diff --git a/eo/app/mastermind/CMakeLists.txt b/eo/app/mastermind/CMakeLists.txt index 1c3602298..63110c408 100644 --- a/eo/app/mastermind/CMakeLists.txt +++ b/eo/app/mastermind/CMakeLists.txt @@ -46,7 +46,7 @@ ADD_DEPENDENCIES(mastermind eo eoutils) ### 4) Optionnal: define your target(s)'s version: no effect for windows ###################################################################################### -SET(MASTERMIND_VERSION "1.0") +SET(MASTERMIND_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(mastermind PROPERTIES VERSION "${MASTERMIND_VERSION}") ###################################################################################### diff --git a/eo/src/CMakeLists.txt b/eo/src/CMakeLists.txt index 8ff74e30f..857915818 100644 --- a/eo/src/CMakeLists.txt +++ b/eo/src/CMakeLists.txt @@ -34,7 +34,7 @@ ADD_LIBRARY(eo STATIC ${EO_SOURCES}) ### 3) Optionnal: define your target(s)'s version: no effect for windows ###################################################################################### -SET(EO_VERSION "1.0.1") +SET(EO_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(eo PROPERTIES VERSION "${EO_VERSION}") ###################################################################################### @@ -65,7 +65,7 @@ SET_TARGET_PROPERTIES(eo PROPERTIES VERSION "${EO_VERSION}") ### 5) Where must cmake go now ? ###################################################################################### -SUBDIRS(do es ga gp other utils) # forget pyeo for the moment +SUBDIRS(do es ga gp moo other utils) # forget pyeo for the moment ###################################################################################### diff --git a/eo/src/es/CMakeLists.txt b/eo/src/es/CMakeLists.txt index 630dd9fb2..6e2abff02 100644 --- a/eo/src/es/CMakeLists.txt +++ b/eo/src/es/CMakeLists.txt @@ -49,10 +49,10 @@ ADD_LIBRARY(cma STATIC ${CMA_SOURCES}) ### 3) Optionnal ###################################################################################### -SET(ES_VERSION "1.0.1") +SET(ES_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(es PROPERTIES VERSION "${ES_VERSION}") -SET(CMA_VERSION "1.0.1") +SET(CMA_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(cma PROPERTIES VERSION "${CMA_VERSION}") ###################################################################################### diff --git a/eo/src/ga/CMakeLists.txt b/eo/src/ga/CMakeLists.txt index 8ef3d0c23..dec966cc9 100644 --- a/eo/src/ga/CMakeLists.txt +++ b/eo/src/ga/CMakeLists.txt @@ -33,7 +33,7 @@ ADD_LIBRARY(ga STATIC ${GA_SOURCES}) ### 3) Optionnal ###################################################################################### -SET(GA_VERSION "1.0.1") +SET(GA_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(ga PROPERTIES VERSION "${GA_VERSION}") ###################################################################################### diff --git a/eo/src/moo/CMakeLists.txt b/eo/src/moo/CMakeLists.txt index bde28898e..65e5c6550 100644 --- a/eo/src/moo/CMakeLists.txt +++ b/eo/src/moo/CMakeLists.txt @@ -10,13 +10,15 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) ###################################################################################### -### 2) Define the ga target +### 2) Define the eomoo target ###################################################################################### SET(EOMOO_LIB_OUTPUT_PATH ${EO_BINARY_DIR}/lib) SET(LIBRARY_OUTPUT_PATH ${EOMOO_LIB_OUTPUT_PATH}) -SET (EOMOO_SOURCES eoFrontSorter.cpp ) +SET (EOMOO_SOURCES eoFrontSorter.cpp + eoNSGA_IIa_Eval.cpp + eoNSGA_II_Eval.cpp) ADD_LIBRARY(eomoo STATIC ${EOMOO_SOURCES}) @@ -28,7 +30,7 @@ ADD_LIBRARY(eomoo STATIC ${EOMOO_SOURCES}) ### 3) Optionnal ###################################################################################### -SET(EOMOO_VERSION "1.0.1") +SET(EOMOO_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(eomoo PROPERTIES VERSION "${EOMOO_VERSION}") ###################################################################################### diff --git a/eo/src/obsolete/CMakeLists.txt b/eo/src/obsolete/CMakeLists.txt index d3139b25c..5ce08ab3c 100644 --- a/eo/src/obsolete/CMakeLists.txt +++ b/eo/src/obsolete/CMakeLists.txt @@ -28,7 +28,7 @@ ADD_LIBRARY(eoobsolete STATIC ${EOOBSOLETE_SOURCES}) ### 3) Optionnal ###################################################################################### -SET(EOOBSOLETE_VERSION "1.0.1") +SET(EOOBSOLETE_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(eoobsolete PROPERTIES VERSION "${EOOBSOLETE_VERSION}") ###################################################################################### diff --git a/eo/src/utils/CMakeLists.txt b/eo/src/utils/CMakeLists.txt index 9cb370a53..d432626df 100644 --- a/eo/src/utils/CMakeLists.txt +++ b/eo/src/utils/CMakeLists.txt @@ -41,7 +41,7 @@ ADD_LIBRARY(eoutils STATIC ${EOUTILS_SOURCES}) ### 3) Optionnal ###################################################################################### -SET(EOUTILS_VERSION "1.0.1") +SET(EOUTILS_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(eoutils PROPERTIES VERSION "${EOUTILS_VERSION}") ###################################################################################### diff --git a/eo/test/CMakeLists.txt b/eo/test/CMakeLists.txt index fe0873f6d..5306b39bb 100644 --- a/eo/test/CMakeLists.txt +++ b/eo/test/CMakeLists.txt @@ -10,14 +10,15 @@ ###################################################################################### INCLUDE_DIRECTORIES(${EO_SOURCE_DIR}/src) +INCLUDE_DIRECTORIES(${EO_SOURCE_DIR}/contrib) +INCLUDE_DIRECTORIES(${EO_SOURCE_DIR}/contrib/MGE) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) ###################################################################################### - ###################################################################################### -### 2) Specify where CMake can find the libraries (mandatory: before 3) ) +### 2) Specify where CMake can find the libraries ###################################################################################### IF(NOT WIN32 OR CYGWIN) @@ -34,42 +35,70 @@ ENDIF(WIN32 AND NOT CYGWIN) ###################################################################################### -### 3) Define your target(s): just an executable here +### 3) Define your targets and link the librairies ###################################################################################### -SET (T_EOSSGA_SOURCES t-eoSSGA.cpp) - -# no matter what is the OS, hopefully -ADD_EXECUTABLE(t-eoSSGA ${T_EOSSGA_SOURCES}) - -ADD_TEST(t-eoSSGA t-eoSSGA) -ADD_DEPENDENCIES(t-eoSSGA eo eoutils) -###################################################################################### +SET (TEST_LIST t-eoParetoFitness + t-eoPareto + t-eofitness + t-eoRandom + t-eobin + t-eoVirus + t-MGE + t-MGE1bit + t-MGE-control + t-eoStateAndParser + t-eoCheckpointing + t-eoSSGA + t-eoExternalEO + t-eoSymreg + t-eo + t-eoReplacement + t-eoSelect + t-eoGenOp + t-eoGA + t-eoReal + t-eoVector + t-eoESAll + t-eoPBIL + t-eoFitnessAssembled + t-eoFitnessAssembledEA + t-eoRoulette + t-eoSharing + t-eoCMAES + t-eoSecondsElapsedContinue + t-eoRNG + t-eoEasyPSO + t-eoNSGA + # t-eoFrontSorter + # t-eoEpsMOEA + ) + +FOREACH (test ${TEST_LIST}) + SET ("T_${test}_SOURCES" "${test}.cpp") +ENDFOREACH (test) - -###################################################################################### -### 4) Optionnal: define your target(s)'s version: no effect for windows -###################################################################################### - -SET(T_EOSSGA_VERSION "1.0") -SET_TARGET_PROPERTIES(t-eoSSGA PROPERTIES VERSION "${T_EOSSGA_VERSION}") -###################################################################################### - - - -###################################################################################### -### 5) Link the librairies for your target(s) -###################################################################################### - -TARGET_LINK_LIBRARIES(t-eoSSGA eo eoutils es ga cma) +IF(ENABLE_CMAKE_TESTING) + + # Add the tests + FOREACH (test ${TEST_LIST}) + ADD_EXECUTABLE(${test} ${T_${test}_SOURCES}) + ADD_TEST(${test} ${test}) + ENDFOREACH (test) + + # Link the librairies + FOREACH (test ${TEST_LIST}) + TARGET_LINK_LIBRARIES(${test} ga es cma eoutils eo eomoo) + ENDFOREACH (test) + +ENDIF(ENABLE_CMAKE_TESTING) ###################################################################################### - ###################################################################################### -### 6) Windows advanced config - especially for Microsoft Visual Studio 8 +### 5) Windows advanced config - especially for Microsoft Visual Studio 8 ###################################################################################### IF(CMAKE_CXX_COMPILER MATCHES cl) diff --git a/eo/tutorial/Lesson1/CMakeLists.txt b/eo/tutorial/Lesson1/CMakeLists.txt index 5053a6815..1cc92663e 100644 --- a/eo/tutorial/Lesson1/CMakeLists.txt +++ b/eo/tutorial/Lesson1/CMakeLists.txt @@ -49,13 +49,13 @@ ADD_DEPENDENCIES(exercise1.3 eo eoutils ga) ### 4) Optionnal ###################################################################################### -SET(FIRSTBITGA_VERSION "1.0.1") +SET(FIRSTBITGA_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(FirstBitGA PROPERTIES VERSION "${FIRSTBITGA_VERSION}") -SET(FIRSTREALGA_VERSION "1.0.1") +SET(FIRSTREALGA_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(FirstRealGA PROPERTIES VERSION "${FIRSTREALGA_VERSION}") -SET(EXERCICE13_VERSION "1.0.1") +SET(EXERCICE13_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(exercise1.3 PROPERTIES VERSION "${EXERCICE13_VERSION}") ###################################################################################### diff --git a/eo/tutorial/Lesson2/CMakeLists.txt b/eo/tutorial/Lesson2/CMakeLists.txt index c8cc130e2..8a3177001 100644 --- a/eo/tutorial/Lesson2/CMakeLists.txt +++ b/eo/tutorial/Lesson2/CMakeLists.txt @@ -49,13 +49,13 @@ ADD_DEPENDENCIES(exercise2.3 eo eoutils ga) ### 4) Optionnal ###################################################################################### -SET(FIRSTBITEA_VERSION "1.0.1") +SET(FIRSTBITEA_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(FirstBitEA PROPERTIES VERSION "${FIRSTBITEA_VERSION}") -SET(FIRSTREALEA_VERSION "1.0.1") +SET(FIRSTREALEA_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(FirstRealEA PROPERTIES VERSION "${FIRSTREALEA_VERSION}") -SET(EXERCICE23_VERSION "1.0.1") +SET(EXERCICE23_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(exercise2.3 PROPERTIES VERSION "${EXERCICE23_VERSION}") ###################################################################################### diff --git a/eo/tutorial/Lesson3/CMakeLists.txt b/eo/tutorial/Lesson3/CMakeLists.txt index 2cfef8435..2d8c1cb4f 100644 --- a/eo/tutorial/Lesson3/CMakeLists.txt +++ b/eo/tutorial/Lesson3/CMakeLists.txt @@ -49,13 +49,13 @@ ADD_DEPENDENCIES(exercise3.1 eo eoutils ga) ### 4) Optionnal ###################################################################################### -SET(SECONDBITEA_VERSION "1.0.1") +SET(SECONDBITEA_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(SecondBitEA PROPERTIES VERSION "${SECONDBITEA_VERSION}") -SET(SECONDREALEA_VERSION "1.0.1") +SET(SECONDREALEA_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(SecondRealEA PROPERTIES VERSION "${SECONDREALEA_VERSION}") -SET(EXERCICE31_VERSION "1.0.1") +SET(EXERCICE31_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(exercise3.1 PROPERTIES VERSION "${EXERCICE31_VERSION}") ###################################################################################### diff --git a/eo/tutorial/Lesson4/CMakeLists.txt b/eo/tutorial/Lesson4/CMakeLists.txt index 91c37ba5b..8f25923a0 100644 --- a/eo/tutorial/Lesson4/CMakeLists.txt +++ b/eo/tutorial/Lesson4/CMakeLists.txt @@ -71,13 +71,13 @@ ADD_EXECUTABLE(ESEA ESEA.cpp) ### 4) Optionnal ###################################################################################### -SET(BITEA_VERSION "1.0.1") +SET(BITEA_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(BitEA PROPERTIES VERSION "${BITEA_VERSION}") -SET(REALEA_VERSION "1.0.1") +SET(REALEA_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(RealEA PROPERTIES VERSION "${REALEA_VERSION}") -SET(ESEA_VERSION "1.0.1") +SET(ESEA_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(ESEA PROPERTIES VERSION "${ESEA_VERSION}") ###################################################################################### diff --git a/eo/tutorial/Lesson5/CMakeLists.txt b/eo/tutorial/Lesson5/CMakeLists.txt index f7c2adb63..23aad31b0 100644 --- a/eo/tutorial/Lesson5/CMakeLists.txt +++ b/eo/tutorial/Lesson5/CMakeLists.txt @@ -45,10 +45,10 @@ ADD_DEPENDENCIES(OneMaxLibEA es ga eo eoutils) ### 4) Optionnal ###################################################################################### -SET(ONEMAXEA_VERSION "1.0.1") +SET(ONEMAXEA_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(OneMaxEA PROPERTIES VERSION "${ONEMAXEA_VERSION}") -SET(ONEMAXLIBEA_VERSION "1.0.1") +SET(ONEMAXLIBEA_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(OneMaxLibEA PROPERTIES VERSION "${ONEMAXLIBEA_VERSION}") ######################################################################################