paradiseo/branches/rc2.0/moeo/tutorial/CMakeLists.txt.save
quemy e3a610506b RC
git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@2710 331e1502-861f-0410-8da2-ba01fb791d7f
2012-07-16 09:38:48 +00:00

252 lines
12 KiB
Text

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")