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
######################################################################################
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
PROJECT(${PROJECT_NAME})
PROJECT(ParadisEO-MOEO)
# check cmake version compatibility
CMAKE_MINIMUM_REQUIRED(VERSION 2.4 FATAL_ERROR)
@ -52,7 +48,7 @@ INCLUDE(CheckLibraryExists)
######################################################################################
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)
# Need main EO directory path
@ -68,11 +64,11 @@ IF(NOT DEFINED EO_SRC_DIR)
ENDIF(NOT DEFINED EO_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)
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)
######################################################################################

View file

@ -3,21 +3,11 @@
######################################################################################
### 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,
### 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.
######################################################################################
######################################################################################
######################################################################################
### 0) OPTIONNAL - Overwrite project default config
######################################################################################
# SET(PROJECT_NAME "ParadisEO-MOEO")
######################################################################################
######################################################################################
### 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.
######################################################################################
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 (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}/utils)
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
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
ELSEIF(WIN32)
@ -37,10 +45,12 @@ ELSEIF(WIN32)
ENDIF (NOT DEFINED CMAKE_BUILD_TYPE)
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)
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)
ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug)
@ -59,8 +69,6 @@ ADD_EXECUTABLE(FlowShopEA FlowShopEA.cpp)
ADD_DEPENDENCIES(FlowShopEA moeo)
ADD_DEPENDENCIES(FlowShopEA flowshop)
SET(EXECUTABLE_OUTPUT_PATH ${TUTORIAL_LESSON1_DIR}/build)
######################################################################################
@ -131,12 +139,3 @@ ENDIF(UNIX)
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
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
ELSEIF(WIN32)
@ -26,10 +26,10 @@ ELSEIF(WIN32)
ENDIF (NOT DEFINED CMAKE_BUILD_TYPE)
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)
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)
ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug)
@ -47,8 +47,6 @@ ENDIF(UNIX)
ADD_EXECUTABLE(sch1 Sch1.cpp)
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
######################################################################################
INCLUDE_DIRECTORIES(${EO_SRC_DIR})
INCLUDE_DIRECTORIES(${MOEO_SRC_DIR})
INCLUDE_DIRECTORIES(${FLOWSHOP_SRC_DIR})
######################################################################################
@ -15,7 +32,7 @@ INCLUDE_DIRECTORIES(${MOEO_SRC_DIR})
# --> 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
ELSEIF(WIN32)
@ -25,10 +42,10 @@ ELSEIF(WIN32)
ENDIF (NOT DEFINED CMAKE_BUILD_TYPE)
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)
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)
ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug)
@ -42,10 +59,9 @@ ENDIF(UNIX)
### 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 (FLOWSHOP_SOURCES FlowShopBenchmarkParser.cpp
FlowShopEval.cpp
FlowShopInit.cpp