Update module for Windows. Fix some troubles during the installation and package creation

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@2712 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
quemy 2012-07-19 08:59:51 +00:00
commit 71864c2a6e
20 changed files with 72 additions and 783 deletions

View file

@ -1 +0,0 @@
secretword=Nothing

View file

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>trunk</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>

View file

@ -4,7 +4,7 @@ Sébastien Cahon
Jérémie Humeau
Arnaud Liefooghe
Sebastien Verel
Abdelhakim Deneche
Nourdine Melab
Team leader:

View file

@ -16,6 +16,11 @@ project("ParadisEO")
## Language
enable_language(CXX)
## Test the presence of a compiler
if("${CMAKE_CXX_COMPILER}" STREQUAL "" OR "${CMAKE_C_COMPILER}" STREQUAL "")
message(FATAL_ERROR "No compiler founded !")
endif()
## Versioning
set(VERSION_MAJOR 2)
set(VERSION_MINOR 0)
@ -24,10 +29,6 @@ set(VERSION_PATCH 0)
######################################################################################
### 2) Check dependencies
######################################################################################
## Required
include(CMakeBackwardCompatibilityCXX REQUIRED)
include(CheckLibraryExists REQUIRED)
## Optional
include(FindDoxygen OPTIONAL)
@ -81,7 +82,9 @@ if(NOT EO_ONLY)
endif()
######################################################################################
### 5) Packaging
### 5) Packaging : only in release !
######################################################################################
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Package.cmake)
if(${CMAKE_BUILD_TYPE} STREQUAL "Release")
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Package.cmake)
endif()

View file

@ -1,7 +1,7 @@
set(CTEST_PROJECT_NAME "ParadisEO")
set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")
set(CTEST_DROP_METHOD "http")
set(CTEST_DROP_METHOD "https")
set(CTEST_DROP_SITE "cdash.inria.fr")
set(CTEST_DROP_LOCATION "/CDash/submit.php?project=ParadisEO")
set(CTEST_DROP_SITE_CDASH TRUE)

View file

@ -39,7 +39,7 @@ Then, follow UNIX instructions.
1.0 DEPENDENCIES
------------------------------------------------------------------------------------------
Required
- Compiler with OpenMP implementation (thus, Clang isn't supported atm).
- Compiler with OpenMP implementation (hence, Clang isn't supported atm).
Optionnal
- Doxygen for documentation
@ -51,17 +51,17 @@ Optionnal
After getting ParadisEO sources from repository, you have to create a build directory in order to keep your file tree clean.
mkdir build
cd build
> mkdir build
> cd build
To make the installation easier, ParadisEO propose you two installation types which are "Full" and "Min".
Full always corresponds to a DEBUG build with examples / lessons, tests and obviously libraries.
Min corresponds to libraries and headers with Debug build if you don't specify the contrary with -DCMAKE_BUILD_TYPE=Release. In both cases, you are free to build the documentation (refer to the documentation section)
Full corresponds examples / lessons, tests and obviously libraries.
Min corresponds to libraries and headers.
You can specified an installation type by adding the following declaration to cmake :
cmake .. -DINSTALL_TYPE=full
cmake .. -DINSTALL_TYPE=min
> cmake .. -DINSTALL_TYPE=full
> cmake .. -DINSTALL_TYPE=min
Actually, by default the generator will be "Unix Makefiles" and cmake will try to look for a C++ compiler.
Be sure you have make installed, or choose an alternative according to your configuration.
@ -69,14 +69,12 @@ To know available generators on your computer, type cmake -help. If you are on W
To compile ParadisEO simply compile sources using your generator. For instance, if you are using Unix Makefiles, type make.
WARNING : The default build type is Debug. If you want to build in Release, see the next section which concerns Build types.
------------------------------------------------------------------------------------------
1.2 BUILD TYPE
------------------------------------------------------------------------------------------
There are 2 type of build : Release or Debug.
To explicitly change the type, add -DCMAKE_BUILD_TYPE=Release for instance.
There are 2 types of build : Release or Debug.
To explicitly change the type, add -DCMAKE_BUILD_TYPE=Debug for instance.
------------------------------------------------------------------------------------------
1.3 INSTALLATION
@ -86,7 +84,7 @@ WARNING : This require administration rights.
To install ParadisEO in standard paths (such as /usr/lib for lib and /usr/include for headers on UNIX-like) :
make install
> make install
------------------------------------------------------------------------------------------
2. DOCUMENTATION
@ -122,8 +120,8 @@ Easy, isn't it ?
------------------------------------------------------------------------------------------
By performing tests, you can check your installation.
Testing is disable by default and if you enable it, the build type automatically will switch on DEBUG.
To enable testing, define -DENABLE_TESTING when you launch cmake/
Testing is disable by default, except if you build with the full install type.
To enable testing, define -DENABLE_TESTING when you launch cmake.
To perform tests simply type ctest ou make test.
@ -133,7 +131,7 @@ To perform tests simply type ctest ou make test.
Feel free to send us reports about building, installation, tests and profiling in order to help us to improve compatibilty and installation process. Sending reports is very simple :
ctest -D Experimental
> ctest -D Experimental
WARNING : Reports are anonymous. CTest will also send informations about your configuration such as OS, CPU frequency, etc.

View file

@ -22,21 +22,20 @@ if("${SIZEOF_VOID_PTR}" STREQUAL "4")
set(ARCH x86)
set(LIB lib32)
elseif("${SIZEOF_VOID_PTR}" STREQUAL "8")
set(ARCH x64)
set(ARCH x86_64)
set(LIB lib64)
else()
message(FATAL_ERROR "Unsupported architecture")
return()
endif()
######################################################################################
### 0) Define general CXX flags for DEBUG and RELEASE
######################################################################################
add_definitions(-DDEPRECATED_MESSAGES)
set(CMAKE_CXX_FLAGS_DEBUG "-Wunknown-pragmas -O0 -g -Wall -Wextra -ansi -pedantic -fopenmp -std=c++0x" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "-Wunknown-pragmas -O3 -fopenmp -std=c++0x" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "-Wunknown-pragmas -O2 -fopenmp -std=c++0x" CACHE STRING "" FORCE)
######################################################################################
### 1) Define installation type
@ -66,7 +65,6 @@ endif(PROFILING)
if(ENABLE_CMAKE_TESTING)
enable_testing()
include(CTest REQUIRED)
set(DEBUG "true" CACHE STRING "" FORCE)
endif(ENABLE_CMAKE_TESTING)
######################################################################################
@ -75,7 +73,7 @@ endif(ENABLE_CMAKE_TESTING)
if(NOT DEFINED DEBUG)
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "" FORCE)
else( NOT DEFINED DEBUG OR DEFINED PREFIX )
else( NOT DEFINED DEBUG)
set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "" FORCE)
endif(NOT DEFINED DEBUG)

View file

@ -61,7 +61,7 @@ set(CPACK_PACKAGE_EXECUTABLES "${PROJECT_NAME}" "${PROJECT_NAME}")
set(CPACK_PACKAGE_VERSION_MAJOR "${VERSION_MAJOR}")
set(CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}")
set(CPACK_PACKAGE_VERSION_PATCH "${VERSION_PATCH}")
set(CPACK_PACKAGE_INSTALL_DIRECTORY "${PROJECT_NAME} ${VERSION_MAJOR}.${VERSION_MINOR}")
set(CPACK_PACKAGE_INSTALL_DIRECTORY "${PROJECT_NAME}")
set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}-${ARCH}")
if(UNIX)
@ -75,13 +75,25 @@ if(UNIX)
else()
# Generators for Unix-like
set(CPACK_GENERATOR "DEB;RPM")
set(CPACK_GENERATOR "DEB;RPM")
# Determine architecture
include(CheckTypeSize)
check_type_size(void* SIZEOF_VOID_PTR)
if("${SIZEOF_VOID_PTR}" STREQUAL "4")
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE i386)
elseif("${SIZEOF_VOID_PTR}" STREQUAL "8")
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE amd64)
else()
message(FATAL_ERROR "Unsupported architecture")
return()
endif()
endif()
else(UNIX)
# Generator for Windows
set(CPACK_GENERATOR "NSIS")
#set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/winicon.bpm")
endif()

View file

@ -33,9 +33,9 @@ if(PROFILING)
COMMAND make
COMMAND ctest
COMMAND lcov -d . -c -o output.info
COMMAND lcov -r output.info */tutorial* -o output.info
COMMAND lcov -r output.info /usr* -o output.info
COMMAND lcov -r output.info */test* -o output.info
COMMAND lcov -r output.info '*/tutorial*' -o output.info
COMMAND lcov -r output.info '/usr*' -o output.info
COMMAND lcov -r output.info '*/test*' -o output.info
COMMAND genhtml output.info -o coverage/ --highlight --legend
)
else(LCOV)

View file

@ -30,7 +30,9 @@
# add_executable(example ...)
# target_link_libraries(examplep ${PARADISEO_LIBRARIES})
if(UNIX)
set(INSTALL_SUB_DIR /paradiseo)
endif()
# enabled components
if ("${Paradiseo_FIND_COMPONENTS}" STREQUAL "")
@ -40,9 +42,7 @@ else()
endif()
#set the build directory
if(NOT DEFINED ${BUILD_DIR})
set(BUILD_DIR build)
endif()
set(BUILD_DIR build)
# Path
set(PARADISEO_SRC_PATHS
@ -54,20 +54,20 @@ set(PARADISEO_SRC_PATHS
/opt/local/ # DarwinPorts
/opt/csw/ # Blastwave
/opt/
#KEY_CURRENT_USER\Software
#HKEY_LOCAL_MACHINE\Software
[KEY_CURRENT_USER\\Software\\Inria\\ParadisEO]
[HKEY_LOCAL_MACHINE\\Software\\Inria\\ParadiseEO]
)
find_path(EO_INCLUDE_DIR eo
PATH_SUFFIXES include eo/src
PATH_SUFFIXES include${INSTALL_SUB_DIR}/eo eo/src
PATHS ${PARADISEO_SRC_PATHS})
find_path(MO_INCLUDE_DIR mo
PATH_SUFFIXES include mo/src
PATH_SUFFIXES include${INSTALL_SUB_DIR}/mo mo/src
PATHS ${PARADISEO_SRC_PATHS})
find_path(MOEO_INCLUDE_DIR moeo
PATH_SUFFIXES include moeo/src
PATH_SUFFIXES include${INSTALL_SUB_DIR}/moeo moeo/src
PATHS ${PARADISEO_SRC_PATHS})
set(PARADISEO_INCLUDE_DIR ${EO_INCLUDE_DIR} ${MO_INCLUDE_DIR} ${MOEO_INCLUDE_DIR})
@ -84,8 +84,8 @@ set(FIND_PARADISEO_LIB_PATHS
/opt/local/ # DarwinPorts
/opt/csw/ # Blastwave
/opt/
#KEY_CURRENT_USER\Software
#HKEY_LOCAL_MACHINE\Software
[KEY_CURRENT_USER\\Software\\Inria\\ParadisEO]
[HKEY_LOCAL_MACHINE\\Software\\Inria\\ParadiseEO]
)
#Suffixes

View file

@ -17,10 +17,18 @@ IF (DOXYGEN_FOUND)
# define the doc target
IF (DOXYGEN_EXECUTABLE)
ADD_CUSTOM_TARGET(doc-eo
COMMAND ${DOXYGEN_EXECUTABLE} ${EO_DOC_CONFIG_FILE}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
# Creating the custom target
if(UNIX AND NOT ${CMAKE_VERBOSE_MAKEFILE})
add_custom_target(doc-eo
COMMAND ${DOXYGEN_EXECUTABLE} ${EO_DOC_CONFIG_FILE} 2> /dev/null > /dev/null
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
else(UNIX AND NOT ${CMAKE_VERBOSE_MAKEFILE})
ADD_CUSTOM_TARGET(doc-eo
COMMAND ${DOXYGEN_EXECUTABLE} ${EO_DOC_CONFIG_FILE}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
endif()
ENDIF (DOXYGEN_EXECUTABLE)
# configure cfg file

View file

@ -470,12 +470,6 @@ MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
# If the sources in your project are distributed over multiple directories
# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
# in the documentation. The default is NO.
SHOW_DIRECTORIES = NO
# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
# This will remove the Files entry from the Quick Index and from the
# Folder Tree View (if specified). The default is YES.
@ -799,11 +793,6 @@ HTML_FOOTER =
HTML_STYLESHEET =
# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
# files or namespaces will be aligned in HTML using tables. If set to
# NO a bullet list will be used.
HTML_ALIGN_MEMBERS = YES
# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
# documentation will contain sections that can be hidden and shown after the
@ -953,11 +942,6 @@ ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW = YES
# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
# and Class Hierarchy pages using a tree view instead of an ordered list.
USE_INLINE_TREES = NO
# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
# used to set the initial width (in pixels) of the frame in which the tree
# is shown.

View file

@ -29,7 +29,7 @@ INSTALL(FILES ${HDRS} DESTINATION include${INSTALL_SUB_DIR}/eo COMPONENT headers
INSTALL(DIRECTORY do es ga gp other utils
DESTINATION include${INSTALL_SUB_DIR}/eo
COMPONENT headers
FILES_MATCHING PATTERN "*.h"
FILES_MATCHING PATTERN "*.h" PATTERN "checkpointing" PATTERN external_eo
)
######################################################################################

View file

@ -21,8 +21,9 @@ Authors:
Johann Dréo <johann.dreo@thalesgroup.com>
*/
#ifndef __unix__
#warning "Warning: class 'eoEvalUserTimeThrowException' is only available under UNIX systems (defining 'rusage' in 'sys/resource.h'), contributions for other systems are welcomed."
/*#warning "Warning: class 'eoEvalUserTimeThrowException' is only available under UNIX systems (defining 'rusage' in 'sys/resource.h'), contributions for other systems are welcomed."*/
#else
#ifndef __EOEVALUSERTIMETHROWEXCEPTION_H__

View file

@ -1 +0,0 @@
ParadisEO is a white-box object-oriented framework dedicated to the flexible design of metaheuristics. This template-based, ANSI-C++ compliant computation library is portable across both Windows system and sequential platforms (Unix, Linux, Mac OS X, etc.). ParadisEO is distributed under the CeCill license and can be used under several environments.

View file

@ -3,7 +3,7 @@
######################################################################################
file(GLOB HDRS *.h mo)
install(FILES ${HDRS} DESTINATION include/paradiseo/mo COMPONENT headers)
install(FILES ${HDRS} DESTINATION include${INSTALL_SUB_DIR}/mo COMPONENT headers)
######################################################################################
### 1) Install directories

View file

@ -1,430 +0,0 @@
if(ENABLE_CMAKE_EXAMPLE)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson1/lesson1_simpleHC.param
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_simpleHC.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson1/lesson1_firstImprHC.param
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_firstImprHC.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson1/lesson1_randomBestHC.param
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_randomBestHC.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson1/lesson1_neutralHC.param
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_neutralHC.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson1/lesson1_iterContinuator.param
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_iterContinuator.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson1/lesson1_fitContinuator.param
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_fitContinuator.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson1/lesson1_fullEvalContinuator.param
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_fullEvalContinuator.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson1/lesson1_evalContinuator.param
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_evalContinuator.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson1/lesson1_combinedContinuator.param
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_combinedContinuator.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson1/firstImprHC_maxSAT.param
${MO_BIN_DIR}/tutorial/Lesson1/firstImprHC_maxSAT.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson2/testNeighborhood.param
${MO_BIN_DIR}/tutorial/Lesson2/testNeighborhood.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson3/testSimulatedAnnealing.param
${MO_BIN_DIR}/tutorial/Lesson3/testSimulatedAnnealing.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson4/testSimpleTS.param
${MO_BIN_DIR}/tutorial/Lesson4/testSimpleTS.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson5/testILS.param
${MO_BIN_DIR}/tutorial/Lesson5/testILS.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson6/testRandomWalk.param
${MO_BIN_DIR}/tutorial/Lesson6/testRandomWalk.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson6/testMetropolisHasting.param
${MO_BIN_DIR}/tutorial/Lesson6/testMetropolisHasting.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson6/testRandomNeutralWalk.param
${MO_BIN_DIR}/tutorial/Lesson6/testRandomNeutralWalk.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson6/sampling.param
${MO_BIN_DIR}/tutorial/Lesson6/sampling.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson6/densityOfStates.param
${MO_BIN_DIR}/tutorial/Lesson6/densityOfStates.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson6/autocorrelation.param
${MO_BIN_DIR}/tutorial/Lesson6/autocorrelation.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson6/adaptiveWalks.param
${MO_BIN_DIR}/tutorial/Lesson6/adaptiveWalks.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson6/fdc.param
${MO_BIN_DIR}/tutorial/Lesson6/fdc.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson6/neutralDegree.param
${MO_BIN_DIR}/tutorial/Lesson6/neutralDegree.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson6/fitnessCloud.param
${MO_BIN_DIR}/tutorial/Lesson6/fitnessCloud.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson6/neutralWalk.param
${MO_BIN_DIR}/tutorial/Lesson6/neutralWalk.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson7/hybridAlgo.param
${MO_BIN_DIR}/tutorial/Lesson7/hybridAlgo.param
)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson9/VNS.param
${MO_BIN_DIR}/tutorial/Lesson9/VNS.param
)
ENDIF(ENABLE_CMAKE_EXAMPLE)
MACRO(ADD_COMMANDS_NEWMO)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson1/lesson1_simpleHC.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson1/lesson1_simpleHC.param
${MO_BIN_DIR}/tutorial/Lesson1
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson1/lesson1_firstImprHC.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson1/lesson1_firstImprHC.param
${MO_BIN_DIR}/tutorial/Lesson1
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson1/lesson1_randomBestHC.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson1/lesson1_randomBestHC.param
${MO_BIN_DIR}/tutorial/Lesson1
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson1/lesson1_neutralHC.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson1/lesson1_neutralHC.param
${MO_BIN_DIR}/tutorial/Lesson1
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson1/lesson1_iterContinuator.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson1/lesson1_iterContinuator.param
${MO_BIN_DIR}/tutorial/Lesson1
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson1/lesson1_fitContinuator.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson1/lesson1_fitContinuator.param
${MO_BIN_DIR}/tutorial/Lesson1
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson1/lesson1_fullEvalContinuator.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson1/lesson1_fullEvalContinuator.param
${MO_BIN_DIR}/tutorial/Lesson1
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson1/lesson1_evalContinuator.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson1/lesson1_evalContinuator.param
${MO_BIN_DIR}/tutorial/Lesson1
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson1/lesson1_combinedContinuator.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson1/lesson1_combinedContinuator.param
${MO_BIN_DIR}/tutorial/Lesson1
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson1/firstImprHC_maxSAT.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson1/firstImprHC_maxSAT.param
${MO_BIN_DIR}/tutorial/Lesson1
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson2/testNeighborhood.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson2/testNeighborhood.param
${MO_BIN_DIR}/tutorial/Lesson2
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson3/testSimulatedAnnealing.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson3/testSimulatedAnnealing.param
${MO_BIN_DIR}/tutorial/Lesson3
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson4/testSimpleTS.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson4/testSimpleTS.param
${MO_BIN_DIR}/tutorial/Lesson4
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson5/testILS.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson5/testILS.param
${MO_BIN_DIR}/tutorial/Lesson5
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson6/testRandomWalk.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson6/testRandomWalk.param
${MO_BIN_DIR}/tutorial/Lesson6
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson6/testMetropolisHasting.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson6/testMetropolisHasting.param
${MO_BIN_DIR}/tutorial/Lesson6
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson6/testRandomNeutralWalk.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson6/testRandomNeutralWalk.param
${MO_BIN_DIR}/tutorial/Lesson6
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson6/sampling.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson6/sampling.param
${MO_BIN_DIR}/tutorial/Lesson6
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson6/densityOfStates.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson6/densityOfStates.param
${MO_BIN_DIR}/tutorial/Lesson6
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson6/fitnessCloud.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson6/fitnessCloud.param
${MO_BIN_DIR}/tutorial/Lesson6
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson6/neutralWalk.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson6/neutralWalk.param
${MO_BIN_DIR}/tutorial/Lesson6
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson6/autocorrelation.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson6/autocorrelation.param
${MO_BIN_DIR}/tutorial/Lesson6
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson6/adaptiveWalks.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson6/adaptiveWalks.param
${MO_BIN_DIR}/tutorial/Lesson6
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson6/fdc.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson6/fdc.param
${MO_BIN_DIR}/tutorial/Lesson6
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson6/neutralDegree.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson6/neutralDegree.param
${MO_BIN_DIR}/tutorial/Lesson6
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson7/hybridAlgo.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson7/hybridAlgo.param
${MO_BIN_DIR}/tutorial/Lesson7
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson9/VNS.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson9/VNS.param
${MO_BIN_DIR}/tutorial/Lesson9
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MO_BIN_DIR}/tutorial/Lesson10/testKswapNeighborhood.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MO_SRC_DIR}/tutorial/Lesson10/testKswapNeighborhood.param
${MO_BIN_DIR}/tutorial/Lesson10
)
ENDMACRO(ADD_COMMANDS_NEWMO)
MACRO(ADD_TARGET_NEWMO n)
IF(${n} STREQUAL "lesson1")
ADD_CUSTOM_TARGET(mo-lesson1 DEPENDS
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_simpleHC
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_simpleHC.param
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_firstImprHC
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_firstImprHC.param
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_randomBestHC
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_randomBestHC.param
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_neutralHC
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_neutralHC.param
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_iterContinuator
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_iterContinuator.param
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_fitContinuator
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_fitContinuator.param
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_fullEvalContinuator
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_fullEvalContinuator.param
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_evalContinuator
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_evalContinuator.param
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_combinedContinuator
${MO_BIN_DIR}/tutorial/Lesson1/lesson1_combinedContinuator.param
${MO_BIN_DIR}/tutorial/Lesson1/firstImprHC_maxSAT
${MO_BIN_DIR}/tutorial/Lesson1/firstImprHC_maxSAT.param
)
ELSEIF(${n} STREQUAL "lesson2")
ADD_CUSTOM_TARGET(mo-lesson2 DEPENDS
${MO_BIN_DIR}/tutorial/Lesson2/testNeighborhood
${MO_BIN_DIR}/tutorial/Lesson2/testNeighborhood.param
)
ELSEIF(${n} STREQUAL "lesson3")
ADD_CUSTOM_TARGET(mo-lesson3 DEPENDS
${MO_BIN_DIR}/tutorial/Lesson3/testSimulatedAnnealing
${MO_BIN_DIR}/tutorial/Lesson3/testSimulatedAnnealing.param
)
ELSEIF(${n} STREQUAL "lesson4")
ADD_CUSTOM_TARGET(mo-lesson4 DEPENDS
${MO_BIN_DIR}/tutorial/Lesson4/testSimpleTS
${MO_BIN_DIR}/tutorial/Lesson4/testSimpleTS.param
)
ELSEIF(${n} STREQUAL "lesson5")
ADD_CUSTOM_TARGET(mo-lesson5 DEPENDS
${MO_BIN_DIR}/tutorial/Lesson5/testILS
${MO_BIN_DIR}/tutorial/Lesson5/testILS.param
)
ELSEIF(${n} STREQUAL "lesson6")
ADD_CUSTOM_TARGET(mo-lesson6 DEPENDS
${MO_BIN_DIR}/tutorial/Lesson6/testRandomWalk
${MO_BIN_DIR}/tutorial/Lesson6/testRandomWalk.param
${MO_BIN_DIR}/tutorial/Lesson6/testMetropolisHasting
${MO_BIN_DIR}/tutorial/Lesson6/testMetropolisHasting.param
${MO_BIN_DIR}/tutorial/Lesson6/testRandomNeutralWalk
${MO_BIN_DIR}/tutorial/Lesson6/testRandomNeutralWalk.param
${MO_BIN_DIR}/tutorial/Lesson6/sampling
${MO_BIN_DIR}/tutorial/Lesson6/sampling.param
${MO_BIN_DIR}/tutorial/Lesson6/densityOfStates
${MO_BIN_DIR}/tutorial/Lesson6/densityOfStates.param
${MO_BIN_DIR}/tutorial/Lesson6/autocorrelation
${MO_BIN_DIR}/tutorial/Lesson6/autocorrelation.param
${MO_BIN_DIR}/tutorial/Lesson6/adaptiveWalks
${MO_BIN_DIR}/tutorial/Lesson6/adaptiveWalks.param
${MO_BIN_DIR}/tutorial/Lesson6/fdc
${MO_BIN_DIR}/tutorial/Lesson6/fdc.param
${MO_BIN_DIR}/tutorial/Lesson6/neutralDegree
${MO_BIN_DIR}/tutorial/Lesson6/neutralDegree.param
${MO_BIN_DIR}/tutorial/Lesson6/fitnessCloud
${MO_BIN_DIR}/tutorial/Lesson6/fitnessCloud.param
${MO_BIN_DIR}/tutorial/Lesson6/neutralWalk
${MO_BIN_DIR}/tutorial/Lesson6/neutralWalk.param
)
ELSEIF(${n} STREQUAL "lesson7")
ADD_CUSTOM_TARGET(mo-lesson7 DEPENDS
${MO_BIN_DIR}/tutorial/Lesson7/hybridAlgo
${MO_BIN_DIR}/tutorial/Lesson7/hybridAlgo.param
)
ELSEIF(${n} STREQUAL "lesson9")
ADD_CUSTOM_TARGET(mo-lesson9 DEPENDS
${MO_BIN_DIR}/tutorial/Lesson9/VNS
${MO_BIN_DIR}/tutorial/Lesson9/VNS.param
)
ELSEIF(${n} STREQUAL "lesson10")
ADD_CUSTOM_TARGET(mo-lesson10 DEPENDS
${MO_BIN_DIR}/tutorial/Lesson10/testKswapNeighborhood
${MO_BIN_DIR}/tutorial/Lesson10/testKswapNeighborhood.param
)
ENDIF(${n} STREQUAL "lesson1")
ENDMACRO(ADD_TARGET_NEWMO)
ADD_SUBDIRECTORY(Lesson1)
ADD_SUBDIRECTORY(Lesson2)
ADD_SUBDIRECTORY(Lesson3)
ADD_SUBDIRECTORY(Lesson4)
ADD_SUBDIRECTORY(Lesson5)
ADD_SUBDIRECTORY(Lesson6)
ADD_SUBDIRECTORY(Lesson7)
ADD_SUBDIRECTORY(Lesson9)
IF(NOT CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" AND NOT CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008" OR CMAKE_GENERATOR STREQUAL "Visual Studio 10")
ADD_COMMANDS_NEWMO()
ADD_TARGET_NEWMO(install)
ENDIF(NOT CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" AND NOT CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008" OR CMAKE_GENERATOR STREQUAL "Visual Studio 10")

View file

@ -30,7 +30,7 @@ install(TARGETS moeo ARCHIVE DESTINATION ${LIB} COMPONENT libraries)
######################################################################################
file(GLOB HDRS moeo)
install(FILES ${HDRS} DESTINATION include${INSTALL_SUB_DIR}/paradiseo-moeo COMPONENT headers)
install(FILES ${HDRS} DESTINATION include${INSTALL_SUB_DIR}/moeo COMPONENT headers)
######################################################################################
### 4) Install directories

View file

@ -1,252 +0,0 @@
INCLUDE_DIRECTORIES(${MO_SRC_DIR}/src)
SET(FLOWSHOP_SRC_DIR ${MOEO_SRC_DIR}/tutorial/examples/flowshop)
SET(FLOWSHOP_BINARY_DIR ${MOEO_BIN_DIR}/tutorial/examples/flowshop)
######################################################################################
######################################################################################
### 2) How to manage copy of benchs ?
######################################################################################
IF(ENABLE_CMAKE_EXAMPLE)
SET(BENCH_LIST
020_05_01.txt
020_05_02.txt
020_10_01.txt
020_10_02.txt
020_20_01.txt
050_05_01.txt
050_10_01.txt
050_20_01.txt
100_05_01.txt
100_10_01.txt
100_20_01.txt
200_10_01.txt
README
)
FOREACH (bench ${BENCH_LIST})
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MOEO_SRC_DIR}/tutorial/examples/flowshop/benchs/${bench}
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/${bench}
)
ENDFOREACH (bench)
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MOEO_SRC_DIR}/tutorial/Lesson1/Sch1.param
${MOEO_BIN_DIR}/tutorial/Lesson1/Sch1.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MOEO_SRC_DIR}/tutorial/Lesson2/FlowShopEA.param
${MOEO_BIN_DIR}/tutorial/Lesson2/FlowShopEA.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MOEO_SRC_DIR}/tutorial/Lesson3/FlowShopEA2.param
${MOEO_BIN_DIR}/tutorial/Lesson3/FlowShopEA2.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MOEO_SRC_DIR}/tutorial/Lesson4/FlowShopDMLS.param
${MOEO_BIN_DIR}/tutorial/Lesson4/FlowShopDMLS.param
)
ENDIF(ENABLE_CMAKE_EXAMPLE")
MACRO(ADD_COMMANDS_MOEO)
ADD_CUSTOM_COMMAND(
OUTPUT
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_05_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_05_02.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_10_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_10_02.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_20_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/050_05_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/050_10_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/050_20_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/100_05_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/100_10_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/100_20_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/200_10_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/README
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MOEO_SRC_DIR}/tutorial/examples/flowshop/benchs/020_05_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_05_01.txt
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MOEO_SRC_DIR}/tutorial/examples/flowshop/benchs/020_05_02.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_05_02.txt
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MOEO_SRC_DIR}/tutorial/examples/flowshop/benchs/020_10_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_10_01.txt
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MOEO_SRC_DIR}/tutorial/examples/flowshop/benchs/020_10_02.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_10_02.txt
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MOEO_SRC_DIR}/tutorial/examples/flowshop/benchs/020_20_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_20_01.txt
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MOEO_SRC_DIR}/tutorial/examples/flowshop/benchs/050_05_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/050_05_01.txt
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MOEO_SRC_DIR}/tutorial/examples/flowshop/benchs/050_10_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/050_10_01.txt
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MOEO_SRC_DIR}/tutorial/examples/flowshop/benchs/050_20_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/050_20_01.txt
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MOEO_SRC_DIR}/tutorial/examples/flowshop/benchs/100_05_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/100_05_01.txt
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MOEO_SRC_DIR}/tutorial/examples/flowshop/benchs/100_10_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/100_10_01.txt
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MOEO_SRC_DIR}/tutorial/examples/flowshop/benchs/100_20_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/100_20_01.txt
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MOEO_SRC_DIR}/tutorial/examples/flowshop/benchs/200_10_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/200_10_01.txt
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MOEO_SRC_DIR}/tutorial/examples/flowshop/benchs/README
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/README
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MOEO_BIN_DIR}/tutorial/Lesson1/Sch1.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MOEO_SRC_DIR}/tutorial/Lesson1/Sch1.param
${MOEO_BIN_DIR}/tutorial/Lesson1
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MOEO_BIN_DIR}/tutorial/Lesson2/FlowShopEA.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MOEO_SRC_DIR}/tutorial/Lesson2/FlowShopEA.param
${MOEO_BIN_DIR}/tutorial/Lesson2
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MOEO_BIN_DIR}/tutorial/Lesson3/FlowShopEA2.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MOEO_SRC_DIR}/tutorial/Lesson3/FlowShopEA2.param
${MOEO_BIN_DIR}/tutorial/Lesson3
)
ADD_CUSTOM_COMMAND(
OUTPUT ${MOEO_BIN_DIR}/tutorial/Lesson4/FlowShopDMLS.param
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${MOEO_SRC_DIR}/tutorial/Lesson4/FlowShopDMLS.param
${MOEO_BIN_DIR}/tutorial/Lesson4
)
ENDMACRO(ADD_COMMANDS_MOEO)
MACRO(ADD_TARGET_MOEO n)
IF(${n} STREQUAL "lesson1")
ADD_CUSTOM_TARGET(lesson1-moeo DEPENDS
${MOEO_BIN_DIR}/tutorial/Lesson1/Sch1
${MOEO_BIN_DIR}/tutorial/Lesson1/Sch1.param
)
ELSEIF(${n} STREQUAL "lesson2")
ADD_CUSTOM_TARGET(lesson2-moeo DEPENDS
${MOEO_BIN_DIR}/tutorial/Lesson2/FlowShopEA
${MOEO_BIN_DIR}/tutorial/Lesson2/FlowShopEA.param
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_05_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_05_02.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_10_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_10_02.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_20_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/050_05_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/050_10_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/050_20_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/100_05_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/100_10_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/100_20_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/200_10_01.txt
)
ELSEIF(${n} STREQUAL "lesson3")
ADD_CUSTOM_TARGET(lesson3-moeo DEPENDS
${MOEO_BIN_DIR}/tutorial/Lesson3/FlowShopEA2
${MOEO_BIN_DIR}/tutorial/Lesson3/FlowShopEA2.param
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_05_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_05_02.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_10_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_10_02.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_20_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/050_05_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/050_10_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/050_20_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/100_05_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/100_10_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/100_20_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/200_10_01.txt
)
ELSEIF(${n} STREQUAL "lesson4")
ADD_CUSTOM_TARGET(lesson4-moeo DEPENDS
${MOEO_BIN_DIR}/tutorial/Lesson4/FlowShopDMLS
${MOEO_BIN_DIR}/tutorial/Lesson4/FlowShopDMLS.param
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_05_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_05_02.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_10_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_10_02.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_20_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/050_05_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/050_10_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/050_20_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/100_05_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/100_10_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/100_20_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/200_10_01.txt
)
ELSEIF(${n} STREQUAL "install")
ADD_CUSTOM_TARGET(install DEPENDS
${MOEO_BIN_DIR}/tutorial/Lesson1/Sch1.param
${MOEO_BIN_DIR}/tutorial/Lesson2/FlowShopEA.param
${MOEO_BIN_DIR}/tutorial/Lesson3/FlowShopEA2.param
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_05_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_05_02.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_10_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_10_02.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_20_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/050_05_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/050_10_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/050_20_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/100_05_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/100_10_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/100_20_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/200_10_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/README
)
ELSEIF(${n} STREQUAL "benchs")
ADD_CUSTOM_TARGET(benchs DEPENDS
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_05_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_05_02.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_10_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_10_02.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/020_20_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/050_05_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/050_10_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/050_20_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/100_05_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/100_10_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/100_20_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/200_10_01.txt
${MOEO_BIN_DIR}/tutorial/examples/flowshop/benchs/README
)
ENDIF(${n} STREQUAL "lesson1")
ENDMACRO(ADD_TARGET_MOEO)
######################################################################################
### 3) Where must cmake go now ?
######################################################################################
ADD_SUBDIRECTORY(examples)
ADD_SUBDIRECTORY(Lesson1)
ADD_SUBDIRECTORY(Lesson2)
ADD_SUBDIRECTORY(Lesson3)
ADD_SUBDIRECTORY(Lesson4)
######################################################################################
######################################################################################
### 4) Target to copy benchs and parameters file
######################################################################################
IF(NOT CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" AND NOT CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008" OR CMAKE_GENERATOR STREQUAL "Visual Studio 10")
ADD_COMMANDS_MOEO()
ADD_TARGET_MOEO(install)
ADD_TARGET_MOEO(benchs)
ENDIF(NOT CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" AND NOT CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008" OR CMAKE_GENERATOR STREQUAL "Visual Studio 10")

View file

@ -1,20 +0,0 @@
###### General ######
# --help=0 # -h : Prints this message
# --stopOnUnknownParam=1 # Stop if unkown param entered
# --seed=1275659678 # -S : Random number seed
###### Evolution Engine ######
# --nhSize=20 # -G : neighborhood size
--popSize=1 # -P : Population Size
###### Persistence ######
# --Load= # -L : A save file to restart from
# --recomputeFitness=0 # -r : Recompute the fitness after re-loading the pop.?
# --status=./FlowShopDMLS.status # Status file
###### Representation ######
# --BenchmarkFile=../examples/flowshop/benchs/020_20_01.txt # -B : Benchmark file name
###### Stopping criterion ######
# --maxGen=100 # -G : Maximum number of gen.