new cmake config

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@517 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
legrand 2007-07-05 08:27:18 +00:00
commit 339043ec22
7 changed files with 58 additions and 49 deletions

View file

@ -12,12 +12,8 @@ INCLUDE(moeo-conf.cmake OPTIONAL)
### 1) Main project config ### 1) Main project config
###################################################################################### ######################################################################################
IF(NOT DEFINED ${PROJECT_NAME} OR ${PROJECT_NAME} STREQUAL "Project")
SET(PROJECT_NAME "ParadisEO-MOEO")
ENDIF(NOT DEFINED ${PROJECT_NAME} OR ${PROJECT_NAME} STREQUAL "Project")
# set the project name # set the project name
PROJECT(${PROJECT_NAME}) PROJECT(ParadisEO-MOEO)
# check cmake version compatibility # check cmake version compatibility
CMAKE_MINIMUM_REQUIRED(VERSION 2.4 FATAL_ERROR) CMAKE_MINIMUM_REQUIRED(VERSION 2.4 FATAL_ERROR)
@ -52,7 +48,7 @@ INCLUDE(CheckLibraryExists)
###################################################################################### ######################################################################################
IF(NOT DEFINED MOEO_DIR) IF(NOT DEFINED MOEO_DIR)
SET(MOEO_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE PATH "ParadisEO-MOEO main directory") SET(MOEO_DIR ${ParadisEO-MOEO_SOURCE_DIR} CACHE PATH "ParadisEO-MOEO main directory")
ENDIF(NOT DEFINED MOEO_DIR) ENDIF(NOT DEFINED MOEO_DIR)
# Need main EO directory path # Need main EO directory path
@ -68,11 +64,11 @@ IF(NOT DEFINED EO_SRC_DIR)
ENDIF(NOT DEFINED EO_SRC_DIR) ENDIF(NOT DEFINED EO_SRC_DIR)
IF(NOT DEFINED MOEO_SRC_DIR) IF(NOT DEFINED MOEO_SRC_DIR)
SET(MOEO_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src) SET(MOEO_SRC_DIR ${MOEO_DIR}/src)
ENDIF(NOT DEFINED MOEO_SRC_DIR) ENDIF(NOT DEFINED MOEO_SRC_DIR)
IF(NOT DEFINED MOEO_DOC_DIR) IF(NOT DEFINED MOEO_DOC_DIR)
SET(MOEO_DOC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/doc) SET(MOEO_DOC_DIR ${MOEO_DIR}/doc)
ENDIF(NOT DEFINED MOEO_DOC_DIR) ENDIF(NOT DEFINED MOEO_DOC_DIR)
###################################################################################### ######################################################################################

View file

@ -3,21 +3,11 @@
###################################################################################### ######################################################################################
### In this file, you can specify many CMake variables used to build paradisEO-MOEO. ### In this file, you can specify many CMake variables used to build paradisEO-MOEO.
### For example, if you don't want ot give the EO path each time on the command line, ### For example, if you don't want ot give the EO path each time on the command line,
### uncomment the line the "SET(PROJECT_NAME...)" and set your favorite name. ### uncomment the line the "SET(EO_DIR...)" and set your path.
### The section numbers are the same as those used in the CMakeLists.txt file. ### The section numbers are the same as those used in the CMakeLists.txt file.
###################################################################################### ######################################################################################
###################################################################################### ######################################################################################
######################################################################################
### 0) OPTIONNAL - Overwrite project default config
######################################################################################
# SET(PROJECT_NAME "ParadisEO-MOEO")
######################################################################################
###################################################################################### ######################################################################################
### 3) OPTIONNAL - Overwrite default paths ### 3) OPTIONNAL - Overwrite default paths
###################################################################################### ######################################################################################

View file

@ -13,7 +13,7 @@ INCLUDE_DIRECTORIES(${MOEO_SRC_DIR})
### 2) Define your target(s): just the moeo lib here. ### 2) Define your target(s): just the moeo lib here.
###################################################################################### ######################################################################################
SET(MOEO_LIB_OUTPUT_PATH ${MOEO_DIR}/build) SET(MOEO_LIB_OUTPUT_PATH ${ParadisEO-MOEO_BINARY_DIR}/lib)
SET(LIBRARY_OUTPUT_PATH ${MOEO_LIB_OUTPUT_PATH}) SET(LIBRARY_OUTPUT_PATH ${MOEO_LIB_OUTPUT_PATH})
SET (MOEO_SOURCES core/moeoObjectiveVectorTraits.cpp) SET (MOEO_SOURCES core/moeoObjectiveVectorTraits.cpp)

View file

@ -1,8 +1,18 @@
###################################################################################### ######################################################################################
### 1) Where must cmake go now ? ### 1) Definitions
###################################################################################### ######################################################################################
SUBDIRS(Lesson1 Lesson2) SET(FLOWSHOP_SRC_DIR ${ParadisEO-MOEO_SOURCE_DIR}/tutorial/examples/flowshop)
SET(FLOWSHOP_BINARY_DIR ${ParadisEO-MOEO_BINARY_DIR}/tutorial/examples/flowshop)
######################################################################################
######################################################################################
### 2) Where must cmake go now ?
######################################################################################
SUBDIRS(examples Lesson1 Lesson2)
###################################################################################### ######################################################################################

View file

@ -1,9 +1,16 @@
###################################################################################### ######################################################################################
### 0) Need flowhsop directory ### 0) Need flowhsop directory and copy the benchs
###################################################################################### ######################################################################################
SET(FLOWSHOP_EXAMPLE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/flowshop) ADD_CUSTOM_TARGET(copy_flowshop_param ALL)
ADD_CUSTOM_COMMAND(
TARGET copy_flowshop_param
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different
${ParadisEO-MOEO_SOURCE_DIR}/tutorial/Lesson1/FlowShopEA.param
${ParadisEO-MOEO_BINARY_DIR}/tutorial/Lesson1)
###################################################################################### ######################################################################################
@ -16,7 +23,8 @@ SET(FLOWSHOP_EXAMPLE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/flowshop)
INCLUDE_DIRECTORIES(${EO_SRC_DIR}) INCLUDE_DIRECTORIES(${EO_SRC_DIR})
INCLUDE_DIRECTORIES(${EO_SRC_DIR}/utils) INCLUDE_DIRECTORIES(${EO_SRC_DIR}/utils)
INCLUDE_DIRECTORIES(${MOEO_SRC_DIR}) INCLUDE_DIRECTORIES(${MOEO_SRC_DIR})
INCLUDE_DIRECTORIES(${FLOWSHOP_EXAMPLE_DIR}) INCLUDE_DIRECTORIES(${FLOWSHOP_SRC_DIR})
###################################################################################### ######################################################################################
@ -27,7 +35,7 @@ INCLUDE_DIRECTORIES(${FLOWSHOP_EXAMPLE_DIR})
# --> UNIX # --> UNIX
IF(UNIX) IF(UNIX)
LINK_DIRECTORIES(${EO_SRC_DIR} ${EO_SRC_DIR}/utils ${MOEO_DIR}/build ${TUTORIAL_LESSON1_DIR}/build) LINK_DIRECTORIES(${EO_SRC_DIR} ${EO_SRC_DIR}/utils ${ParadisEO-MOEO_BINARY_DIR}/lib ${FLOWSHOP_BINARY_DIR}/lib)
# --> WIN # --> WIN
ELSEIF(WIN32) ELSEIF(WIN32)
@ -37,10 +45,12 @@ ELSEIF(WIN32)
ENDIF (NOT DEFINED CMAKE_BUILD_TYPE) ENDIF (NOT DEFINED CMAKE_BUILD_TYPE)
IF (CMAKE_BUILD_TYPE STREQUAL Debug) IF (CMAKE_BUILD_TYPE STREQUAL Debug)
LINK_DIRECTORIES(${TUTORIAL_LESSON1_DIR}\\build\\debug) LINK_DIRECTORIES(${FLOWSHOP_BINARY_DIR}\\lib\\debug)
LINK_DIRECTORIES(${ParadisEO-MOEO_BINARY_DIR}\\lib\\debug)
LINK_DIRECTORIES(${EO_LIB_DIR}\\debug) LINK_DIRECTORIES(${EO_LIB_DIR}\\debug)
ELSEIF(CMAKE_BUILD_TYPE STREQUAL Release) ELSEIF(CMAKE_BUILD_TYPE STREQUAL Release)
LINK_DIRECTORIES(${TUTORIAL_LESSON1_DIR}\\build\\release) LINK_DIRECTORIES(${FLOWSHOP_BINARY_DIR}\\lib\\release)
LINK_DIRECTORIES(${ParadisEO-MOEO_BINARY_DIR}\\lib\\release)
LINK_DIRECTORIES(${EO_LIB_DIR}\\release) LINK_DIRECTORIES(${EO_LIB_DIR}\\release)
ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug) ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug)
@ -59,8 +69,6 @@ ADD_EXECUTABLE(FlowShopEA FlowShopEA.cpp)
ADD_DEPENDENCIES(FlowShopEA moeo) ADD_DEPENDENCIES(FlowShopEA moeo)
ADD_DEPENDENCIES(FlowShopEA flowshop) ADD_DEPENDENCIES(FlowShopEA flowshop)
SET(EXECUTABLE_OUTPUT_PATH ${TUTORIAL_LESSON1_DIR}/build)
###################################################################################### ######################################################################################
@ -131,12 +139,3 @@ ENDIF(UNIX)
ENDIF(CMAKE_CXX_COMPILER MATCHES cl) ENDIF(CMAKE_CXX_COMPILER MATCHES cl)
###################################################################################### ######################################################################################
######################################################################################
### 7) Where should CMake go now ?
######################################################################################
SUBDIRS(${FLOWSHOP_EXAMPLE_DIR})
######################################################################################

View file

@ -16,7 +16,7 @@ INCLUDE_DIRECTORIES(${MOEO_SRC_DIR})
# --> UNIX # --> UNIX
IF(UNIX) IF(UNIX)
LINK_DIRECTORIES(${EO_SRC_DIR} ${EO_SRC_DIR}/utils ${MOEO_DIR}/build) LINK_DIRECTORIES(${EO_SRC_DIR} ${EO_SRC_DIR}/utils ${ParadisEO-MOEO_BINARY_DIR}/lib)
# --> WIN # --> WIN
ELSEIF(WIN32) ELSEIF(WIN32)
@ -26,10 +26,10 @@ ELSEIF(WIN32)
ENDIF (NOT DEFINED CMAKE_BUILD_TYPE) ENDIF (NOT DEFINED CMAKE_BUILD_TYPE)
IF (CMAKE_BUILD_TYPE STREQUAL Debug) IF (CMAKE_BUILD_TYPE STREQUAL Debug)
LINK_DIRECTORIES(${MOEO_DIR}\\build\\debug) LINK_DIRECTORIES(${ParadisEO-MOEO_BINARY_DIR}\\lib\\debug)
LINK_DIRECTORIES(${EO_LIB_DIR}\\debug) LINK_DIRECTORIES(${EO_LIB_DIR}\\debug)
ELSEIF(CMAKE_BUILD_TYPE STREQUAL Release) ELSEIF(CMAKE_BUILD_TYPE STREQUAL Release)
LINK_DIRECTORIES(${MOEO_DIR}\\build\\release) LINK_DIRECTORIES(${ParadisEO-MOEO_BINARY_DIR}\\lib\\release)
LINK_DIRECTORIES(${EO_LIB_DIR}\\release) LINK_DIRECTORIES(${EO_LIB_DIR}\\release)
ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug) ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug)
@ -47,8 +47,6 @@ ENDIF(UNIX)
ADD_EXECUTABLE(sch1 Sch1.cpp) ADD_EXECUTABLE(sch1 Sch1.cpp)
ADD_DEPENDENCIES(sch1 moeo) ADD_DEPENDENCIES(sch1 moeo)
SET(EXECUTABLE_OUTPUT_PATH ${TUTORIAL_LESSON2_DIR}/build)
###################################################################################### ######################################################################################

View file

@ -1,10 +1,27 @@
######################################################################################
### 0) Copy the "benchs" directory in the build directory to easily run the lessons
######################################################################################
ADD_CUSTOM_TARGET(copy_flowshop_benchmarks ALL)
ADD_CUSTOM_COMMAND(
TARGET copy_flowshop_benchmarks
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_directory
${FLOWSHOP_SRC_DIR}/benchs
${FLOWSHOP_BINARY_DIR}/benchs)
######################################################################################
###################################################################################### ######################################################################################
### 1) Include the sources ### 1) Include the sources
###################################################################################### ######################################################################################
INCLUDE_DIRECTORIES(${EO_SRC_DIR}) INCLUDE_DIRECTORIES(${EO_SRC_DIR})
INCLUDE_DIRECTORIES(${MOEO_SRC_DIR}) INCLUDE_DIRECTORIES(${MOEO_SRC_DIR})
INCLUDE_DIRECTORIES(${FLOWSHOP_SRC_DIR})
###################################################################################### ######################################################################################
@ -15,7 +32,7 @@ INCLUDE_DIRECTORIES(${MOEO_SRC_DIR})
# --> UNIX # --> UNIX
IF(UNIX) IF(UNIX)
LINK_DIRECTORIES(${EO_SRC_DIR} ${EO_SRC_DIR}/utils ${MOEO_DIR}/build) LINK_DIRECTORIES(${EO_SRC_DIR} ${EO_SRC_DIR}/utils ${ParadisEO-MOEO_BINARY_DIR}/lib)
# --> WIN # --> WIN
ELSEIF(WIN32) ELSEIF(WIN32)
@ -25,10 +42,10 @@ ELSEIF(WIN32)
ENDIF (NOT DEFINED CMAKE_BUILD_TYPE) ENDIF (NOT DEFINED CMAKE_BUILD_TYPE)
IF (CMAKE_BUILD_TYPE STREQUAL Debug) IF (CMAKE_BUILD_TYPE STREQUAL Debug)
LINK_DIRECTORIES(${MOEO_DIR}\\build\\debug) LINK_DIRECTORIES(${ParadisEO-MOEO_BINARY_DIR}\\lib\\debug)
LINK_DIRECTORIES(${EO_LIB_DIR}\\debug) LINK_DIRECTORIES(${EO_LIB_DIR}\\debug)
ELSEIF(CMAKE_BUILD_TYPE STREQUAL Release) ELSEIF(CMAKE_BUILD_TYPE STREQUAL Release)
LINK_DIRECTORIES(${MOEO_DIR}\\build\\release) LINK_DIRECTORIES(${ParadisEO-MOEO_BINARY_DIR}\\lib\\release)
LINK_DIRECTORIES(${EO_LIB_DIR}\\release) LINK_DIRECTORIES(${EO_LIB_DIR}\\release)
ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug) ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug)
@ -42,10 +59,9 @@ ENDIF(UNIX)
### 3) Define your target(s): just the flowshop lib here ### 3) Define your target(s): just the flowshop lib here
###################################################################################### ######################################################################################
SET(FLOWSHOP_LIB_OUTPUT_PATH ${TUTORIAL_LESSON1_DIR}/build) SET(FLOWSHOP_LIB_OUTPUT_PATH ${FLOWSHOP_BINARY_DIR}/lib)
SET(LIBRARY_OUTPUT_PATH ${FLOWSHOP_LIB_OUTPUT_PATH}) SET(LIBRARY_OUTPUT_PATH ${FLOWSHOP_LIB_OUTPUT_PATH})
SET (FLOWSHOP_SOURCES FlowShopBenchmarkParser.cpp SET (FLOWSHOP_SOURCES FlowShopBenchmarkParser.cpp
FlowShopEval.cpp FlowShopEval.cpp
FlowShopInit.cpp FlowShopInit.cpp