simplified CMake config: a common "install.cmake" for the three modules. + ctest calls in the installation script

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@966 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
legrand 2008-02-18 14:01:49 +00:00
commit f28e2df374
5 changed files with 310 additions and 430 deletions

View file

@ -1,8 +1,116 @@
##########################################################################################################################################
### ParadisEO Install Configuration
### The path to the modules EO and MO must be specified above.
##########################################################################################################################################
######################################################################################
### CMake basic configuration
######################################################################################
# check cmake version compatibility
CMAKE_MINIMUM_REQUIRED(VERSION 2.4 FATAL_ERROR)
# regular expression checking
INCLUDE_REGULAR_EXPRESSION("^.*$" "^$")
# set a language for the entire project.
ENABLE_LANGUAGE(CXX)
ENABLE_LANGUAGE(C)
####################################################################################
#####################################################################################
### Include required modules & utilities
#####################################################################################
INCLUDE(CMakeBackwardCompatibilityCXX)
INCLUDE(FindDoxygen)
INCLUDE(FindGnuplot)
INCLUDE(CheckLibraryExists)
INCLUDE(Dart OPTIONNAL)
# the project can have a DartConfig.cmake file
INCLUDE(DartConfig.cmake OPTIONNAL)
# Set a special flag if the environment is windows (should do the same in a config.g file)
IF (WIN32)
ADD_DEFINITIONS(-D_WINDOWS=1)
ENDIF (WIN32)
######################################################################################
#####################################################################################
### Manage the build type
#####################################################################################
# the user should choose the build type on windows environments,excepted under cygwin (default=none)
SET(CMAKE_DEFAULT_BUILD_TYPE "Release" CACHE STRING "Variable that stores the default CMake build type" FORCE)
FIND_PROGRAM(MEMORYCHECK_COMMAND
NAMES purify valgrind
PATHS
"/usr/local/bin /usr/bin [HKEY_LOCAL_MACHINE\\SOFTWARE\\Rational Software\\Purify\\Setup;InstallFolder]"
DOC "Path to the memory checking command, used for memory error detection.")
IF(NOT CMAKE_BUILD_TYPE)
SET( CMAKE_BUILD_TYPE
${CMAKE_DEFAULT_BUILD_TYPE} CACHE STRING
"Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel."
FORCE)
ENDIF(NOT CMAKE_BUILD_TYPE)
IF(WIN32 AND NOT CYGWIN)
IF(CMAKE_CXX_COMPILER MATCHES cl)
IF(NOT WITH_SHARED_LIBS)
IF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005")
SET(CMAKE_CXX_FLAGS "/nologo /W3 /Gy")
SET(CMAKE_CXX_FLAGS_DEBUG "/MTd /Z7 /Od")
SET(CMAKE_CXX_FLAGS_RELEASE "/MT /O2")
SET(CMAKE_CXX_FLAGS_MINSIZEREL "/MT /O2")
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MTd /Z7 /Od")
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:CONSOLE")
ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005")
ENDIF(NOT WITH_SHARED_LIBS)
ENDIF(CMAKE_CXX_COMPILER MATCHES cl)
ELSE(WIN32 AND NOT CYGWIN)
IF(CMAKE_COMPILER_IS_GNUCXX)
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g -Wall -pedantic -Wextra -Wno-import -Winit-self -Wmissing-include-dirs -Wunused-parameter -Wundef -Wshadow -Wunsafe-loop-optimizations -Wcast-align -Wconversion -Wsign-compare -Winline -Wdisabled-optimization")
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2")
SET(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -O6")
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
ENDIF(WIN32 AND NOT CYGWIN)
IF(CMAKE_BUILD_TYPE MATCHES Debug)
ADD_DEFINITIONS(-DCMAKE_VERBOSE_MAKEFILE=ON)
ENDIF(CMAKE_BUILD_TYPE MATCHES Debug)
#####################################################################################
######################################################################################
### Test config
######################################################################################
#SET(ENABLE_CMAKE_TESTING TRUE CACHE BOOL "Enable testing ?")
IF (ENABLE_CMAKE_TESTING)
ENABLE_TESTING()
ENDIF (ENABLE_CMAKE_TESTING)
######################################################################################
######################################################################################
### Subdirectories that CMake should process for MO, MOEO and PEO
######################################################################################
SUBDIRS( doc src test tutorial)
######################################################################################
#######################################################################################
### Paths to EO, MO and MOEO must be specified above.
#######################################################################################
SET(EO_SRC_DIR "${CMAKE_SOURCE_DIR}/../paradiseo-eo" CACHE PATH "ParadisEO-EO source directory" FORCE)
SET(EO_BIN_DIR "${CMAKE_BINARY_DIR}/../../paradiseo-eo/build" CACHE PATH "ParadisEO-EO binary directory" FORCE)
@ -13,6 +121,6 @@ SET(MO_BIN_DIR "${CMAKE_BINARY_DIR}/../../paradiseo-mo/build" CACHE PATH "Paradi
SET(MOEO_SRC_DIR "${CMAKE_SOURCE_DIR}/../paradiseo-moeo" CACHE PATH "ParadisMOEO-MOEO source directory" FORCE)
SET(MOEO_BIN_DIR "${CMAKE_BINARY_DIR}/../../paradiseo-moeo/build" CACHE PATH "ParadisMOEO-MOEO binary directory" FORCE)
###########################################################################################################################################
#######################################################################################

View file

@ -15,6 +15,7 @@ TAR_MSG=" "
DIE=0
PROG=ParadisEO
CMAKE_PRIMARY_CONFIG_FILE=install.cmake
HOME_PATH=$HOME
# generator types available on Unix platforms
P_UNIX_MAKEFILES=1
@ -25,6 +26,14 @@ G_KDEVELOP3_PROJECT="KDevelop3"
# should we compile ParadisEO ?
COMPILE_PARADISEO=1
# Build types
DEFAULT_BUILD_TYPE=Release
BUILD_TYPE=$DEFAULT_BUILD_TYPE
# CMake/CTest/Dart flags
CTEST_DEFAULT_CONFIG="-D ExperimentalStart -D ExperimentalBuild -D ExperimentalCoverage"
CTEST_CONFIG=$CTEST_DEFAULT_CONFIG
# install types to select in the main menu
P_FULL_INSTALL=1
P_BASIC_INSTALL=2
@ -55,6 +64,8 @@ S_CONFIGURE_MPD=1013
S_PEO_CHECK=1014
S_REMOVE_INSTALL=1015
S_END=1016
S_END_WITHOUT_INFO=1017
#### define what are the possible installs and their content
@ -65,7 +76,7 @@ FULL_INSTALL_WITHOUT_LIBXML2="$S_INTRODUCTION $S_UNPACK_MPICH $S_INSTALL_EO $S_I
FULL_INSTALL_WITHOUT_MPICH2="$S_INTRODUCTION $S_UNPACK_LIBXML $S_INSTALL_EO $S_INSTALL_MO $S_INSTALL_MOEO $S_INSTALL_LIBXML $S_REMOVE_TEMP_LIBXML $S_CONFIGURE_LIBXML2_ENV $S_INSTALL_PEO $S_CONFIGURE_MPD $S_END"
FULL_INSTALL_WITHOUT_LIBXML2_MPICH2="$S_INTRODUCTION $S_INSTALL_EO $S_INSTALL_MO $S_INSTALL_MOEO $S_INSTALL_PEO $S_CONFIGURE_MPD $S_END"
FULL_INSTALL_WITHOUT_LIBXML2_MPICH2="$S_INTRODUCTION $S_INSTALL_EO $S_INSTALL_MO $S_INSTALL_MOEO $S_INSTALL_PEO $S_CONFIGURE_MPD $S_END_WITHOUT_INFO"
# basic install
BASIC_INSTALL="$S_INTRODUCTION $S_INSTALL_EO $S_INSTALL_MO $S_INSTALL_MOEO $S_END"
@ -77,7 +88,7 @@ PARALLEL_INSTALL_WITHOUT_LIBXML2="$S_PEO_CHECK $S_INTRODUCTION $S_UNPACK_MPICH
PARALLEL_INSTALL_WITHOUT_MPICH2="$S_PEO_CHECK $S_INTRODUCTION $S_UNPACK_LIBXML $S_INSTALL_LIBXML $S_REMOVE_TEMP_LIBXML $S_CONFIGURE_LIBXML2_ENV $S_INSTALL_PEO $S_CONFIGURE_MPD $S_END"
PARALLEL_INSTALL_WITHOUT_LIBXML2_MPICH2="$S_PEO_CHECK $S_INTRODUCTION $S_INSTALL_PEO $S_CONFIGURE_MPD $S_END"
PARALLEL_INSTALL_WITHOUT_LIBXML2_MPICH2="$S_PEO_CHECK $S_INTRODUCTION $S_INSTALL_PEO $S_CONFIGURE_MPD $S_END_WITHOUT_INFO"
# remove a previous install
RM_PREVIOUS_INSTALL="$S_REMOVE_INSTALL"
@ -108,6 +119,7 @@ PEO_CHECK_ERROR=118
RM_PARADISEO_EO_ERROR=119
RM_UTIL_ERROR=120
BASIC_INSTALL_MISSING_ERROR=121
DART_SUBMISSION_ERROR=64
#Date
DATE=`/bin/date '+%Y%m%d%H%M%S'`
@ -155,7 +167,7 @@ function execute_cmd
echo "${COMMAND}" >> ${FIC_ESP}
${COMMAND} >> ${FIC_OUT} 2>> ${FIC_ERR}
RETURN_CODE=$?
echo "RETURN_CODE : ${RETURN_CODE}" >> ${FIC_ESP}
@ -166,7 +178,7 @@ function execute_cmd
return 0
else
echo " $ERROR_TAG ${COMMENT} NOK" >> ${FIC_ESP}
return 1
return ${RETURN_CODE}
fi
}
@ -320,33 +332,13 @@ function run_install_step()
echo ""
echo -e ' \033[40m\033[1;33m### ParadisEO install starting .... ### \033[0m '
echo
echo "Installing the environment for ParadisEO...Note that the librairies \"libxml2\" ans \"mpich2\" required for ParadisEO are provided with this package."
sleep 3
echo "Installing the environment for ParadisEO...Note that the librairies \"libxml2\" ans \"mpich2\" required for ParadisEO are provided with this package. To avoid build and test reports to be sent to our repository, please stop the program and restart it using the --skipdart option."
sleep 5
echo
echo
return $SUCCESSFUL_STEP
;;
$S_UNPACK_EO)
########## unpacking paradiseo-eo ##########
echo -e " \033[40m\033[1;34m# STEP $currentStepCounter \033[0m "
echo ' --> Unpacking Paradiseo-EO (Evolving Objects) ...'
execute_cmd "tar xvf $resourceKitPath/$LIBS_PATH/$PARADISEO_EO_ARCHIVE --directory $installKitPath" "[$currentStepCounter] Unpack Paradiseo-EO" $SPY
if [ ! "$?" = "0" ]
then
echo ''
echo " --> Error when unpacking Paradiseo-EO"
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $EO_UNPACKING_ERROR
else
echo -e " \033[40m\033[1;34m# STEP $currentStepCounter OK \033[0m"
echo
return $SUCCESSFUL_STEP
fi
;;
$S_UNPACK_LIBXML)
########## unpacking libxml2 ##########
echo -e " \033[40m\033[1;34m# STEP $currentStepCounter \033[0m "
@ -410,15 +402,20 @@ function run_install_step()
execute_cmd " echo \"cmake ../ -G$BUILD_PROCESS_TYPE \" " "[$currentStepCounter-3] Run CMake using generator $BUILD_PROCESS_TYPE" $SPY
cmake ../ -G"$BUILD_PROCESS_TYPE" >> ${SPY} 2>> ${SPY}
cmake ../ -G"$BUILD_PROCESS_TYPE" -DCMAKE_BUILD_TYPE=$BUILD_TYPE >> ${SPY} 2>> ${SPY}
RETURN=`expr $RETURN + $?`
if [ "$COMPILE_PARADISEO" = "1" ]
then
execute_cmd "make" "[$currentStepCounter-4] Compile ParadisEO-EO" $SPY
RETURN=`expr $RETURN + $?`
execute_cmd "ctest $CTEST_CONFIG" "[$currentStepCounter-4] Compile ParadisEO-EO using CTest" $SPY
LAST_RETURN=$?
# don't consider a submission error as a "right error"
if [ ! "$LAST_RETURN" = "$DART_SUBMISSION_ERROR" ]
then
RETURN=`expr $RETURN + $LAST_RETURN`
fi
fi
if [ ! $(($RETURN)) = 0 ]
then
echo ''
@ -446,18 +443,21 @@ function run_install_step()
execute_cmd "cd $installKitPath/paradiseo-mo/build" "[$currentStepCounter-1] Go in Paradiseo-MO dir" $SPY
RETURN=$?
execute_cmd " echo \"cmake ../ -G$BUILD_PROCESS_TYPE \" -DEOdir=$installKitPath/paradiseo-eo" "[$currentStepCounter-2] Run CMake using generator $BUILD_PROCESS_TYPE -Dconfig=$installKitPath/$CMAKE_PRIMARY_CONFIG_FILE" $SPY
cmake ../ -Dconfig=$installKitPath/$CMAKE_PRIMARY_CONFIG_FILE -G"$BUILD_PROCESS_TYPE" >> ${SPY} 2>> ${SPY}
execute_cmd " echo \"cmake ../ -G$BUILD_PROCESS_TYPE \" cmake ../ -Dconfig=$installKitPath/$CMAKE_PRIMARY_CONFIG_FILE -G\"$BUILD_PROCESS_TYPE\" -DCMAKE_BUILD_TYPE=$BUILD_TYPE " "[$currentStepCounter-2] Run CMake using generator $BUILD_PROCESS_TYPE -Dconfig=$installKitPath/$CMAKE_PRIMARY_CONFIG_FILE" $SPY
cmake ../ -Dconfig=$installKitPath/$CMAKE_PRIMARY_CONFIG_FILE -G"$BUILD_PROCESS_TYPE" -DCMAKE_BUILD_TYPE=$BUILD_TYPE >> ${SPY} 2>> ${SPY}
RETURN=`expr $RETURN + $?`
if [ "$COMPILE_PARADISEO" = "1" ]
then
execute_cmd "make" "[$currentStepCounter-3] Compile ParadisEO-MO" $SPY
execute_cmd "ctest $CTEST_CONFIG" "[$currentStepCounter-3] Compile ParadisEO-MO using CTest" $SPY
RETURN=`expr $RETURN + $?`
execute_cmd "make install" "[$currentStepCounter-4] Make install of ParadisEO-MO" $SPY
RETURN=`expr $RETURN + $?`
fi
# Make link with the install.cmake (at the top level)
#execute_cmd "ln -s $installKitPath/install.cmake $installKitPath/paradiseo-mo/install.cmake" "[$currentStepCounter-5] Create link to install.cmake for MO" $SPY
if [ ! $(($RETURN)) = 0 ]
then
echo ''
@ -485,17 +485,20 @@ function run_install_step()
RETURN=$?
execute_cmd " echo \"cmake ../ -G$BUILD_PROCESS_TYPE \" -DEOdir=$installKitPath/paradiseo-eo" "[$currentStepCounter-2] Run CMake using generator $BUILD_PROCESS_TYPE -Dconfig=$installKitPath/$CMAKE_PRIMARY_CONFIG_FILE" $SPY
cmake ../ -Dconfig=$installKitPath/$CMAKE_PRIMARY_CONFIG_FILE -G"$BUILD_PROCESS_TYPE" >> ${SPY} 2>> ${SPY}
cmake ../ -Dconfig=$installKitPath/$CMAKE_PRIMARY_CONFIG_FILE -G"$BUILD_PROCESS_TYPE" -DCMAKE_BUILD_TYPE=$BUILD_TYPE >> ${SPY} 2>> ${SPY}
RETURN=`expr $RETURN + $?`
if [ "$COMPILE_PARADISEO" = "1" ]
then
execute_cmd "make" "[$currentStepCounter-3] Compile ParadisEO-MOEO" $SPY
execute_cmd "ctest $CTEST_CONFIG" "[$currentStepCounter-3] Compile ParadisEO-MOEO using CTest" $SPY
RETURN=`expr $RETURN + $?`
execute_cmd "make install" "[$currentStepCounter-4] Make install ParadisEO-MOEO" $SPY
RETURN=`expr $RETURN + $?`
fi
# Make link with the install.cmake (at the top level)
#execute_cmd "ln -s $installKitPath/install.cmake $installKitPath/paradiseo-moeo/install.cmake" "[$currentStepCounter-5] Create link to install.cmake for MOEO" $SPY
if [ ! $(($RETURN)) = 0 ]
then
echo ''
@ -742,17 +745,20 @@ function run_install_step()
RETURN=$?
execute_cmd " echo \"cmake ../ -G$BUILD_PROCESS_TYPE \" -DEOdir=$installKitPath/paradiseo-eo -DMOdir=$installKitPath/paradiseo-mo" "[$currentStepCounter-2] Run CMake using generator $BUILD_PROCESS_TYPE -Dconfig=$installKitPath/$CMAKE_PRIMARY_CONFIG_FILE" $SPY
cmake ../ -Dconfig=$installKitPath/$CMAKE_PRIMARY_CONFIG_FILE -G"$BUILD_PROCESS_TYPE" >> ${SPY} 2>> ${SPY}
cmake ../ -Dconfig=$installKitPath/$CMAKE_PRIMARY_CONFIG_FILE -G"$BUILD_PROCESS_TYPE" -DCMAKE_BUILD_TYPE=$BUILD_TYPE >> ${SPY} 2>> ${SPY}
RETURN=`expr $RETURN + $?`
if [ "$COMPILE_PARADISEO" = "1" ]
then
execute_cmd "make" "[$currentStepCounter-3] Compile ParadisEO-PEO " $SPY
execute_cmd "ctest $CTEST_CONFIG" "[$currentStepCounter-3] Compile ParadisEO-PEO using CTest" $SPY
RETURN=`expr $RETURN + $?`
execute_cmd "make install" "[$currentStepCounter-4] Make install ParadisEO-PEO " $SPY
RETURN=`expr $RETURN + $?`
fi
# Make link with the install.cmake (at the top level)
#execute_cmd "ln -s $installKitPath/install.cmake $installKitPath/paradiseo-peo/install.cmake" "[$currentStepCounter-5] Create link to install.cmake for PEO" $SPY
if [ ! $(($RETURN)) = 0 ]
then
echo ''
@ -827,26 +833,21 @@ function run_install_step()
return $BASIC_INSTALL_MISSING_ERROR
fi
;;
$S_END_WITHOUT_INFO)
echo
echo -e " \033[40m\033[1;34m# Successfull installation. \033[0m"
echo
return $SUCCESSFUL_STEP
;;
$S_END)
echo -e "\033[40m\033[1;33m###
The file \".bashrc\" file located in your directory $homePath has been MODIFIED.
The following lines have been added at the end:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$installKitPath/libxml2/lib:
PATH=$PATH:$installKitPath/libxml2/bin:$installKitPath/mpich2/bin
These variables are necessary to compile any program using ParadisEO-PEO. If
you want to keep them in your environment in order not to have to set them each time you compile, enter \"source $homePath/.bashrc\".
If you don't want to use these variables, please remove them from $homePath/.bashrc. ### \033[0m"
echo -e "The file \".bashrc\" file located in your directory $HOME has been MODIFIED. The following variables have been modified at the end:"
echo -e " LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:$installKitPath/libxml2/lib: "
echo -e " PATH=\$PATH:$installKitPath/libxml2/bin:$installKitPath/mpich2/bin"
echo -e "These variables are necessary to compile any program using ParadisEO-PEO.\033[40m\033[1;33m If you want to keep them in your environment in order not to have to set them each time you compile, enter \"source $homePath/.bashrc\" \033[0m. If you don't want to use these variables, please remove them from $HOME/.bashrc."
sleep 2
echo
echo
if [ ! "$COMPILE_PARADISEO" -eq "1" ]
then
echo "=> ParadisEO must now be compiled using the appropriate tool depending on the generator you've chosen."
fi
echo -e " \033[40m\033[1;34m# Successfull installation. \033[0m"
echo
return $SUCCESSFUL_STEP
;;
@ -964,58 +965,107 @@ function check_utils_install
DIE=1
}
if [ "$DIE" = "1" ]
then
exit 1
fi
# main
if [ "$1" = "--help" ]
then
echo
echo 'Use : ./installParadiseo.sh for standard install'
echo
echo 'Use : ./installParadiseo.sh <HOME path> to give your HOME path'
echo 'Example: ./installParadiseo.sh /usr/home/me'
echo
echo 'Use : ./installParadiseo.sh --prefix=<Install Directory>'
echo
echo '=> For further help, please contact paradiseo-help@lists.gforge.inria.fr'
echo
exit
fi
# do we have a valid path ?
if [ ! -d $HOME ]
then
if [ "$1" = "" ]
then
echo " Please give a valid path for your home directory (use ./installParadiseo.sh --help for further information)"
else
homePath=$1
fi
else
homePath=$HOME
fi
########################################################################
# Simple menu
# The options are :
# --prefix
# --debug
# --skipdart
# --help
#######################################################################
# simple menu
INSTALL_TREATENED=0
INSTALL_PATH=$PWD
for i in $*
do
if [ "${i%=*}" = "--help" ] || [ "${i%=*}" = "-h" ]
then
clear
echo "installParadiseo.sh"
echo
echo -e "\033[1mNAME\033[0m"
echo ' installParadiseo.sh - Install ParadisEO'
echo
echo -e "\033[1mSYNOPSIS\033[0m"
echo -e ' \033[1m./installParadiseo.sh\033[0m or \033[1mbash installParadiseo.sh\033[0m'
echo -e ' [\033[1m--prefix=\033[0m\033[4mPATH\033[0m] [\033[1m--debug\033[0m] [\033[1m--skipdart\033[0m] [\033[1m--home=\033[0m\033[4mHOME\033[0m] [\033[1m-h\033[0m] [\033[1m--help\033[0m]'
echo
echo -e "\033[1mDESCRIPTION\033[0m"
echo -e " \033[1m--prefix=\033[0m\033[4mPATH\033[0m"
echo -e " ParadisEO will be installed in the directory \033[0m\033[4mPATH\033[0m. The current directory is used by default."
echo
echo -e " \033[1m--debug\033[0m"
echo ' Debug mode, set warning compiler flags and run tests.'
echo
echo -e " \033[1m--skipdart\033[0m"
echo ' Use this option to avoid build/test report submission to our Dart server.'
echo
echo -e " \033[1m--home=\033[0m\033[4mHOME\033[0m"
echo -e " Using \033[0m\033[4mHOME\033[0m as your home directory. Should be used when ~ doesnt reference your home. "
echo
echo -e " \033[1m-h, --help\033[0m"
echo ' Print these useful lines.'
echo
echo -e "\033[1mAUTHOR\033[0m"
echo " Written by Thomas Legrand."
echo
echo -e "\033[1mBUGS\033[0m"
echo " Report bugs to paradiseo-bugs@lists.gforge.inria.fr."
echo
echo -e "\033[1mCOPYRIGHT\033[0m"
echo " This software is governed by the CeCILL license under French law and"
echo " abiding by the rules of distribution of free software. You can use,"
echo " modify and/ or redistribute the software under the terms of the CeCILL"
echo " license as circulated by CEA, CNRS and INRIA at the following URL"
echo " http://www.cecill.info. "
echo
echo -e "\033[1mSEE ALSO\033[0m"
echo " For further help, please contact paradiseo-help@lists.gforge.inria.fr."
echo
exit
fi
if [ "${i%=*}" = "--prefix" ]
then
then
INSTALL_PATH=${i#*=}
fi
if [ "${i%=*}" = "--debug" ]
then
BUILD_TYPE=Debug
CTEST_CONFIG="$CTEST_CONFIG -D ExperimentalTest -D ExperimentalMemCheck"
fi
if [ "${i%=*}" = "--skipdart" ]
then
SKIP_DART="1"
fi
if [ "${i%=*}" = "--home" ]
then
HOME_PATH=${i#*=}
fi
done
#######################################################################
### Do we have a valid home path ?
if [ ! -d $HOME_PATH ]
then
echo " Please give a valid path for your home directory (use --help for further information)"
fi
# need the generator type
### Add a CTest flag depending on the "skipdart" option.
if [ ! "$SKIP_DART" = "1" ]
then
CTEST_CONFIG="$CTEST_CONFIG -D ExperimentalSubmit"
fi
### Need the generator
BUILD_PROCESS_TYPE=0
GENERATOR_TREATENED=0

View file

@ -1,63 +1,32 @@
######################################################################################
##########################################################################################################################################
### 0) If you want to set your own variables in mo-conf.cmake and avoid the cmd line
######################################################################################
##########################################################################################################################################
INCLUDE(mo-conf.cmake OPTIONAL)
######################################################################################
##########################################################################################################################################
######################################################################################
##########################################################################################################################################
### 1) Project properties
######################################################################################
##########################################################################################################################################
# set the project name
PROJECT(ParadisEO-MO)
SET(PACKAGE_BUGREPORT "paradiseo-help@lists.gforge.inria.fr" CACHE STRING "Package bug report" FORCE)
SET(PACKAGE_NAME "ParadisEO-MO - Moving Objects" CACHE STRING "Package name" FORCE)
SET(PACKAGE_STRING "ParadisEO-MO 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)
# regular expression checking
INCLUDE_REGULAR_EXPRESSION("^.*$" "^$")
# set a language for the entire project.
ENABLE_LANGUAGE(CXX)
ENABLE_LANGUAGE(C)
#####################################################################################
SET(PACKAGE_STRING "ParadisEO-MO 1.1" CACHE STRING "MO Package string full name" FORCE)
SET(PACKAGE_VERSION "1.1" CACHE STRING "Package version" FORCE)
SET(GLOBAL_VERSION "1.1" CACHE STRING "Global version" FORCE)
SET(VERSION "1.1" CACHE STRING "Version" FORCE)
##########################################################################################################################################
#####################################################################################
### 2) Include required modules
#####################################################################################
INCLUDE(CMakeBackwardCompatibilityCXX)
INCLUDE(FindDoxygen)
INCLUDE(FindGnuplot)
# check for some functions
INCLUDE(CheckLibraryExists)
INCLUDE(Dart OPTIONNAL)
# the project can have a DartConfig.cmake file
INCLUDE(DartConfig.cmake OPTIONNAL)
######################################################################################
######################################################################################
### 3) Include the main configuration variables
######################################################################################
##########################################################################################################################################
### 2) Include the common CMake configuration
##########################################################################################################################################
# The "config" variable must be provided on the command line
IF(NOT DEFINED config OR NOT config)
@ -67,99 +36,5 @@ ENDIF(NOT DEFINED config OR NOT config)
# Need the config file whose full path is given thanks to the "config" variable
INCLUDE(${config})
##########################################################################################################################################
######################################################################################
######################################################################################
### 4) Paths checking
######################################################################################
IF(WIN32)
SET (ABSOLUTE_PATH_REGEX "^[A-Z]:|^[a-z]:")
ELSE(WIN32)
SET (ABSOLUTE_PATH_REGEX "^/")
ENDIF(WIN32)
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})
######################################################################################
#####################################################################################
### 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 "Release" CACHE STRING "Variable that stores the default CMake build type" FORCE)
FIND_PROGRAM(MEMORYCHECK_COMMAND
NAMES purify valgrind
PATHS
"/usr/local/bin /usr/bin [HKEY_LOCAL_MACHINE\\SOFTWARE\\Rational Software\\Purify\\Setup;InstallFolder]"
DOC "Path to the memory checking command, used for memory error detection.")
IF(NOT CMAKE_BUILD_TYPE)
SET( CMAKE_BUILD_TYPE
${CMAKE_DEFAULT_BUILD_TYPE} CACHE STRING
"Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel."
FORCE)
ENDIF(NOT CMAKE_BUILD_TYPE)
IF(WIN32 AND NOT CYGWIN)
IF(CMAKE_CXX_COMPILER MATCHES cl)
IF(NOT WITH_SHARED_LIBS)
IF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005")
SET(CMAKE_CXX_FLAGS "/nologo /W3 /Gy")
SET(CMAKE_CXX_FLAGS_DEBUG "/MTd /Z7 /Od")
SET(CMAKE_CXX_FLAGS_RELEASE "/MT /O2")
SET(CMAKE_CXX_FLAGS_MINSIZEREL "/MT /O2")
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MTd /Z7 /Od")
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:CONSOLE")
ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005")
ENDIF(NOT WITH_SHARED_LIBS)
ENDIF(CMAKE_CXX_COMPILER MATCHES cl)
ELSE(WIN32 AND NOT CYGWIN)
IF(CMAKE_COMPILER_IS_GNUCXX)
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g -Wall -pedantic -Wextra -Wno-import -Winit-self -Wmissing-include-dirs -Wunused-parameter -Wundef -Wshadow -Wunsafe-loop-optimizations -Wcast-align -Wconversion -Wsign-compare -Winline -Wdisabled-optimization")
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2")
SET(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -O6")
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
ENDIF(WIN32 AND NOT CYGWIN)
IF(CMAKE_BUILD_TYPE MATCHES Debug)
ADD_DEFINITIONS(-DCMAKE_VERBOSE_MAKEFILE=ON)
ENDIF(CMAKE_BUILD_TYPE MATCHES Debug)
#####################################################################################
######################################################################################
### 6) Where must cmake go now ?
######################################################################################
SUBDIRS(doc test tutorial)
######################################################################################
######################################################################################
### 7) Test config
######################################################################################
#SET(ENABLE_CMAKE_TESTING TRUE CACHE BOOL "Should we test using Dart")
IF (ENABLE_CMAKE_TESTING)
ENABLE_TESTING()
ENDIF (ENABLE_CMAKE_TESTING)
######################################################################################

View file

@ -1,63 +1,32 @@
######################################################################################
##########################################################################################################################################
### 0) If you want to set your own variables in moeo-conf.cmake and avoid the cmd line
######################################################################################
##########################################################################################################################################
INCLUDE(moeo-conf.cmake OPTIONAL)
######################################################################################
##########################################################################################################################################
######################################################################################
##########################################################################################################################################
### 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 - Multi Objective Evolving 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)
# regular expression checking
INCLUDE_REGULAR_EXPRESSION("^.*$" "^$")
# set a language for the entire project.
ENABLE_LANGUAGE(CXX)
ENABLE_LANGUAGE(C)
#####################################################################################
SET(PACKAGE_STRING "ParadisEO-MOEO 1.1" CACHE STRING "MOEO Package string full name" FORCE)
SET(PACKAGE_VERSION "1.1" CACHE STRING "Package version" FORCE)
SET(GLOBAL_VERSION "1.1" CACHE STRING "Global version" FORCE)
SET(VERSION "1.1" CACHE STRING "Version" FORCE)
##########################################################################################################################################
#####################################################################################
### 2) Include required modules
#####################################################################################
INCLUDE(CMakeBackwardCompatibilityCXX)
INCLUDE(FindDoxygen)
INCLUDE(FindGnuplot)
# check for some functions
INCLUDE(CheckLibraryExists)
INCLUDE(Dart OPTIONNAL)
# the project can have a DartConfig.cmake file
INCLUDE(DartConfig.cmake OPTIONNAL)
######################################################################################
######################################################################################
### 3) Include the main configuration variables
######################################################################################
##########################################################################################################################################
### 2) Include the common CMake configuration
##########################################################################################################################################
# The "config" variable must be provided on the command line
IF(NOT DEFINED config OR NOT config)
@ -67,99 +36,5 @@ ENDIF(NOT DEFINED config OR NOT config)
# Need the config file whose full path is given thanks to the "config" variable
INCLUDE(${config})
##########################################################################################################################################
######################################################################################
######################################################################################
### 4) Paths checking
######################################################################################
IF(WIN32)
SET (ABSOLUTE_PATH_REGEX "^[A-Z]:|^[a-z]:")
ELSE(WIN32)
SET (ABSOLUTE_PATH_REGEX "^/")
ENDIF(WIN32)
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})
######################################################################################
#####################################################################################
### 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 "Release" CACHE STRING "Variable that stores the default CMake build type" FORCE)
FIND_PROGRAM(MEMORYCHECK_COMMAND
NAMES purify valgrind
PATHS
"/usr/local/bin /usr/bin [HKEY_LOCAL_MACHINE\\SOFTWARE\\Rational Software\\Purify\\Setup;InstallFolder]"
DOC "Path to the memory checking command, used for memory error detection.")
IF(NOT CMAKE_BUILD_TYPE)
SET( CMAKE_BUILD_TYPE
${CMAKE_DEFAULT_BUILD_TYPE} CACHE STRING
"Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel."
FORCE)
ENDIF(NOT CMAKE_BUILD_TYPE)
IF(WIN32 AND NOT CYGWIN)
IF(CMAKE_CXX_COMPILER MATCHES cl)
IF(NOT WITH_SHARED_LIBS)
IF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005")
SET(CMAKE_CXX_FLAGS "/nologo /W3 /Gy")
SET(CMAKE_CXX_FLAGS_DEBUG "/MTd /Z7 /Od")
SET(CMAKE_CXX_FLAGS_RELEASE "/MT /O2")
SET(CMAKE_CXX_FLAGS_MINSIZEREL "/MT /O2")
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MTd /Z7 /Od")
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:CONSOLE")
ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005")
ENDIF(NOT WITH_SHARED_LIBS)
ENDIF(CMAKE_CXX_COMPILER MATCHES cl)
ELSE(WIN32 AND NOT CYGWIN)
IF(CMAKE_COMPILER_IS_GNUCXX)
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g -Wall -pedantic -Wextra -Wno-import -Winit-self -Wmissing-include-dirs -Wunused-parameter -Wundef -Wshadow -Wunsafe-loop-optimizations -Wcast-align -Wconversion -Wsign-compare -Winline -Wdisabled-optimization")
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2")
SET(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -O6")
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
ENDIF(WIN32 AND NOT CYGWIN)
IF(CMAKE_BUILD_TYPE MATCHES Debug)
ADD_DEFINITIONS(-DCMAKE_VERBOSE_MAKEFILE=ON)
ENDIF(CMAKE_BUILD_TYPE MATCHES Debug)
#####################################################################################
######################################################################################
### 6) Where must cmake go now ?
######################################################################################
SUBDIRS(doc src test tutorial)
######################################################################################
######################################################################################
### 7) Test config
######################################################################################
#SET(ENABLE_CMAKE_TESTING TRUE CACHE BOOL "Should we test using Dart")
IF (ENABLE_CMAKE_TESTING)
ENABLE_TESTING()
ENDIF (ENABLE_CMAKE_TESTING)
######################################################################################

View file

@ -1,78 +1,17 @@
######################################################################################
### 1) If you want to set your variables in peo-conf.cmake and avoid the cmd line
######################################################################################
##########################################################################################################################################
### 0) If you want to set your own variables in peo-conf.cmake and avoid the cmd line
##########################################################################################################################################
INCLUDE(peo-conf.cmake OPTIONAL)
######################################################################################
##########################################################################################################################################
######################################################################################
### 2) Project properties
### 1) Preliminary checking
######################################################################################
# set the project name
PROJECT(ParadisEO-PEO)
SET(PACKAGE_BUGREPORT "paradiseo-help@lists.gforge.inria.fr" CACHE STRING "Package bug report" FORCE)
SET(PACKAGE_NAME "ParadisEO-PEO - Parallel and Distributed Evolving Objects" CACHE STRING "Package name" FORCE)
SET(PACKAGE_STRING "ParadisEO-PEO 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)
#####################################################################################
#####################################################################################
### 3) Include required modules
#####################################################################################
# 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 the config file whose full path is given thanks to the "config" variable
INCLUDE(${config})
######################################################################################
######################################################################################
### 4) Paths checking
######################################################################################
#IF(WIN32)
# SET (ABSOLUTE_PATH_REGEX "^[A-Z]:|^[a-z]:")
#ELSE(WIN32)
# SET (ABSOLUTE_PATH_REGEX "^/")
#ENDIF(WIN32)
#SET(REQUIRED_PATHS "EO_SRC_DIR" "EO_BIN_DIR" "MO_SRC_DIR" "MO_BIN_DIR" "MOEO_SRC_DIR" "MOEO_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 for ${path} variable")
# 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})
######################################################################################
######################################################################################
### 0) Preliminary checking: no WIN and libxml2
######################################################################################
IF(WIN32)
MESSAGE (FATAL_ERROR "ParadisEO-PEO can not be generated on Windows systems")
ENDIF(WIN32)
# check libxml2
FIND_PROGRAM(XML2_CONFIG_PROGRAM NAMES xml2-config PATHS /usr/local/bin /usr/bin DOC "The libxml2 (www.xmlsoft.org) configuration tool")
@ -88,3 +27,36 @@ EXECUTE_PROCESS(COMMAND ${XML2_CONFIG_PROGRAM} --libs OUTPUT_VARIABLE XML2_LIBS
######################################################################################
##########################################################################################################################################
### 2) Project properties
##########################################################################################################################################
# set the project name
PROJECT(ParadisEO-PEO)
SET(PACKAGE_BUGREPORT "paradiseo-help@lists.gforge.inria.fr" CACHE STRING "Package bug report" FORCE)
SET(PACKAGE_NAME "ParadisEO-PEO - Parallel and distributed Evolving Objects" CACHE STRING "Package name" FORCE)
SET(PACKAGE_STRING "ParadisEO-PEO 1.1" CACHE STRING "PEO Package string full name" FORCE)
SET(PACKAGE_VERSION "1.1" CACHE STRING "Package version" FORCE)
SET(GLOBAL_VERSION "1.1" CACHE STRING "Global version" FORCE)
SET(VERSION "1.1" CACHE STRING "Version" FORCE)
##########################################################################################################################################
##########################################################################################################################################
### 3) Include the common CMake configuration
##########################################################################################################################################
# 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 the config file whose full path is given thanks to the "config" variable
INCLUDE(${config})
##########################################################################################################################################