From 18a029bda5c381d5fae09c7df2a33620d1c7f385 Mon Sep 17 00:00:00 2001 From: legrand Date: Tue, 18 Sep 2007 15:57:47 +0000 Subject: [PATCH] updated cmake config git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@595 331e1502-861f-0410-8da2-ba01fb791d7f --- trunk/paradiseo-moeo/CMakeLists.txt | 107 +++++--- trunk/paradiseo-moeo/doc/CMakeLists.txt | 48 ++-- trunk/paradiseo-moeo/doc/moeo.doxyfile | 237 ------------------ trunk/paradiseo-moeo/moeo-conf.cmake | 17 +- trunk/paradiseo-moeo/src/CMakeLists.txt | 14 +- .../tutorial/Lesson1/CMakeLists.txt | 74 +----- .../tutorial/Lesson2/CMakeLists.txt | 71 ++---- .../tutorial/examples/flowshop/CMakeLists.txt | 73 +----- 8 files changed, 134 insertions(+), 507 deletions(-) delete mode 100644 trunk/paradiseo-moeo/doc/moeo.doxyfile diff --git a/trunk/paradiseo-moeo/CMakeLists.txt b/trunk/paradiseo-moeo/CMakeLists.txt index d1fc05403..a454f3250 100644 --- a/trunk/paradiseo-moeo/CMakeLists.txt +++ b/trunk/paradiseo-moeo/CMakeLists.txt @@ -1,6 +1,6 @@ ###################################################################################### -### 0) If you want to set your variables in moeo-conf.cmake and avoid the cmd line +### 0) If you want to set your own variables in moeo-conf.cmake and avoid the cmd line ###################################################################################### INCLUDE(moeo-conf.cmake OPTIONAL) @@ -9,12 +9,19 @@ INCLUDE(moeo-conf.cmake OPTIONAL) ###################################################################################### -### 1) Main project config +### 1) Project properties ###################################################################################### # set the project name PROJECT(ParadisEO-MOEO) +SET(PACKAGE_BUGREPORT "paradiseo-help@lists.gforge.inria.fr" CACHE STRING "Package bug report" FORCE) +SET(PACKAGE_NAME "ParadisEO-MOEO Moving Objects" CACHE STRING "Package name" FORCE) +SET(PACKAGE_STRING "ParadisEO-MOEO 1.0" CACHE STRING "Package string full name" FORCE) +SET(PACKAGE_VERSION "1.0" CACHE STRING "Package version" FORCE) +SET(GLOBAL_VERSION "1.0" CACHE STRING "Global version" FORCE) +SET(VERSION "1.0" CACHE STRING "Version" FORCE) + # check cmake version compatibility CMAKE_MINIMUM_REQUIRED(VERSION 2.4 FATAL_ERROR) @@ -31,6 +38,7 @@ ENABLE_LANGUAGE(C) ##################################################################################### ### 2) Include required modules ##################################################################################### + INCLUDE(CMakeBackwardCompatibilityCXX) INCLUDE(FindDoxygen) @@ -44,68 +52,87 @@ INCLUDE(CheckLibraryExists) ###################################################################################### -### 3) SET main paths (can be defined in moeo-conf.cmake) +### 3) Include the main configuration variables ###################################################################################### -IF(NOT DEFINED MOEO_DIR) - SET(MOEO_DIR ${ParadisEO-MOEO_SOURCE_DIR} CACHE PATH "ParadisEO-MOEO main directory") -ENDIF(NOT DEFINED MOEO_DIR) +# The "config" variable must be provided on the command line +IF(NOT DEFINED config OR NOT config) + MESSAGE(FATAL_ERROR "The \"config\" variable must be set on the command line to + give the path of the install configuration file. ") +ENDIF(NOT DEFINED config OR NOT config) -# Need main EO directory path -IF(NOT DEFINED EO_DIR OR NOT EO_DIR) - SET(EO_DIR ${EOdir} CACHE PATH "ParadisEO-EO main directory" FORCE) # given on the command line -ELSE(NOT DEFINED EO_DIR OR NOT EO_DIR) - MESSAGE(STATUS "EOdir already defined as ${EO_DIR}") -ENDIF(NOT DEFINED EO_DIR OR NOT EO_DIR) +# Need the config file whose full path is given thanks to the "config" variable +INCLUDE(${config}) -# Set the main paths -IF(NOT DEFINED EO_SRC_DIR) - SET(EO_SRC_DIR "${EO_DIR}/src") -ENDIF(NOT DEFINED EO_SRC_DIR) - -IF(NOT DEFINED MOEO_SRC_DIR) - SET(MOEO_SRC_DIR ${MOEO_DIR}/src) -ENDIF(NOT DEFINED MOEO_SRC_DIR) - -IF(NOT DEFINED MOEO_DOC_DIR) - SET(MOEO_DOC_DIR ${MOEO_DIR}/doc) -ENDIF(NOT DEFINED MOEO_DOC_DIR) ###################################################################################### ###################################################################################### ### 4) Paths checking ###################################################################################### -IF(EXISTS ${EO_DIR}) - MESSAGE (STATUS "Using ParadisEO-EO path: ${EO_DIR}") -ELSE(EXISTS ${EO_DIR}) - MESSAGE (FATAL_ERROR "Could not find the ParadisEO-EO path: ${EO_DIR}. You should use : cmake . -DEOdir=") -ENDIF(EXISTS ${EO_DIR}) -# Is it an absolute path ? IF(WIN32) SET (ABSOLUTE_PATH_REGEX "^[A-Z]:|^[a-z]:") ELSE(WIN32) SET (ABSOLUTE_PATH_REGEX "^/") ENDIF(WIN32) -IF(NOT ${EO_DIR} MATCHES "${ABSOLUTE_PATH_REGEX}") - MESSAGE (FATAL_ERROR "${EO_DIR} MUST BE an absolute path") -ENDIF(NOT ${EO_DIR} MATCHES "${ABSOLUTE_PATH_REGEX}") +SET(REQUIRED_PATHS "EO_SRC_DIR" "EO_BIN_DIR") +FOREACH (path ${REQUIRED_PATHS}) + IF(EXISTS ${${path}}) + MESSAGE (STATUS "Using ${path}=${${path}}") + ELSE(EXISTS ${${path}}) + MESSAGE (FATAL_ERROR "\n Cannot find \"${${path}}\". Please, fill \"${config}\" with a correct value") + ENDIF(EXISTS ${${path}}) + + IF(NOT ${${path}} MATCHES "${ABSOLUTE_PATH_REGEX}") + MESSAGE (FATAL_ERROR "${${path}} MUST BE an absolute path") + ENDIF(NOT ${${path}} MATCHES "${ABSOLUTE_PATH_REGEX}") +ENDFOREACH (path ${REQUIRED_PATHS}) +###################################################################################### -IF(WIN32) - SET(EO_LIB_DIR "${EO_DIR}\\win\\lib\\") -ELSE(WIN32) - SET(EO_LIB_DIR "${EO_DIR}/src") -ENDIF(WIN32) + +##################################################################################### +### 5) Manage the build type +##################################################################################### + +# the user should choose the build type on windows environments,excepted under cygwin (default=none) +SET(CMAKE_DEFAULT_BUILD_TYPE None CACHE STRING "Variable that stores the default CMake build type" FORCE) + +IF(WIN32 AND NOT CYGWIN) + IF(NOT CMAKE_BUILD_TYPE) + SET( CMAKE_BUILD_TYPE + ${CMAKE_DEFAULT_BUILD_TYPE} CACHE STRING + "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." + FORCE) + ENDIF(NOT CMAKE_BUILD_TYPE) + MESSAGE(STATUS "") + MESSAGE(STATUS "Warning: The type of build is: ${CMAKE_BUILD_TYPE}.") + MESSAGE(STATUS "The available types are: None Debug Release RelWithDebInfo MinSizeRel.") + MESSAGE(STATUS "You can choose it with: cmake -D") + MESSAGE(STATUS "") +ENDIF(WIN32 AND NOT CYGWIN) + +##################################################################################### + + +###################################################################################### +### 6) Where must cmake go now ? +###################################################################################### + +SUBDIRS(doc src test tutorial) ###################################################################################### ###################################################################################### -### 5) Where must cmake go now ? +### 7) Test config ###################################################################################### -SUBDIRS(doc src tutorial) +#SET(ENABLE_CMAKE_TESTING TRUE CACHE BOOL "Should we test using Dart") + +IF (ENABLE_CMAKE_TESTING) + ENABLE_TESTING() +ENDIF (ENABLE_CMAKE_TESTING) ###################################################################################### diff --git a/trunk/paradiseo-moeo/doc/CMakeLists.txt b/trunk/paradiseo-moeo/doc/CMakeLists.txt index 427bdf9ad..c94b73700 100644 --- a/trunk/paradiseo-moeo/doc/CMakeLists.txt +++ b/trunk/paradiseo-moeo/doc/CMakeLists.txt @@ -1,38 +1,26 @@ -### ParadisEO-MOEO Doc generation using Doxygen ### - -# Find the Doxygen package - will set all the variables required to use Doxygen -FIND_PACKAGE(Doxygen) +########################################################################################## +### MOEO Doc generation using Doxygen +########################################################################################## IF (DOXYGEN_FOUND) -SET(MOEO_DOC_COMMENT "ParadisEO-MOEO framework documentation") -SET(DOXYGEN_INPUT "moeo.doxyfile") -SET(DOXYGEN_OUTPUT "ParadisEO-MOEO documentation") - -ADD_CUSTOM_COMMAND( - OUTPUT ${DOXYGEN_OUTPUT} - COMMAND ${CMAKE_COMMAND} -E echo_append "Building documentation from ${MOEO_DOC_DIR} ..." - COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_INPUT} - COMMAND ${CMAKE_COMMAND} -E echo "Done." - WORKING_DIRECTORY ${MOEO_DOC_DIR} - COMMENT ${MOEO_DOC_COMMENT} - DEPENDS ${DOXYGEN_INPUT} - ) - -# The main target launched with "make doc" -ADD_CUSTOM_TARGET(doc DEPENDS ${DOXYGEN_OUTPUT}) - -# A forced additionnal target that generate the documentation in the current directory -ADD_CUSTOM_TARGET(doc_forced - COMMAND ${CMAKE_COMMAND} -E echo_append "Building documentation from current directory ..." - COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_INPUT} - COMMAND ${CMAKE_COMMAND} -E echo " Done." - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + SET(DOC_DIR ${CMAKE_BINARY_DIR}/doc CACHE PATH "MOEO documentation directory") + SET(MOEO_DOC_CONFIG_FILE "moeo.doxyfile" CACHE PATH "MOEO documentation configuration file") + # define the doc target + IF (DOXYGEN_EXECUTABLE) + ADD_CUSTOM_TARGET(doc + COMMAND ${DOXYGEN_EXECUTABLE} ${MOEO_DOC_CONFIG_FILE} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + ) + ENDIF (DOXYGEN_EXECUTABLE) + + # configure doxyfile file + CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/doc/${MOEO_DOC_CONFIG_FILE}.cmake" + "${CMAKE_BINARY_DIR}/doc/${MOEO_DOC_CONFIG_FILE}") ELSE (DOXYGEN_FOUND) - MESSAGE(STATUS "Unable to generate the document, Doxygen package not found") + MESSAGE(STATUS "Unable to generate the documentation, Doxygen package not found") ENDIF (DOXYGEN_FOUND) - - +########################################################################################## diff --git a/trunk/paradiseo-moeo/doc/moeo.doxyfile b/trunk/paradiseo-moeo/doc/moeo.doxyfile deleted file mode 100644 index ae4b5256f..000000000 --- a/trunk/paradiseo-moeo/doc/moeo.doxyfile +++ /dev/null @@ -1,237 +0,0 @@ -# Doxyfile 1.5.1 - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- -PROJECT_NAME = ParadisEO-MOEO -PROJECT_NUMBER = 1.0-beta -OUTPUT_DIRECTORY = -CREATE_SUBDIRS = NO -OUTPUT_LANGUAGE = English -USE_WINDOWS_ENCODING = NO -BRIEF_MEMBER_DESC = YES -REPEAT_BRIEF = YES -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the -ALWAYS_DETAILED_SEC = NO -INLINE_INHERITED_MEMB = NO -FULL_PATH_NAMES = NO -STRIP_FROM_PATH = -STRIP_FROM_INC_PATH = -SHORT_NAMES = NO -JAVADOC_AUTOBRIEF = YES -MULTILINE_CPP_IS_BRIEF = NO -DETAILS_AT_TOP = NO -INHERIT_DOCS = YES -SEPARATE_MEMBER_PAGES = NO -TAB_SIZE = 8 -ALIASES = -OPTIMIZE_OUTPUT_FOR_C = NO -OPTIMIZE_OUTPUT_JAVA = NO -BUILTIN_STL_SUPPORT = NO -DISTRIBUTE_GROUP_DOC = NO -SUBGROUPING = YES -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- -EXTRACT_ALL = NO -EXTRACT_PRIVATE = YES -EXTRACT_STATIC = YES -EXTRACT_LOCAL_CLASSES = YES -EXTRACT_LOCAL_METHODS = NO -HIDE_UNDOC_MEMBERS = YES -HIDE_UNDOC_CLASSES = YES -HIDE_FRIEND_COMPOUNDS = NO -HIDE_IN_BODY_DOCS = NO -INTERNAL_DOCS = NO -CASE_SENSE_NAMES = YES -HIDE_SCOPE_NAMES = NO -SHOW_INCLUDE_FILES = YES -INLINE_INFO = YES -SORT_MEMBER_DOCS = NO -SORT_BRIEF_DOCS = NO -SORT_BY_SCOPE_NAME = NO -GENERATE_TODOLIST = YES -GENERATE_TESTLIST = YES -GENERATE_BUGLIST = YES -GENERATE_DEPRECATEDLIST= YES -ENABLED_SECTIONS = -MAX_INITIALIZER_LINES = 30 -SHOW_USED_FILES = YES -SHOW_DIRECTORIES = NO -FILE_VERSION_FILTER = -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- -QUIET = YES -WARNINGS = YES -WARN_IF_UNDOCUMENTED = YES -WARN_IF_DOC_ERROR = YES -WARN_NO_PARAMDOC = NO -WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- -INPUT = . ../src -FILE_PATTERNS = *.cpp \ - *.h \ - NEWS README -RECURSIVE = YES -EXCLUDE = -EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXAMPLE_PATH = -EXAMPLE_PATTERNS = * -EXAMPLE_RECURSIVE = NO -IMAGE_PATH = -INPUT_FILTER = -FILTER_PATTERNS = -FILTER_SOURCE_FILES = NO -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- -SOURCE_BROWSER = YES -INLINE_SOURCES = NO -STRIP_CODE_COMMENTS = YES -REFERENCED_BY_RELATION = YES -REFERENCES_RELATION = YES -REFERENCES_LINK_SOURCE = YES -USE_HTAGS = NO -VERBATIM_HEADERS = YES -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- -ALPHABETICAL_INDEX = YES -COLS_IN_ALPHA_INDEX = 3 -IGNORE_PREFIX = moeo -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- -GENERATE_HTML = YES -HTML_OUTPUT = html -HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = -HTML_ALIGN_MEMBERS = YES -GENERATE_HTMLHELP = NO -CHM_FILE = -HHC_LOCATION = -GENERATE_CHI = NO -BINARY_TOC = NO -TOC_EXPAND = NO -DISABLE_INDEX = NO -ENUM_VALUES_PER_LINE = 4 -GENERATE_TREEVIEW = YES -TREEVIEW_WIDTH = 250 -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- -GENERATE_LATEX = YES -LATEX_OUTPUT = latex -LATEX_CMD_NAME = latex -MAKEINDEX_CMD_NAME = makeindex -COMPACT_LATEX = NO -PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = -PDF_HYPERLINKS = NO -USE_PDFLATEX = NO -LATEX_BATCHMODE = NO -LATEX_HIDE_INDICES = NO -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- -GENERATE_RTF = NO -RTF_OUTPUT = rtf -COMPACT_RTF = NO -RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- -GENERATE_MAN = YES -MAN_OUTPUT = man -MAN_EXTENSION = .3 -MAN_LINKS = NO -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- -GENERATE_XML = NO -XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = -XML_PROGRAMLISTING = YES -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- -GENERATE_AUTOGEN_DEF = NO -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- -GENERATE_PERLMOD = NO -PERLMOD_LATEX = NO -PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- -ENABLE_PREPROCESSING = YES -MACRO_EXPANSION = NO -EXPAND_ONLY_PREDEF = NO -SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = -PREDEFINED = -EXPAND_AS_DEFINED = -SKIP_FUNCTION_MACROS = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- -TAGFILES = ../../paradiseo-eo/doc/eo.doxytag=http://eodev.sourceforge.net/eo/doc/html -GENERATE_TAGFILE = moeo.doxytag -ALLEXTERNALS = NO -EXTERNAL_GROUPS = YES -PERL_PATH = /usr/bin/perl -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- -CLASS_DIAGRAMS = YES -HIDE_UNDOC_RELATIONS = YES -HAVE_DOT = NO -CLASS_GRAPH = YES -COLLABORATION_GRAPH = YES -GROUP_GRAPHS = YES -UML_LOOK = NO -TEMPLATE_RELATIONS = NO -INCLUDE_GRAPH = YES -INCLUDED_BY_GRAPH = YES -CALL_GRAPH = NO -CALLER_GRAPH = NO -GRAPHICAL_HIERARCHY = YES -DIRECTORY_GRAPH = YES -DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = -MAX_DOT_GRAPH_WIDTH = 1024 -MAX_DOT_GRAPH_HEIGHT = 1024 -MAX_DOT_GRAPH_DEPTH = 0 -DOT_TRANSPARENT = NO -DOT_MULTI_TARGETS = NO -GENERATE_LEGEND = YES -DOT_CLEANUP = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- -SEARCHENGINE = YES diff --git a/trunk/paradiseo-moeo/moeo-conf.cmake b/trunk/paradiseo-moeo/moeo-conf.cmake index dda17efce..07ff1d182 100644 --- a/trunk/paradiseo-moeo/moeo-conf.cmake +++ b/trunk/paradiseo-moeo/moeo-conf.cmake @@ -2,31 +2,24 @@ ###################################################################################### ###################################################################################### ### 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(EO_DIR...)" and set your path. -### The section numbers are the same as those used in the CMakeLists.txt file. ###################################################################################### ###################################################################################### + ###################################################################################### -### 3) OPTIONNAL - Overwrite default paths +### 1) OPTIONNAL ###################################################################################### -# SET(MOEO_DIR "" CACHE PATH "ParadisEO-MOEO main directory") -# SET(EO_DIR "" CACHE PATH "ParadisEO-EO main directory") - -# SET(EO_SRC_DIR "") -# SET(MOEO_SRC_DIR "") -# SET(MOEO_DOC_DIR "") +# SET (MYVAR MYVALUE) ###################################################################################### ##################################################################################### -### 5) OPTIONNAL - Overwrite subdirs +### 2) OPTIONNAL - Overwrite subdirs ###################################################################################### -# SUBDIRS(doc src tutorial) +# SUBDIRS(doc tutorial) ###################################################################################### diff --git a/trunk/paradiseo-moeo/src/CMakeLists.txt b/trunk/paradiseo-moeo/src/CMakeLists.txt index 1c0b9ae74..8ae14a0cd 100644 --- a/trunk/paradiseo-moeo/src/CMakeLists.txt +++ b/trunk/paradiseo-moeo/src/CMakeLists.txt @@ -4,7 +4,7 @@ ###################################################################################### INCLUDE_DIRECTORIES(${EO_SRC_DIR}) -INCLUDE_DIRECTORIES(${MOEO_SRC_DIR}) +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) ###################################################################################### @@ -18,15 +18,7 @@ SET(LIBRARY_OUTPUT_PATH ${MOEO_LIB_OUTPUT_PATH}) SET (MOEO_SOURCES core/moeoObjectiveVectorTraits.cpp) -# --> UNIX -IF(UNIX) - ADD_LIBRARY(moeo STATIC ${MOEO_SOURCES}) -ENDIF(UNIX) - -# --> WIN -IF(WIN32) - ADD_LIBRARY(moeo STATIC ${MOEO_SOURCES}) -ENDIF(WIN32) +ADD_LIBRARY(moeo STATIC ${MOEO_SOURCES}) ###################################################################################### @@ -35,7 +27,7 @@ ENDIF(WIN32) ### 3) Optionnal: define your target(s)'s version: no effect for windows ###################################################################################### -SET(MOEO_VERSION "1.0.beta") +SET(MOEO_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(moeo PROPERTIES VERSION "${MOEO_VERSION}") ###################################################################################### diff --git a/trunk/paradiseo-moeo/tutorial/Lesson1/CMakeLists.txt b/trunk/paradiseo-moeo/tutorial/Lesson1/CMakeLists.txt index fcc736e35..4fe4edb36 100644 --- a/trunk/paradiseo-moeo/tutorial/Lesson1/CMakeLists.txt +++ b/trunk/paradiseo-moeo/tutorial/Lesson1/CMakeLists.txt @@ -19,9 +19,8 @@ ADD_CUSTOM_COMMAND( ### 1) Include the sources ###################################################################################### -INCLUDE_DIRECTORIES(${EO_SRC_DIR}) -INCLUDE_DIRECTORIES(${EO_SRC_DIR}/utils) -INCLUDE_DIRECTORIES(${MOEO_SRC_DIR}) +INCLUDE_DIRECTORIES(${EO_SRC_DIR}/src) +INCLUDE_DIRECTORIES(${ParadisEO-MOEO_SOURCE_DIR}/src) INCLUDE_DIRECTORIES(${FLOWSHOP_SRC_DIR}) ###################################################################################### @@ -29,34 +28,17 @@ INCLUDE_DIRECTORIES(${FLOWSHOP_SRC_DIR}) ###################################################################################### -### 2) Specify where CMake can find the libraries (mandatory: before 3) ) +### 2) Specify where CMake can find the libraries ###################################################################################### -# --> UNIX -IF(UNIX) - LINK_DIRECTORIES(${EO_SRC_DIR} ${EO_SRC_DIR}/utils ${ParadisEO-MOEO_BINARY_DIR}/lib ${FLOWSHOP_BINARY_DIR}/lib) -ENDIF(UNIX) +IF(NOT WIN32 OR CYGWIN) + LINK_DIRECTORIES(${EO_BIN_DIR}/lib ${ParadisEO-MOEO_BINARY_DIR}/lib ${FLOWSHOP_BINARY_DIR}/lib) +ENDIF(NOT WIN32 OR CYGWIN) -# --> WIN -IF(WIN32) - # "CMAKE_BUILD_TYPE" supposed to be given on the command line, default=Debug - IF (NOT DEFINED CMAKE_BUILD_TYPE) - set (CMAKE_BUILD_TYPE Debug) - ENDIF (NOT DEFINED CMAKE_BUILD_TYPE) - - IF (CMAKE_BUILD_TYPE STREQUAL Debug) - LINK_DIRECTORIES(${FLOWSHOP_BINARY_DIR}\\lib\\debug) - LINK_DIRECTORIES(${ParadisEO-MOEO_BINARY_DIR}\\lib\\debug) - LINK_DIRECTORIES(${EO_LIB_DIR}\\debug) - ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug) - - IF(CMAKE_BUILD_TYPE STREQUAL 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 Release) - -ENDIF(WIN32) +# especially for Visual Studio +IF(WIN32 AND NOT CYGWIN) + LINK_DIRECTORIES(${EO_BIN_DIR}\\lib\\${CMAKE_BUILD_TYPE} ${ParadisEO-MOEO_BINARY_DIR}\\lib\\${CMAKE_BUILD_TYPE} ${FLOWSHOP_BINARY_DIR}\\lib\\${CMAKE_BUILD_TYPE}) +ENDIF(WIN32 AND NOT CYGWIN) ###################################################################################### @@ -66,11 +48,8 @@ ENDIF(WIN32) ### 3) Define your target(s): just an executable here ###################################################################################### -# no matter what is the OS, hopefully ADD_EXECUTABLE(FlowShopEA FlowShopEA.cpp) - -ADD_DEPENDENCIES(FlowShopEA moeo) -ADD_DEPENDENCIES(FlowShopEA flowshop) +ADD_DEPENDENCIES(FlowShopEA flowshop moeo) ###################################################################################### @@ -79,7 +58,7 @@ ADD_DEPENDENCIES(FlowShopEA flowshop) ### 4) Optionnal: define your target(s)'s version: no effect for windows ###################################################################################### -SET(FLOWSHOPEA_VERSION "1.0.beta") +SET(FLOWSHOPEA_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(FlowShopEA PROPERTIES VERSION "${FLOWSHOPEA_VERSION}") ###################################################################################### @@ -89,36 +68,9 @@ SET_TARGET_PROPERTIES(FlowShopEA PROPERTIES VERSION "${FLOWSHOPEA_VERSION}") ### 5) Link the librairies for your target(s) ###################################################################################### -# --> UNIX -IF(UNIX) - TARGET_LINK_LIBRARIES(FlowShopEA moeo) - TARGET_LINK_LIBRARIES(FlowShopEA flowshop) - TARGET_LINK_LIBRARIES(FlowShopEA eo) - TARGET_LINK_LIBRARIES(FlowShopEA eoutils) -ENDIF(UNIX) -# --> WIN -IF(WIN32) - # "CMAKE_BUILD_TYPE" supposed to be given on the command line, default=Debug - IF (NOT DEFINED CMAKE_BUILD_TYPE) - set (CMAKE_BUILD_TYPE Debug) - ENDIF (NOT DEFINED CMAKE_BUILD_TYPE) - - IF (CMAKE_BUILD_TYPE STREQUAL Debug) - TARGET_LINK_LIBRARIES(FlowShopEA moeo) - TARGET_LINK_LIBRARIES(FlowShopEA flowshop) - TARGET_LINK_LIBRARIES(FlowShopEA eod) - TARGET_LINK_LIBRARIES(FlowShopEA eoutilsd) - ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug) - - IF(CMAKE_BUILD_TYPE STREQUAL Release) - TARGET_LINK_LIBRARIES(FlowShopEA moeo) - TARGET_LINK_LIBRARIES(FlowShopEA flowshop) - TARGET_LINK_LIBRARIES(FlowShopEA eo) - TARGET_LINK_LIBRARIES(FlowShopEA eoutils) - ENDIF(CMAKE_BUILD_TYPE STREQUAL Release) +TARGET_LINK_LIBRARIES(FlowShopEA moeo flowshop eo eoutils) -ENDIF(WIN32) ###################################################################################### diff --git a/trunk/paradiseo-moeo/tutorial/Lesson2/CMakeLists.txt b/trunk/paradiseo-moeo/tutorial/Lesson2/CMakeLists.txt index 24b11dac9..08808cc61 100644 --- a/trunk/paradiseo-moeo/tutorial/Lesson2/CMakeLists.txt +++ b/trunk/paradiseo-moeo/tutorial/Lesson2/CMakeLists.txt @@ -3,40 +3,25 @@ ### 1) Include the sources ###################################################################################### -INCLUDE_DIRECTORIES(${EO_SRC_DIR}) +INCLUDE_DIRECTORIES(${EO_SRC_DIR}/src) INCLUDE_DIRECTORIES(${EO_SRC_DIR}/utils) -INCLUDE_DIRECTORIES(${MOEO_SRC_DIR}) +INCLUDE_DIRECTORIES(${ParadisEO-MOEO_SOURCE_DIR}/src) ###################################################################################### ###################################################################################### -### 2) Specify where CMake can find the libraries (mandatory: before 3) ) +### 2) Specify where CMake can find the libraries ###################################################################################### -# --> UNIX -IF(UNIX) - LINK_DIRECTORIES(${EO_SRC_DIR} ${EO_SRC_DIR}/utils ${ParadisEO-MOEO_BINARY_DIR}/lib) -ENDIF(UNIX) +IF(NOT WIN32 OR CYGWIN) + LINK_DIRECTORIES(${EO_BIN_DIR}/lib ${ParadisEO-MOEO_BINARY_DIR}/lib) +ENDIF(NOT WIN32 OR CYGWIN) -# --> WIN -IF(WIN32) - # "CMAKE_BUILD_TYPE" supposed to be given on the command line, default=Debug - IF (NOT DEFINED CMAKE_BUILD_TYPE) - set (CMAKE_BUILD_TYPE Debug) - ENDIF (NOT DEFINED CMAKE_BUILD_TYPE) - - IF (CMAKE_BUILD_TYPE STREQUAL Debug) - LINK_DIRECTORIES(${ParadisEO-MOEO_BINARY_DIR}\\lib\\debug) - LINK_DIRECTORIES(${EO_LIB_DIR}\\debug) - ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug) - - IF(CMAKE_BUILD_TYPE STREQUAL Release) - LINK_DIRECTORIES(${ParadisEO-MOEO_BINARY_DIR}\\lib\\release) - LINK_DIRECTORIES(${EO_LIB_DIR}\\release) - ENDIF(CMAKE_BUILD_TYPE STREQUAL Release) - -ENDIF(WIN32) +# especially for Visual Studio +IF(WIN32 AND NOT CYGWIN) + LINK_DIRECTORIES(${EO_BIN_DIR}\\lib\\${CMAKE_BUILD_TYPE} ${ParadisEO-MOEO_BINARY_DIR}\\lib\\${CMAKE_BUILD_TYPE}) +ENDIF(WIN32 AND NOT CYGWIN) ###################################################################################### @@ -46,10 +31,8 @@ ENDIF(WIN32) ### 3) Define your target(s): just an executable here ###################################################################################### -# no matter what is the OS, hopefully -ADD_EXECUTABLE(sch1 Sch1.cpp) - -ADD_DEPENDENCIES(sch1 moeo) +ADD_EXECUTABLE(Sch1 Sch1.cpp) +ADD_DEPENDENCIES(Sch1 moeo) ###################################################################################### @@ -58,8 +41,8 @@ ADD_DEPENDENCIES(sch1 moeo) ### 4) Optionnal: define your target(s)'s version: no effect for windows ###################################################################################### -SET(SCH1_VERSION "1.0.beta") -SET_TARGET_PROPERTIES(sch1 PROPERTIES VERSION "${SCH1_VERSION}") +SET(SCH1_VERSION ${GLOBAL_VERSION}) +SET_TARGET_PROPERTIES(Sch1 PROPERTIES VERSION "${SCH1_VERSION}") ###################################################################################### @@ -68,33 +51,9 @@ SET_TARGET_PROPERTIES(sch1 PROPERTIES VERSION "${SCH1_VERSION}") ### 5) Link the librairies for your target(s) ###################################################################################### -# --> UNIX -IF(UNIX) - TARGET_LINK_LIBRARIES(sch1 moeo) - TARGET_LINK_LIBRARIES(sch1 eo) - TARGET_LINK_LIBRARIES(sch1 eoutils) -ENDIF(UNIX) -# --> WIN -IF(WIN32) - # "CMAKE_BUILD_TYPE" supposed to be given on the command line, default=Debug - IF (NOT DEFINED CMAKE_BUILD_TYPE) - set (CMAKE_BUILD_TYPE Debug) - ENDIF (NOT DEFINED CMAKE_BUILD_TYPE) - - IF (CMAKE_BUILD_TYPE STREQUAL Debug) - TARGET_LINK_LIBRARIES(sch1 moeo) - TARGET_LINK_LIBRARIES(sch1 eod) - TARGET_LINK_LIBRARIES(sch1 eoutilsd) - ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug) - - IF(CMAKE_BUILD_TYPE STREQUAL Release) - TARGET_LINK_LIBRARIES(sch1 moeo) - TARGET_LINK_LIBRARIES(sch1 eo) - TARGET_LINK_LIBRARIES(sch1 eoutils) - ENDIF(CMAKE_BUILD_TYPE STREQUAL Release) +TARGET_LINK_LIBRARIES(Sch1 moeo eo eoutils) -ENDIF(WIN32) ###################################################################################### diff --git a/trunk/paradiseo-moeo/tutorial/examples/flowshop/CMakeLists.txt b/trunk/paradiseo-moeo/tutorial/examples/flowshop/CMakeLists.txt index 4f5f490b5..86372c236 100644 --- a/trunk/paradiseo-moeo/tutorial/examples/flowshop/CMakeLists.txt +++ b/trunk/paradiseo-moeo/tutorial/examples/flowshop/CMakeLists.txt @@ -19,44 +19,29 @@ ADD_CUSTOM_COMMAND( ### 1) Include the sources ###################################################################################### -INCLUDE_DIRECTORIES(${EO_SRC_DIR}) -INCLUDE_DIRECTORIES(${MOEO_SRC_DIR}) +INCLUDE_DIRECTORIES(${EO_SRC_DIR}/src) +INCLUDE_DIRECTORIES(${ParadisEO-MOEO_SOURCE_DIR}/src) INCLUDE_DIRECTORIES(${FLOWSHOP_SRC_DIR}) ###################################################################################### ###################################################################################### -### 2) Specify where CMake can find the libraries (mandatory: before 3) ) +### 2) Specify where CMake can find the libraries ###################################################################################### -# --> UNIX -IF(UNIX) - LINK_DIRECTORIES(${EO_SRC_DIR} ${EO_SRC_DIR}/utils ${ParadisEO-MOEO_BINARY_DIR}/lib) -ENDIF(UNIX) +IF(NOT WIN32 OR CYGWIN) + LINK_DIRECTORIES(${EO_BIN_DIR}/lib) +ENDIF(NOT WIN32 OR CYGWIN) -# --> WIN -IF(WIN32) - # "CMAKE_BUILD_TYPE" supposed to be given on the command line, default=Debug - IF (NOT DEFINED CMAKE_BUILD_TYPE) - set (CMAKE_BUILD_TYPE Debug) - ENDIF (NOT DEFINED CMAKE_BUILD_TYPE) - - IF (CMAKE_BUILD_TYPE STREQUAL Debug) - LINK_DIRECTORIES(${ParadisEO-MOEO_BINARY_DIR}\\lib\\debug) - LINK_DIRECTORIES(${EO_LIB_DIR}\\debug) - ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug) - - IF(CMAKE_BUILD_TYPE STREQUAL Release) - LINK_DIRECTORIES(${ParadisEO-MOEO_BINARY_DIR}\\lib\\release) - LINK_DIRECTORIES(${EO_LIB_DIR}\\release) - ENDIF(CMAKE_BUILD_TYPE STREQUAL Release) -ENDIF(WIN32) +# especially for Visual Studio +IF(WIN32 AND NOT CYGWIN) + LINK_DIRECTORIES(${EO_BINARY_DIR}\\lib\\${CMAKE_BUILD_TYPE} ${ParadisEO-MOEO_BINARY_DIR}\\lib\\${CMAKE_BUILD_TYPE}) +ENDIF(WIN32 AND NOT CYGWIN) ###################################################################################### - ###################################################################################### ### 3) Define your target(s): just the flowshop lib here ###################################################################################### @@ -73,18 +58,8 @@ SET (FLOWSHOP_SOURCES FlowShopBenchmarkParser.cpp FlowShopOpMutationShift.cpp FlowShop.cpp) -# --> UNIX -IF(UNIX) - ADD_LIBRARY(flowshop STATIC ${FLOWSHOP_SOURCES}) -ENDIF(UNIX) - -# --> WIN -IF(WIN32) - ADD_LIBRARY(flowshop STATIC ${FLOWSHOP_SOURCES}) -ENDIF(WIN32) - +ADD_LIBRARY(flowshop STATIC ${FLOWSHOP_SOURCES}) ADD_DEPENDENCIES(flowshop moeo) - ###################################################################################### @@ -93,7 +68,7 @@ ADD_DEPENDENCIES(flowshop moeo) ### 4) Optionnal: define your target(s)'s version: no effect for windows ###################################################################################### -SET(FLOWSHOP_VERSION "1.0.beta") +SET(FLOWSHOP_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(flowshop PROPERTIES VERSION "${FLOWSHOP_VERSION}") ###################################################################################### @@ -102,30 +77,8 @@ SET_TARGET_PROPERTIES(flowshop PROPERTIES VERSION "${FLOWSHOP_VERSION}") ### 5) Link the librairies for your target(s) ###################################################################################### -# --> UNIX -IF(UNIX) - TARGET_LINK_LIBRARIES(flowshop moeo) - TARGET_LINK_LIBRARIES(flowshop eo) -ENDIF(UNIX) +TARGET_LINK_LIBRARIES(flowshop eo) -# --> APPLE AND WIN -IF(WIN32) - # "CMAKE_BUILD_TYPE" supposed to be given on the command line, default=Debug - IF (NOT DEFINED CMAKE_BUILD_TYPE) - set (CMAKE_BUILD_TYPE Debug) - ENDIF (NOT DEFINED CMAKE_BUILD_TYPE) - - IF (CMAKE_BUILD_TYPE STREQUAL Debug) - TARGET_LINK_LIBRARIES(flowshop moeo) - TARGET_LINK_LIBRARIES(flowshop eod) - ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug) - - IF(CMAKE_BUILD_TYPE STREQUAL Release) - TARGET_LINK_LIBRARIES(flowshop moeo) - TARGET_LINK_LIBRARIES(flowshop eo) - ENDIF(CMAKE_BUILD_TYPE STREQUAL Release) - -ENDIF(WIN32) ######################################################################################