git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@1347 331e1502-861f-0410-8da2-ba01fb791d7f
228 lines
No EOL
12 KiB
CMake
228 lines
No EOL
12 KiB
CMake
|
|
######################################################################################
|
|
### 1) Definitions
|
|
######################################################################################
|
|
|
|
SET(FLOWSHOP_SRC_DIR ${ParadisEO-MOEO_SOURCE_DIR}/tutorial/examples/flowshop)
|
|
SET(FLOWSHOP_BINARY_DIR ${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop)
|
|
|
|
######################################################################################
|
|
|
|
######################################################################################
|
|
### 2) How to manage copy of benchs ?
|
|
######################################################################################
|
|
|
|
IF(ENABLE_CMAKE_EXAMPLE OR CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008")
|
|
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
|
|
${ParadisEO-MOEO_SOURCE_DIR}/tutorial/examples/flowshop/benchs/${bench}
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/${bench}
|
|
)
|
|
ENDFOREACH (bench)
|
|
EXECUTE_PROCESS(
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
${ParadisEO-MOEO_SOURCE_DIR}/tutorial/Lesson1/Sch1.param
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/Lesson1/Sch1.param
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
${ParadisEO-MOEO_SOURCE_DIR}/tutorial/Lesson2/FlowShopEA.param
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/Lesson2/FlowShopEA.param
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
${ParadisEO-MOEO_SOURCE_DIR}/tutorial/Lesson3/FlowShopEA2.param
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/Lesson3/FlowShopEA2.param
|
|
)
|
|
ENDIF(ENABLE_CMAKE_EXAMPLE OR CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008")
|
|
|
|
MACRO(ADD_COMMANDS_MOEO)
|
|
ADD_CUSTOM_COMMAND(
|
|
OUTPUT
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_05_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_05_02.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_10_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_10_02.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_20_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/050_05_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/050_10_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/050_20_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/100_05_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/100_10_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/100_20_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/200_10_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/README
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
${ParadisEO-MOEO_SOURCE_DIR}/tutorial/examples/flowshop/benchs/020_05_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_05_01.txt
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
${ParadisEO-MOEO_SOURCE_DIR}/tutorial/examples/flowshop/benchs/020_05_02.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_05_02.txt
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
${ParadisEO-MOEO_SOURCE_DIR}/tutorial/examples/flowshop/benchs/020_10_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_10_01.txt
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
${ParadisEO-MOEO_SOURCE_DIR}/tutorial/examples/flowshop/benchs/020_10_02.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_10_02.txt
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
${ParadisEO-MOEO_SOURCE_DIR}/tutorial/examples/flowshop/benchs/020_20_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_20_01.txt
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
${ParadisEO-MOEO_SOURCE_DIR}/tutorial/examples/flowshop/benchs/050_05_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/050_05_01.txt
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
${ParadisEO-MOEO_SOURCE_DIR}/tutorial/examples/flowshop/benchs/050_10_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/050_10_01.txt
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
${ParadisEO-MOEO_SOURCE_DIR}/tutorial/examples/flowshop/benchs/050_20_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/050_20_01.txt
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
${ParadisEO-MOEO_SOURCE_DIR}/tutorial/examples/flowshop/benchs/100_05_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/100_05_01.txt
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
${ParadisEO-MOEO_SOURCE_DIR}/tutorial/examples/flowshop/benchs/100_10_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/100_10_01.txt
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
${ParadisEO-MOEO_SOURCE_DIR}/tutorial/examples/flowshop/benchs/100_20_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/100_20_01.txt
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
${ParadisEO-MOEO_SOURCE_DIR}/tutorial/examples/flowshop/benchs/200_10_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/200_10_01.txt
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
${ParadisEO-MOEO_SOURCE_DIR}/tutorial/examples/flowshop/benchs/README
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/README
|
|
)
|
|
|
|
ADD_CUSTOM_COMMAND(
|
|
OUTPUT ${ParadisEO-MOEO_BINARY_DIR}/tutorial/Lesson1/Sch1.param
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
${ParadisEO-MOEO_SOURCE_DIR}/tutorial/Lesson1/Sch1.param
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/Lesson1
|
|
)
|
|
|
|
ADD_CUSTOM_COMMAND(
|
|
OUTPUT ${ParadisEO-MOEO_BINARY_DIR}/tutorial/Lesson2/FlowShopEA.param
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
${ParadisEO-MOEO_SOURCE_DIR}/tutorial/Lesson2/FlowShopEA.param
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/Lesson2
|
|
)
|
|
|
|
ADD_CUSTOM_COMMAND(
|
|
OUTPUT ${ParadisEO-MOEO_BINARY_DIR}/tutorial/Lesson3/FlowShopEA2.param
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
${ParadisEO-MOEO_SOURCE_DIR}/tutorial/Lesson3/FlowShopEA2.param
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/Lesson3
|
|
)
|
|
ENDMACRO(ADD_COMMANDS_MOEO)
|
|
|
|
MACRO(ADD_TARGET_MOEO n)
|
|
IF(${n} STREQUAL "lesson1")
|
|
ADD_CUSTOM_TARGET(lesson1 DEPENDS
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/Lesson1/Sch1
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/Lesson1/Sch1.param
|
|
)
|
|
ELSEIF(${n} STREQUAL "lesson2")
|
|
ADD_CUSTOM_TARGET(lesson2 DEPENDS
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/Lesson2/FlowShopEA
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/Lesson2/FlowShopEA.param
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_05_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_05_02.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_10_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_10_02.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_20_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/050_05_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/050_10_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/050_20_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/100_05_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/100_10_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/100_20_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/200_10_01.txt
|
|
)
|
|
ELSEIF(${n} STREQUAL "lesson3")
|
|
ADD_CUSTOM_TARGET(lesson3 DEPENDS
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/Lesson3/FlowShopEA2
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/Lesson3/FlowShopEA2.param
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_05_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_05_02.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_10_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_10_02.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_20_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/050_05_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/050_10_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/050_20_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/100_05_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/100_10_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/100_20_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/200_10_01.txt
|
|
)
|
|
ELSEIF(${n} STREQUAL "install")
|
|
ADD_CUSTOM_TARGET(install DEPENDS
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/Lesson1/Sch1.param
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/Lesson2/FlowShopEA.param
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/Lesson3/FlowShopEA2.param
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_05_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_05_02.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_10_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_10_02.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_20_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/050_05_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/050_10_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/050_20_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/100_05_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/100_10_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/100_20_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/200_10_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/README
|
|
)
|
|
ELSEIF(${n} STREQUAL "benchs")
|
|
ADD_CUSTOM_TARGET(benchs DEPENDS
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_05_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_05_02.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_10_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_10_02.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/020_20_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/050_05_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/050_10_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/050_20_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/100_05_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/100_10_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/100_20_01.txt
|
|
${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop/benchs/200_10_01.txt
|
|
${ParadisEO-MOEO_BINARY_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)
|
|
|
|
######################################################################################
|
|
|
|
######################################################################################
|
|
### 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")
|
|
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") |