From 63f2852ffc7dd4c86647ec80f2a4a54f7e024ada Mon Sep 17 00:00:00 2001 From: quemy Date: Fri, 5 Oct 2012 20:34:59 +0200 Subject: [PATCH] backport the new build system from eo/ 2.0 to the merged eo/ --- eo/BuildConfig.cmake | 6 +- eo/CMakeLists.txt | 38 +-- eo/Packaging.cmake | 84 ----- eo/build_gcc_linux_debug | 7 - eo/build_gcc_linux_pyeo | 7 - eo/build_gcc_linux_release | 7 - eo/build_gcc_linux_stl_parallel | 7 - eo/build_gcc_linux_tutorial | 7 - eo/build_gcc_linux_unittest | 7 - eo/build_vs2008_release.bat | 5 - eo/cmake/modules/CMakeParseArguments.cmake | 138 -------- eo/cmake/modules/FindEO.cmake | 26 +- .../FindPackageHandleStandardArgs.cmake | 296 ------------------ eo/cmake/modules/FindPackageMessage.cmake | 49 --- eo/distclean | 4 - eo/doc/CMakeLists.txt | 25 +- eo/doc/eo.cfg.cmake | 20 +- eo/doc/index.h | 2 +- eo/eo-conf.cmake | 17 - eo/package_deb | 5 - eo/package_nsis.bat | 4 - eo/package_rpm | 5 - eo/src/CMakeLists.txt | 42 +-- eo/src/do/CMakeLists.txt | 2 - eo/src/es/CMakeLists.txt | 7 +- eo/src/gp/CMakeLists.txt | 2 - eo/src/other/CMakeLists.txt | 2 - eo/src/pyeo/CMakeLists.txt | 2 +- eo/src/utils/CMakeLists.txt | 4 +- eo/test/CMakeLists.txt | 19 +- eo/tutorial/Lesson1/CMakeLists.txt | 6 +- eo/tutorial/Lesson2/CMakeLists.txt | 6 +- eo/tutorial/Lesson3/CMakeLists.txt | 6 +- eo/tutorial/Lesson4/CMakeLists.txt | 6 +- eo/tutorial/Lesson5/CMakeLists.txt | 4 +- eo/tutorial/Lesson6/CMakeLists.txt | 4 +- 36 files changed, 77 insertions(+), 801 deletions(-) delete mode 100644 eo/Packaging.cmake delete mode 100755 eo/build_gcc_linux_debug delete mode 100755 eo/build_gcc_linux_pyeo delete mode 100755 eo/build_gcc_linux_release delete mode 100755 eo/build_gcc_linux_stl_parallel delete mode 100755 eo/build_gcc_linux_tutorial delete mode 100755 eo/build_gcc_linux_unittest delete mode 100644 eo/build_vs2008_release.bat delete mode 100644 eo/cmake/modules/CMakeParseArguments.cmake delete mode 100644 eo/cmake/modules/FindPackageHandleStandardArgs.cmake delete mode 100644 eo/cmake/modules/FindPackageMessage.cmake delete mode 100755 eo/distclean delete mode 100644 eo/eo-conf.cmake delete mode 100755 eo/package_deb delete mode 100644 eo/package_nsis.bat delete mode 100755 eo/package_rpm delete mode 100644 eo/src/do/CMakeLists.txt delete mode 100644 eo/src/gp/CMakeLists.txt delete mode 100644 eo/src/other/CMakeLists.txt diff --git a/eo/BuildConfig.cmake b/eo/BuildConfig.cmake index 80107b6ea..bb1af9652 100644 --- a/eo/BuildConfig.cmake +++ b/eo/BuildConfig.cmake @@ -33,9 +33,9 @@ IF(WIN32 AND NOT CYGWIN) ELSE(WIN32 AND NOT CYGWIN) IF(CMAKE_COMPILER_IS_GNUCXX) # SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g -fprofile-arcs -ftest-coverage -Wall -Wextra -Wno-unused-parameter") - SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g -Wall -Wextra -Wno-unused-parameter") - SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3") - SET(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -O6") + SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g -Wall -Wextra -Wno-unused-parameter -Wunknown-pragmas") + SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -Wunknown-pragmas") + SET(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -O6 -Wunknown-pragmas") ENDIF(CMAKE_COMPILER_IS_GNUCXX) ENDIF(WIN32 AND NOT CYGWIN) diff --git a/eo/CMakeLists.txt b/eo/CMakeLists.txt index 31cd2cf44..9b0050e27 100644 --- a/eo/CMakeLists.txt +++ b/eo/CMakeLists.txt @@ -4,7 +4,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6) ### 0) If you want to set your variables in eo-conf.cmake and avoid the cmd line ###################################################################################### -INCLUDE(eo-conf.cmake OPTIONAL) +#INCLUDE(eo-conf.cmake OPTIONAL) ###################################################################################### @@ -13,7 +13,7 @@ INCLUDE(eo-conf.cmake OPTIONAL) ### 1) Main project config ###################################################################################### -# set the project name and other variables +# set the project namef and other variables PROJECT(EO) # CMake > 2.8 is needed, because of the FindOpenMP feature @@ -45,12 +45,10 @@ ENABLE_LANGUAGE(C) ### 2) Include required modules / configuration files ##################################################################################### -IF(WITH_OMP) - FIND_PACKAGE(OpenMP) - IF(OPENMP_FOUND) - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") - ENDIF() +FIND_PACKAGE(OpenMP) +IF(OPENMP_FOUND) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") ENDIF() INCLUDE(CMakeBackwardCompatibilityCXX) @@ -83,13 +81,6 @@ ENDIF (WIN32) ###################################################################################### - -##################################################################################### -### 3) Manage the build type -##################################################################################### - -INCLUDE(BuildConfig.cmake) - ###################################################################################### @@ -97,7 +88,7 @@ INCLUDE(BuildConfig.cmake) ### compilation of examples? ###################################################################################### -SET(ENABLE_CMAKE_EXAMPLE TRUE CACHE BOOL "Enable copy of benchs and parameters file?") +#SET(ENABLE_CMAKE_EXAMPLE TRUE CACHE BOOL "Enable copy of benchs and parameters file?") ###################################################################################### @@ -106,9 +97,9 @@ SET(ENABLE_CMAKE_EXAMPLE TRUE CACHE BOOL "Enable copy of benchs and parameters f ### 4) Test config ###################################################################################### -IF (ENABLE_CMAKE_TESTING) - ENABLE_TESTING() -ENDIF (ENABLE_CMAKE_TESTING) +#IF (ENABLE_CMAKE_TESTING) +# ENABLE_TESTING() +#ENDIF (ENABLE_CMAKE_TESTING) ###################################################################################### @@ -121,11 +112,6 @@ ENDIF (ENABLE_CMAKE_TESTING) ADD_SUBDIRECTORY(doc) ADD_SUBDIRECTORY(src) ADD_SUBDIRECTORY(test) - -IF(WITH_MPI) - ADD_SUBDIRECTORY(test/mpi) -ENDIF() - ADD_SUBDIRECTORY(tutorial) ###################################################################################### @@ -139,7 +125,7 @@ SET(PCPREFIX "/usr") SET(PCFLAGS "-leoutils -leo -les -lga -lcma -lgcov") SET(PCINCLUDEDIR "eo") CONFIGURE_FILE(pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/eo.pc) -INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/eo.pc DESTINATION lib/pkgconfig COMPONENT headers) +INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/eo.pc DESTINATION local/${LIB}/pkgconfig COMPONENT headers) ###################################################################################### @@ -148,6 +134,6 @@ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/eo.pc DESTINATION lib/pkgconfig COMPON ### 7) Include packaging ###################################################################################### -INCLUDE(Packaging.cmake) +#INCLUDE(Packaging.cmake) ###################################################################################### diff --git a/eo/Packaging.cmake b/eo/Packaging.cmake deleted file mode 100644 index de81fadc3..000000000 --- a/eo/Packaging.cmake +++ /dev/null @@ -1,84 +0,0 @@ -###################################################################################### -### 1) Check dependencies -###################################################################################### - -IF (NOT DEFINED PROJECT_NAME OR - NOT DEFINED PROJECT_VERSION_MAJOR OR - NOT DEFINED PROJECT_VERSION_MINOR OR - NOT DEFINED PROJECT_VERSION_PATCH OR - NOT DEFINED PROJECT_VERSION) - MESSAGE(FATAL_ERROR "Be sure you have defined PROJECT_NAME and PROJECT_VERSION*.") -ENDIF() - -###################################################################################### - - -###################################################################################### -### 2) Set up components -###################################################################################### - -SET(CPACK_COMPONENTS_ALL libraries test examples) -SET(CPACK_ALL_INSTALL_TYPES Minimal Full) - -SET(CPACK_COMPONENT_LIBRARIES_DISPLAY_NAME "${PACKAGE_NAME}") -SET(CPACK_COMPONENT_LIBRARIES_DESCRIPTION "${PACKAGE_NAME} library") -SET(CPACK_COMPONENT_LIBRARIES_GROUP "Devel") -SET(CPACK_COMPONENT_LIBRARIES_INSTALL_TYPES Minimal Full) - -SET(CPACK_COMPONENT_TEST_DISPLAY_NAME "${PACKAGE_NAME}") -SET(CPACK_COMPONENT_TEST_DESCRIPTION "${PACKAGE_NAME} test") -SET(CPACK_COMPONENT_TEST_GROUP "Devel") -SET(CPACK_COMPONENT_TEST_INSTALL_TYPES Full) - -SET(CPACK_COMPONENT_EXAMPLES_DISPLAY_NAME "${PACKAGE_NAME}") -SET(CPACK_COMPONENT_EXAMPLES_DESCRIPTION "${PACKAGE_NAME} examples") -SET(CPACK_COMPONENT_EXAMPLES_GROUP "Devel") -SET(CPACK_COMPONENT_EXAMPLES_INSTALL_TYPES Full) - -###################################################################################### - - -###################################################################################### -### 3) Set up general information about packaging -###################################################################################### - -# For more details: http://www.cmake.org/Wiki/CMake:Component_Install_With_CPack - -#cpack package information -SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README") -SET(CPACK_PACKAGE_DESCRIPTION "${PACKAGE_NAME}") -SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") -SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${PACKAGE_NAME}") -SET(CPACK_PACKAGE_VENDOR "${PACKAGE_NAME}") -SET(CPACK_PACKAGE_CONTACT "${PACKAGE_BUGREPORT}") -SET(CPACK_PACKAGE_VERSION ${PROJECT_VERSION}) -SET(CPACK_STRIP_FILES ${PROJECT_NAME}) -SET(CPACK_SOURCE_STRIP_FILES "bin/${PROJECT_NAME}") -SET(CPACK_PACKAGE_EXECUTABLES "${PROJECT_NAME}" "${PROJECT_NAME}") -SET(CPACK_PACKAGE_VERSION_MAJOR "${PROJECT_VERSION_MAJOR}") -SET(CPACK_PACKAGE_VERSION_MINOR "${PROJECT_VERSION_MINOR}") -SET(CPACK_PACKAGE_VERSION_PATCH "${PROJECT_VERSION_PATCH}") -SET(CPACK_PACKAGE_INSTALL_DIRECTORY "${PROJECT_NAME} ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}") - -###################################################################################### - - -###################################################################################### -### 4) Set up debian packaging information -###################################################################################### - -SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libstdc++6, libgcc1, libc6, g++") - -SET(CPACK_DEBIAN_PACKAGE_SECTION "devel") -SET(CPACK_DEBIAN_PACKAGE_PRIORITY "optional") - -###################################################################################### - - -###################################################################################### -### 5) And finally, include cpack, this is the last thing to do. -###################################################################################### - -INCLUDE(CPack) - -###################################################################################### diff --git a/eo/build_gcc_linux_debug b/eo/build_gcc_linux_debug deleted file mode 100755 index 144a5298a..000000000 --- a/eo/build_gcc_linux_debug +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env sh - -mkdir -p debug -cd debug -cmake -DCMAKE_BUILD_TYPE=Debug .. -make -cd .. diff --git a/eo/build_gcc_linux_pyeo b/eo/build_gcc_linux_pyeo deleted file mode 100755 index ec4927878..000000000 --- a/eo/build_gcc_linux_pyeo +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env sh - -mkdir -p release -cd release -cmake -DENABLE_PYEO=1 .. -make -cd .. diff --git a/eo/build_gcc_linux_release b/eo/build_gcc_linux_release deleted file mode 100755 index fb220d044..000000000 --- a/eo/build_gcc_linux_release +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env sh - -mkdir -p release -cd release -cmake .. -make -cd .. diff --git a/eo/build_gcc_linux_stl_parallel b/eo/build_gcc_linux_stl_parallel deleted file mode 100755 index 7208c2f5a..000000000 --- a/eo/build_gcc_linux_stl_parallel +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env sh - -mkdir -p release -cd release -cmake -D_GLIBCXX_PARALLEL=1 .. -make -cd .. diff --git a/eo/build_gcc_linux_tutorial b/eo/build_gcc_linux_tutorial deleted file mode 100755 index 2908e875a..000000000 --- a/eo/build_gcc_linux_tutorial +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env sh - -mkdir -p release -cd release -cmake -DENABLE_EO_TUTORIAL=1 .. -make -cd .. diff --git a/eo/build_gcc_linux_unittest b/eo/build_gcc_linux_unittest deleted file mode 100755 index c23049e80..000000000 --- a/eo/build_gcc_linux_unittest +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env sh - -mkdir -p debug -cd debug -cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_CMAKE_TESTING=1 .. -make -cd .. diff --git a/eo/build_vs2008_release.bat b/eo/build_vs2008_release.bat deleted file mode 100644 index 13513c147..000000000 --- a/eo/build_vs2008_release.bat +++ /dev/null @@ -1,5 +0,0 @@ -mkdir release -cd release -cmake -G "Visual Studio 9 2008" .. -cd .. -pause diff --git a/eo/cmake/modules/CMakeParseArguments.cmake b/eo/cmake/modules/CMakeParseArguments.cmake deleted file mode 100644 index 7ce4c49ae..000000000 --- a/eo/cmake/modules/CMakeParseArguments.cmake +++ /dev/null @@ -1,138 +0,0 @@ -# CMAKE_PARSE_ARGUMENTS( args...) -# -# CMAKE_PARSE_ARGUMENTS() is intended to be used in macros or functions for -# parsing the arguments given to that macro or function. -# It processes the arguments and defines a set of variables which hold the -# values of the respective options. -# -# The argument contains all options for the respective macro, -# i.e. keywords which can be used when calling the macro without any value -# following, like e.g. the OPTIONAL keyword of the install() command. -# -# The argument contains all keywords for this macro -# which are followed by one value, like e.g. DESTINATION keyword of the -# install() command. -# -# The argument contains all keywords for this macro -# which can be followed by more than one value, like e.g. the TARGETS or -# FILES keywords of the install() command. -# -# When done, CMAKE_PARSE_ARGUMENTS() will have defined for each of the -# keywords listed in , and -# a variable composed of the given -# followed by "_" and the name of the respective keyword. -# These variables will then hold the respective value from the argument list. -# For the keywords this will be TRUE or FALSE. -# -# All remaining arguments are collected in a variable -# _UNPARSED_ARGUMENTS, this can be checked afterwards to see whether -# your macro was called with unrecognized parameters. -# -# As an example here a my_install() macro, which takes similar arguments as the -# real install() command: -# -# function(MY_INSTALL) -# set(options OPTIONAL FAST) -# set(oneValueArgs DESTINATION RENAME) -# set(multiValueArgs TARGETS CONFIGURATIONS) -# cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} ) -# ... -# -# Assume my_install() has been called like this: -# my_install(TARGETS foo bar DESTINATION bin OPTIONAL blub) -# -# After the cmake_parse_arguments() call the macro will have set the following -# variables: -# MY_INSTALL_OPTIONAL = TRUE -# MY_INSTALL_FAST = FALSE (this option was not used when calling my_install() -# MY_INSTALL_DESTINATION = "bin" -# MY_INSTALL_RENAME = "" (was not used) -# MY_INSTALL_TARGETS = "foo;bar" -# MY_INSTALL_CONFIGURATIONS = "" (was not used) -# MY_INSTALL_UNPARSED_ARGUMENTS = "blub" (no value expected after "OPTIONAL" -# -# You can the continue and process these variables. -# -# Keywords terminate lists of values, e.g. if directly after a one_value_keyword -# another recognized keyword follows, this is interpreted as the beginning of -# the new option. -# E.g. my_install(TARGETS foo DESTINATION OPTIONAL) would result in -# MY_INSTALL_DESTINATION set to "OPTIONAL", but MY_INSTALL_DESTINATION would -# be empty and MY_INSTALL_OPTIONAL would be set to TRUE therefor. - -#============================================================================= -# Copyright 2010 Alexander Neundorf -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) - - -if(__CMAKE_PARSE_ARGUMENTS_INCLUDED) - return() -endif() -set(__CMAKE_PARSE_ARGUMENTS_INCLUDED TRUE) - - -function(CMAKE_PARSE_ARGUMENTS prefix _optionNames _singleArgNames _multiArgNames) - # first set all result variables to empty/FALSE - foreach(arg_name ${_singleArgNames} ${_multiArgNames}) - set(${prefix}_${arg_name}) - endforeach(arg_name) - - foreach(option ${_optionNames}) - set(${prefix}_${option} FALSE) - endforeach(option) - - set(${prefix}_UNPARSED_ARGUMENTS) - - set(insideValues FALSE) - set(currentArgName) - - # now iterate over all arguments and fill the result variables - foreach(currentArg ${ARGN}) - list(FIND _optionNames "${currentArg}" optionIndex) # ... then this marks the end of the arguments belonging to this keyword - list(FIND _singleArgNames "${currentArg}" singleArgIndex) # ... then this marks the end of the arguments belonging to this keyword - list(FIND _multiArgNames "${currentArg}" multiArgIndex) # ... then this marks the end of the arguments belonging to this keyword - - if(${optionIndex} EQUAL -1 AND ${singleArgIndex} EQUAL -1 AND ${multiArgIndex} EQUAL -1) - if(insideValues) - if("${insideValues}" STREQUAL "SINGLE") - set(${prefix}_${currentArgName} ${currentArg}) - set(insideValues FALSE) - elseif("${insideValues}" STREQUAL "MULTI") - list(APPEND ${prefix}_${currentArgName} ${currentArg}) - endif() - else(insideValues) - list(APPEND ${prefix}_UNPARSED_ARGUMENTS ${currentArg}) - endif(insideValues) - else() - if(NOT ${optionIndex} EQUAL -1) - set(${prefix}_${currentArg} TRUE) - set(insideValues FALSE) - elseif(NOT ${singleArgIndex} EQUAL -1) - set(currentArgName ${currentArg}) - set(${prefix}_${currentArgName}) - set(insideValues "SINGLE") - elseif(NOT ${multiArgIndex} EQUAL -1) - set(currentArgName ${currentArg}) - set(${prefix}_${currentArgName}) - set(insideValues "MULTI") - endif() - endif() - - endforeach(currentArg) - - # propagate the result variables to the caller: - foreach(arg_name ${_singleArgNames} ${_multiArgNames} ${_optionNames}) - set(${prefix}_${arg_name} ${${prefix}_${arg_name}} PARENT_SCOPE) - endforeach(arg_name) - set(${prefix}_UNPARSED_ARGUMENTS ${${prefix}_UNPARSED_ARGUMENTS} PARENT_SCOPE) - -endfunction(CMAKE_PARSE_ARGUMENTS _options _singleArgs _multiArgs) diff --git a/eo/cmake/modules/FindEO.cmake b/eo/cmake/modules/FindEO.cmake index 2b3320d44..8bf3ac130 100644 --- a/eo/cmake/modules/FindEO.cmake +++ b/eo/cmake/modules/FindEO.cmake @@ -13,7 +13,6 @@ # - es # - ga # - cma -# - mpi # # You can use FIND_PACKAGE( EO COMPONENTS ... ) to enable one or several components. # @@ -28,7 +27,7 @@ IF(EO_FIND_COMPONENTS) SET(EO_USE_${_COMPONENT} 1) ENDFOREACH(component) - # To make sure we don't use PyEO, ES, GA, CMA, MPI when there arent in COMPONENTS + # To make sure we don't use PyEO, ES, GA, CMA when not in COMPONENTS IF(NOT EO_USE_PYEO) SET(EO_DONT_USE_PYEO 1) ELSE(NOT EO_USE_PYEO) @@ -52,12 +51,6 @@ IF(EO_FIND_COMPONENTS) ELSE(NOT EO_USE_CMA) SET(EO_LIBRARIES_TO_FIND ${EO_LIBRARIES_TO_FIND} cma) ENDIF(NOT EO_USE_CMA) - - IF(NOT EO_USE_MPI) - SET(EO_DONT_USE_MPI 1) - ELSE(NOT EO_USE_MPI) - SET(EO_LIBRARIES_TO_FIND ${EO_LIBRARIES_TO_FIND} eompi) - ENDIF(NOT EO_USE_MPI) ENDIF(EO_FIND_COMPONENTS) IF(NOT EO_INCLUDE_DIRS) @@ -98,13 +91,10 @@ IF(NOT EO_LIBRARIES) ENDFOREACH(component) ENDIF(NOT EO_LIBRARIES) -# handle the QUIETLY and REQUIRED arguments and set EO_FOUND to TRUE if -# all listed variables are TRUE -INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(EO - REQUIRED_VARS EO_INCLUDE_DIRS EO_LIBRARY_DIRS EO_LIBRARIES - ) - -MARK_AS_ADVANCED(EO_INCLUDE_DIRS) -MARK_AS_ADVANCED(EO_LIBRARY_DIRS) -MARK_AS_ADVANCED(EO_LIBRARIES) +IF(EO_INCLUDE_DIRS AND EO_LIBRARY_DIRS AND EO_LIBRARIES) + SET(EO_FOUND 1) + MARK_AS_ADVANCED(EO_FOUND) + MARK_AS_ADVANCED(EO_INCLUDE_DIRS) + MARK_AS_ADVANCED(EO_LIBRARY_DIRS) + MARK_AS_ADVANCED(EO_LIBRARIES) +ENDIF(EO_INCLUDE_DIRS AND EO_LIBRARY_DIRS AND EO_LIBRARIES) diff --git a/eo/cmake/modules/FindPackageHandleStandardArgs.cmake b/eo/cmake/modules/FindPackageHandleStandardArgs.cmake deleted file mode 100644 index cdcf9ca7c..000000000 --- a/eo/cmake/modules/FindPackageHandleStandardArgs.cmake +++ /dev/null @@ -1,296 +0,0 @@ -# FIND_PACKAGE_HANDLE_STANDARD_ARGS( ... ) -# -# This function is intended to be used in FindXXX.cmake modules files. -# It handles the REQUIRED, QUIET and version-related arguments to FIND_PACKAGE(). -# It also sets the _FOUND variable. -# The package is considered found if all variables ... listed contain -# valid results, e.g. valid filepaths. -# -# There are two modes of this function. The first argument in both modes is -# the name of the Find-module where it is called (in original casing). -# -# The first simple mode looks like this: -# FIND_PACKAGE_HANDLE_STANDARD_ARGS( (DEFAULT_MSG|"Custom failure message") ... ) -# If the variables to are all valid, then _FOUND -# will be set to TRUE. -# If DEFAULT_MSG is given as second argument, then the function will generate -# itself useful success and error messages. You can also supply a custom error message -# for the failure case. This is not recommended. -# -# The second mode is more powerful and also supports version checking: -# FIND_PACKAGE_HANDLE_STANDARD_ARGS(NAME [REQUIRED_VARS ...] -# [VERSION_VAR ] -# [HANDLE_COMPONENTS] -# [CONFIG_MODE] -# [FAIL_MESSAGE "Custom failure message"] ) -# -# As above, if through are all valid, _FOUND -# will be set to TRUE. -# After REQUIRED_VARS the variables which are required for this package are listed. -# Following VERSION_VAR the name of the variable can be specified which holds -# the version of the package which has been found. If this is done, this version -# will be checked against the (potentially) specified required version used -# in the find_package() call. The EXACT keyword is also handled. The default -# messages include information about the required version and the version -# which has been actually found, both if the version is ok or not. -# If the package supports components, use the HANDLE_COMPONENTS option to enable -# handling them. In this case, find_package_handle_standard_args() will report -# which components have been found and which are missing, and the _FOUND -# variable will be set to FALSE if any of the required components (i.e. not the -# ones listed after OPTIONAL_COMPONENTS) are missing. -# Use the option CONFIG_MODE if your FindXXX.cmake module is a wrapper for -# a find_package(... NO_MODULE) call. In this case VERSION_VAR will be set -# to _VERSION and the macro will automatically check whether the -# Config module was found. -# Via FAIL_MESSAGE a custom failure message can be specified, if this is not -# used, the default message will be displayed. -# -# Example for mode 1: -# -# FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibXml2 DEFAULT_MSG LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR) -# -# LibXml2 is considered to be found, if both LIBXML2_LIBRARY and -# LIBXML2_INCLUDE_DIR are valid. Then also LIBXML2_FOUND is set to TRUE. -# If it is not found and REQUIRED was used, it fails with FATAL_ERROR, -# independent whether QUIET was used or not. -# If it is found, success will be reported, including the content of . -# On repeated Cmake runs, the same message won't be printed again. -# -# Example for mode 2: -# -# FIND_PACKAGE_HANDLE_STANDARD_ARGS(BISON REQUIRED_VARS BISON_EXECUTABLE -# VERSION_VAR BISON_VERSION) -# In this case, BISON is considered to be found if the variable(s) listed -# after REQUIRED_VAR are all valid, i.e. BISON_EXECUTABLE in this case. -# Also the version of BISON will be checked by using the version contained -# in BISON_VERSION. -# Since no FAIL_MESSAGE is given, the default messages will be printed. -# -# Another example for mode 2: -# -# FIND_PACKAGE(Automoc4 QUIET NO_MODULE HINTS /opt/automoc4) -# FIND_PACKAGE_HANDLE_STANDARD_ARGS(Automoc4 CONFIG_MODE) -# In this case, FindAutmoc4.cmake wraps a call to FIND_PACKAGE(Automoc4 NO_MODULE) -# and adds an additional search directory for automoc4. -# The following FIND_PACKAGE_HANDLE_STANDARD_ARGS() call produces a proper -# success/error message. - -#============================================================================= -# Copyright 2007-2009 Kitware, Inc. -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) - -INCLUDE(FindPackageMessage) -INCLUDE(CMakeParseArguments) - -# internal helper macro -MACRO(_FPHSA_FAILURE_MESSAGE _msg) - IF (${_NAME}_FIND_REQUIRED) - MESSAGE(FATAL_ERROR "${_msg}") - ELSE (${_NAME}_FIND_REQUIRED) - IF (NOT ${_NAME}_FIND_QUIETLY) - MESSAGE(STATUS "${_msg}") - ENDIF (NOT ${_NAME}_FIND_QUIETLY) - ENDIF (${_NAME}_FIND_REQUIRED) -ENDMACRO(_FPHSA_FAILURE_MESSAGE _msg) - - -# internal helper macro to generate the failure message when used in CONFIG_MODE: -MACRO(_FPHSA_HANDLE_FAILURE_CONFIG_MODE) - # _CONFIG is set, but FOUND is false, this means that some other of the REQUIRED_VARS was not found: - IF(${_NAME}_CONFIG) - _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: missing: ${MISSING_VARS} (found ${${_NAME}_CONFIG} ${VERSION_MSG})") - ELSE(${_NAME}_CONFIG) - # If _CONSIDERED_CONFIGS is set, the config-file has been found, but no suitable version. - # List them all in the error message: - IF(${_NAME}_CONSIDERED_CONFIGS) - SET(configsText "") - LIST(LENGTH ${_NAME}_CONSIDERED_CONFIGS configsCount) - MATH(EXPR configsCount "${configsCount} - 1") - FOREACH(currentConfigIndex RANGE ${configsCount}) - LIST(GET ${_NAME}_CONSIDERED_CONFIGS ${currentConfigIndex} filename) - LIST(GET ${_NAME}_CONSIDERED_VERSIONS ${currentConfigIndex} version) - SET(configsText "${configsText} ${filename} (version ${version})\n") - ENDFOREACH(currentConfigIndex) - _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} ${VERSION_MSG}, checked the following files:\n${configsText}") - - ELSE(${_NAME}_CONSIDERED_CONFIGS) - # Simple case: No Config-file was found at all: - _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: found neither ${_NAME}Config.cmake nor ${_NAME_LOWER}-config.cmake ${VERSION_MSG}") - ENDIF(${_NAME}_CONSIDERED_CONFIGS) - ENDIF(${_NAME}_CONFIG) -ENDMACRO(_FPHSA_HANDLE_FAILURE_CONFIG_MODE) - - -FUNCTION(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRST_ARG) - -# set up the arguments for CMAKE_PARSE_ARGUMENTS and check whether we are in -# new extended or in the "old" mode: - SET(options CONFIG_MODE HANDLE_COMPONENTS) - SET(oneValueArgs FAIL_MESSAGE VERSION_VAR) - SET(multiValueArgs REQUIRED_VARS) - SET(_KEYWORDS_FOR_EXTENDED_MODE ${options} ${oneValueArgs} ${multiValueArgs} ) - LIST(FIND _KEYWORDS_FOR_EXTENDED_MODE "${_FIRST_ARG}" INDEX) - - IF(${INDEX} EQUAL -1) - SET(FPHSA_FAIL_MESSAGE ${_FIRST_ARG}) - SET(FPHSA_REQUIRED_VARS ${ARGN}) - SET(FPHSA_VERSION_VAR) - ELSE(${INDEX} EQUAL -1) - - CMAKE_PARSE_ARGUMENTS(FPHSA "${options}" "${oneValueArgs}" "${multiValueArgs}" ${_FIRST_ARG} ${ARGN}) - - IF(FPHSA_UNPARSED_ARGUMENTS) - MESSAGE(FATAL_ERROR "Unknown keywords given to FIND_PACKAGE_HANDLE_STANDARD_ARGS(): \"${FPHSA_UNPARSED_ARGUMENTS}\"") - ENDIF(FPHSA_UNPARSED_ARGUMENTS) - - IF(NOT FPHSA_FAIL_MESSAGE) - SET(FPHSA_FAIL_MESSAGE "DEFAULT_MSG") - ENDIF(NOT FPHSA_FAIL_MESSAGE) - ENDIF(${INDEX} EQUAL -1) - -# now that we collected all arguments, process them - - IF("${FPHSA_FAIL_MESSAGE}" STREQUAL "DEFAULT_MSG") - SET(FPHSA_FAIL_MESSAGE "Could NOT find ${_NAME}") - ENDIF("${FPHSA_FAIL_MESSAGE}" STREQUAL "DEFAULT_MSG") - - # In config-mode, we rely on the variable _CONFIG, which is set by find_package() - # when it successfully found the config-file, including version checking: - IF(FPHSA_CONFIG_MODE) - LIST(INSERT FPHSA_REQUIRED_VARS 0 ${_NAME}_CONFIG) - LIST(REMOVE_DUPLICATES FPHSA_REQUIRED_VARS) - SET(FPHSA_VERSION_VAR ${_NAME}_VERSION) - ENDIF(FPHSA_CONFIG_MODE) - - IF(NOT FPHSA_REQUIRED_VARS) - MESSAGE(FATAL_ERROR "No REQUIRED_VARS specified for FIND_PACKAGE_HANDLE_STANDARD_ARGS()") - ENDIF(NOT FPHSA_REQUIRED_VARS) - - LIST(GET FPHSA_REQUIRED_VARS 0 _FIRST_REQUIRED_VAR) - - STRING(TOUPPER ${_NAME} _NAME_UPPER) - STRING(TOLOWER ${_NAME} _NAME_LOWER) - - # collect all variables which were not found, so they can be printed, so the - # user knows better what went wrong (#6375) - SET(MISSING_VARS "") - SET(DETAILS "") - SET(${_NAME_UPPER}_FOUND TRUE) - # check if all passed variables are valid - FOREACH(_CURRENT_VAR ${FPHSA_REQUIRED_VARS}) - IF(NOT ${_CURRENT_VAR}) - SET(${_NAME_UPPER}_FOUND FALSE) - SET(MISSING_VARS "${MISSING_VARS} ${_CURRENT_VAR}") - ELSE(NOT ${_CURRENT_VAR}) - SET(DETAILS "${DETAILS}[${${_CURRENT_VAR}}]") - ENDIF(NOT ${_CURRENT_VAR}) - ENDFOREACH(_CURRENT_VAR) - - # component handling - UNSET(FOUND_COMPONENTS_MSG) - UNSET(MISSING_COMPONENTS_MSG) - - IF(FPHSA_HANDLE_COMPONENTS) - FOREACH(comp ${${_NAME}_FIND_COMPONENTS}) - IF(${_NAME}_${comp}_FOUND) - - IF(NOT DEFINED FOUND_COMPONENTS_MSG) - SET(FOUND_COMPONENTS_MSG "found components: ") - ENDIF() - SET(FOUND_COMPONENTS_MSG "${FOUND_COMPONENTS_MSG} ${comp}") - - ELSE() - - IF(NOT DEFINED MISSING_COMPONENTS_MSG) - SET(MISSING_COMPONENTS_MSG "missing components: ") - ENDIF() - SET(MISSING_COMPONENTS_MSG "${MISSING_COMPONENTS_MSG} ${comp}") - - IF(${_NAME}_FIND_REQUIRED_${comp}) - SET(${_NAME_UPPER}_FOUND FALSE) - SET(MISSING_VARS "${MISSING_VARS} ${comp}") - ENDIF() - - ENDIF() - ENDFOREACH(comp) - SET(COMPONENT_MSG "${FOUND_COMPONENTS_MSG} ${MISSING_COMPONENTS_MSG}") - SET(DETAILS "${DETAILS}[c${COMPONENT_MSG}]") - ENDIF(FPHSA_HANDLE_COMPONENTS) - - # version handling: - SET(VERSION_MSG "") - SET(VERSION_OK TRUE) - SET(VERSION ${${FPHSA_VERSION_VAR}} ) - IF (${_NAME}_FIND_VERSION) - - IF(VERSION) - - IF(${_NAME}_FIND_VERSION_EXACT) # exact version required - IF (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}") - SET(VERSION_MSG "Found unsuitable version \"${VERSION}\", but required is exact version \"${${_NAME}_FIND_VERSION}\"") - SET(VERSION_OK FALSE) - ELSE (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}") - SET(VERSION_MSG "(found suitable exact version \"${VERSION}\")") - ENDIF (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}") - - ELSE(${_NAME}_FIND_VERSION_EXACT) # minimum version specified: - IF ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}") - SET(VERSION_MSG "Found unsuitable version \"${VERSION}\", but required is at least \"${${_NAME}_FIND_VERSION}\"") - SET(VERSION_OK FALSE) - ELSE ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}") - SET(VERSION_MSG "(found suitable version \"${VERSION}\", required is \"${${_NAME}_FIND_VERSION}\")") - ENDIF ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}") - ENDIF(${_NAME}_FIND_VERSION_EXACT) - - ELSE(VERSION) - - # if the package was not found, but a version was given, add that to the output: - IF(${_NAME}_FIND_VERSION_EXACT) - SET(VERSION_MSG "(Required is exact version \"${${_NAME}_FIND_VERSION}\")") - ELSE(${_NAME}_FIND_VERSION_EXACT) - SET(VERSION_MSG "(Required is at least version \"${${_NAME}_FIND_VERSION}\")") - ENDIF(${_NAME}_FIND_VERSION_EXACT) - - ENDIF(VERSION) - ELSE (${_NAME}_FIND_VERSION) - IF(VERSION) - SET(VERSION_MSG "(found version \"${VERSION}\")") - ENDIF(VERSION) - ENDIF (${_NAME}_FIND_VERSION) - - IF(VERSION_OK) - SET(DETAILS "${DETAILS}[v${VERSION}(${${_NAME}_FIND_VERSION})]") - ELSE(VERSION_OK) - SET(${_NAME_UPPER}_FOUND FALSE) - ENDIF(VERSION_OK) - - - # print the result: - IF (${_NAME_UPPER}_FOUND) - FIND_PACKAGE_MESSAGE(${_NAME} "Found ${_NAME}: ${${_FIRST_REQUIRED_VAR}} ${VERSION_MSG} ${COMPONENT_MSG}" "${DETAILS}") - ELSE (${_NAME_UPPER}_FOUND) - - IF(FPHSA_CONFIG_MODE) - _FPHSA_HANDLE_FAILURE_CONFIG_MODE() - ELSE(FPHSA_CONFIG_MODE) - IF(NOT VERSION_OK) - _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: ${VERSION_MSG} (found ${${_FIRST_REQUIRED_VAR}})") - ELSE(NOT VERSION_OK) - _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} (missing: ${MISSING_VARS}) ${VERSION_MSG}") - ENDIF(NOT VERSION_OK) - ENDIF(FPHSA_CONFIG_MODE) - - ENDIF (${_NAME_UPPER}_FOUND) - - SET(${_NAME_UPPER}_FOUND ${${_NAME_UPPER}_FOUND} PARENT_SCOPE) - -ENDFUNCTION(FIND_PACKAGE_HANDLE_STANDARD_ARGS _FIRST_ARG) diff --git a/eo/cmake/modules/FindPackageMessage.cmake b/eo/cmake/modules/FindPackageMessage.cmake deleted file mode 100644 index 48d3472b5..000000000 --- a/eo/cmake/modules/FindPackageMessage.cmake +++ /dev/null @@ -1,49 +0,0 @@ -# FIND_PACKAGE_MESSAGE( "message for user" "find result details") -# -# This macro is intended to be used in FindXXX.cmake modules files. -# It will print a message once for each unique find result. -# This is useful for telling the user where a package was found. -# The first argument specifies the name (XXX) of the package. -# The second argument specifies the message to display. -# The third argument lists details about the find result so that -# if they change the message will be displayed again. -# The macro also obeys the QUIET argument to the find_package command. -# -# Example: -# -# IF(X11_FOUND) -# FIND_PACKAGE_MESSAGE(X11 "Found X11: ${X11_X11_LIB}" -# "[${X11_X11_LIB}][${X11_INCLUDE_DIR}]") -# ELSE(X11_FOUND) -# ... -# ENDIF(X11_FOUND) - -#============================================================================= -# Copyright 2008-2009 Kitware, Inc. -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) - -FUNCTION(FIND_PACKAGE_MESSAGE pkg msg details) - # Avoid printing a message repeatedly for the same find result. - IF(NOT ${pkg}_FIND_QUIETLY) - STRING(REGEX REPLACE "[\n]" "" details "${details}") - SET(DETAILS_VAR FIND_PACKAGE_MESSAGE_DETAILS_${pkg}) - IF(NOT "${details}" STREQUAL "${${DETAILS_VAR}}") - # The message has not yet been printed. - MESSAGE(STATUS "${msg}") - - # Save the find details in the cache to avoid printing the same - # message again. - SET("${DETAILS_VAR}" "${details}" - CACHE INTERNAL "Details about finding ${pkg}") - ENDIF(NOT "${details}" STREQUAL "${${DETAILS_VAR}}") - ENDIF(NOT ${pkg}_FIND_QUIETLY) -ENDFUNCTION(FIND_PACKAGE_MESSAGE) diff --git a/eo/distclean b/eo/distclean deleted file mode 100755 index e4a02bc44..000000000 --- a/eo/distclean +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env sh - -rm -rf debug -rm -rf release diff --git a/eo/doc/CMakeLists.txt b/eo/doc/CMakeLists.txt index b1043c8af..ac8c13ab2 100644 --- a/eo/doc/CMakeLists.txt +++ b/eo/doc/CMakeLists.txt @@ -1,10 +1,9 @@ ########################################################################################## ### EO Doc generation using Doxygen ########################################################################################## - IF (DOXYGEN_FOUND) - SET(DOC_DIR ${CMAKE_BINARY_DIR}/doc CACHE PATH "EO documentation directory") + SET(DOC_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH "EO documentation directory") SET(EO_DOC_CONFIG_FILE "eo.cfg" CACHE PATH "EO documentation configuration file") # Copy necessary doc files @@ -18,21 +17,29 @@ IF (DOXYGEN_FOUND) # define the doc target IF (DOXYGEN_EXECUTABLE) - ADD_CUSTOM_TARGET(doc - COMMAND ${DOXYGEN_EXECUTABLE} ${EO_DOC_CONFIG_FILE} - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - ) + # Creating the custom target + if(UNIX AND NOT ${CMAKE_VERBOSE_MAKEFILE}) + add_custom_target(doc-eo + COMMAND ${DOXYGEN_EXECUTABLE} ${EO_DOC_CONFIG_FILE} 2> /dev/null > /dev/null + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + ) + else(UNIX AND NOT ${CMAKE_VERBOSE_MAKEFILE}) + ADD_CUSTOM_TARGET(doc-eo + COMMAND ${DOXYGEN_EXECUTABLE} ${EO_DOC_CONFIG_FILE} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + ) + endif() ENDIF (DOXYGEN_EXECUTABLE) # configure cfg file CONFIGURE_FILE( - "${CMAKE_SOURCE_DIR}/doc/${EO_DOC_CONFIG_FILE}.cmake" - "${CMAKE_BINARY_DIR}/doc/${EO_DOC_CONFIG_FILE}" + "${CMAKE_CURRENT_SOURCE_DIR}/${EO_DOC_CONFIG_FILE}.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/${EO_DOC_CONFIG_FILE}" ) INSTALL( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - DESTINATION share/eo COMPONENT libraries + DESTINATION local/share${INSTALL_SUB_DIR}/eo COMPONENT doc PATTERN "CMakeFiles" EXCLUDE PATTERN "cmake_install.cmake" EXCLUDE PATTERN "Makefile" EXCLUDE diff --git a/eo/doc/eo.cfg.cmake b/eo/doc/eo.cfg.cmake index f030f3b37..e781ed5f6 100644 --- a/eo/doc/eo.cfg.cmake +++ b/eo/doc/eo.cfg.cmake @@ -38,7 +38,7 @@ PROJECT_NUMBER = @PACKAGE_VERSION@ # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. -OUTPUT_DIRECTORY = @CMAKE_BINARY_DIR@/doc +OUTPUT_DIRECTORY = @CMAKE_CURRENT_BINARY_DIR@ # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output @@ -470,12 +470,6 @@ MAX_INITIALIZER_LINES = 30 SHOW_USED_FILES = YES -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - # Set the SHOW_FILES tag to NO to disable the generation of the Files page. # This will remove the Files entry from the Quick Index and from the # Folder Tree View (if specified). The default is YES. @@ -799,11 +793,6 @@ HTML_FOOTER = HTML_STYLESHEET = -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the @@ -953,11 +942,6 @@ ENUM_VALUES_PER_LINE = 4 GENERATE_TREEVIEW = YES -# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list. - -USE_INLINE_TREES = NO - # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. @@ -1303,7 +1287,7 @@ TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. -GENERATE_TAGFILE = @CMAKE_BINARY_DIR@/doc/eo.doxytag +GENERATE_TAGFILE = @CMAKE_CURRENT_BINARY_DIR@/eo.doxytag # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes diff --git a/eo/doc/index.h b/eo/doc/index.h index d3ba14503..52a5758cf 100644 --- a/eo/doc/index.h +++ b/eo/doc/index.h @@ -5,7 +5,7 @@ The best place to learn about the features and approaches of %EO with the help of examples is to look at the tutorial. -Once you have understand the @ref design of %EO, you can search for advanced features by browsing the modules page. diff --git a/eo/eo-conf.cmake b/eo/eo-conf.cmake deleted file mode 100644 index 7ccc9cee5..000000000 --- a/eo/eo-conf.cmake +++ /dev/null @@ -1,17 +0,0 @@ - -# Current version -SET(PROJECT_VERSION_MAJOR 1) -SET(PROJECT_VERSION_MINOR 3) -SET(PROJECT_VERSION_PATCH 2) -SET(PROJECT_VERSION_MISC "-edge") - -# ADD_DEFINITIONS(-DDEPRECATED_MESSAGES) # disable warning deprecated function messages -# If you plan to use OpenMP, put the following boolean to true : -SET(WITH_OMP FALSE CACHE BOOL "Use OpenMP ?" FORCE) - -# If you plan to use MPI, precise here where are the static libraries from -# openmpi and boost::mpi. - -SET(WITH_MPI FALSE CACHE BOOL "Use mpi ?" FORCE) -SET(MPI_DIR "/mpi/directory" CACHE PATH "OpenMPI directory" FORCE) - diff --git a/eo/package_deb b/eo/package_deb deleted file mode 100755 index 1a44d0219..000000000 --- a/eo/package_deb +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env sh - -cd release -cpack -G DEB -cd .. diff --git a/eo/package_nsis.bat b/eo/package_nsis.bat deleted file mode 100644 index d372c4340..000000000 --- a/eo/package_nsis.bat +++ /dev/null @@ -1,4 +0,0 @@ -cd release -cpack -G NSIS -cd .. -pause diff --git a/eo/package_rpm b/eo/package_rpm deleted file mode 100755 index 8d46b7d04..000000000 --- a/eo/package_rpm +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env sh - -cd release -cpack -G RPM -cd .. diff --git a/eo/src/CMakeLists.txt b/eo/src/CMakeLists.txt index 317080f1e..7042e065e 100644 --- a/eo/src/CMakeLists.txt +++ b/eo/src/CMakeLists.txt @@ -5,29 +5,7 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) ###################################################################################### -### 2) Optional: add MPI and Boost MPI dependencies. -###################################################################################### - -IF(WITH_MPI) - MESSAGE("[EO] Compilation with MPI.") - - #SET(CMAKE_CXX_COMPILER "${MPI_DIR}/bin/mpicxx") - SET(CMAKE_CXX_COMPILER mpicxx) - - # headers location - INCLUDE_DIRECTORIES(${MPI_DIR}/include) - - # lib location - LINK_DIRECTORIES(${MPI_DIR}/lib) - - # for conditional compilation in code - ADD_DEFINITIONS(-DWITH_MPI) - - ADD_SUBDIRECTORY(mpi) -ENDIF() - -###################################################################################### -### 3) Define the eo target +### 2) Define the eo target ###################################################################################### SET(EO_LIB_OUTPUT_PATH ${EO_BINARY_DIR}/lib) @@ -43,29 +21,31 @@ SET(EO_SOURCES ) ADD_LIBRARY(eo STATIC ${EO_SOURCES}) -INSTALL(TARGETS eo ARCHIVE DESTINATION lib COMPONENT libraries) +INSTALL(TARGETS eo ARCHIVE DESTINATION local/${LIB} COMPONENT libraries) FILE(GLOB HDRS *.h eo) -INSTALL(FILES ${HDRS} DESTINATION include/eo COMPONENT headers) +INSTALL(FILES ${HDRS} DESTINATION local/include${INSTALL_SUB_DIR}/eo COMPONENT headers) + +INSTALL(DIRECTORY do es ga gp other utils + DESTINATION local/include${INSTALL_SUB_DIR}/eo + COMPONENT headers + FILES_MATCHING PATTERN "*.h" PATTERN "checkpointing" PATTERN external_eo + ) ###################################################################################### -### 4) Optionnal: define your target(s)'s version: no effect for windows +### 3) Optionnal: define your target(s)'s version: no effect for windows ###################################################################################### SET(EO_VERSION ${GLOBAL_VERSION}) SET_TARGET_PROPERTIES(eo PROPERTIES VERSION "${EO_VERSION}") ###################################################################################### -### 5) Where must cmake go now ? +### 4) Where must cmake go now ? ###################################################################################### -ADD_SUBDIRECTORY(do) ADD_SUBDIRECTORY(es) ADD_SUBDIRECTORY(ga) -ADD_SUBDIRECTORY(gp) -ADD_SUBDIRECTORY(other) ADD_SUBDIRECTORY(utils) -ADD_SUBDIRECTORY(serial) IF(ENABLE_PYEO) ADD_SUBDIRECTORY(pyeo) diff --git a/eo/src/do/CMakeLists.txt b/eo/src/do/CMakeLists.txt deleted file mode 100644 index d8c84906b..000000000 --- a/eo/src/do/CMakeLists.txt +++ /dev/null @@ -1,2 +0,0 @@ -FILE(GLOB HDRS *.h) -INSTALL(FILES ${HDRS} DESTINATION include/eo/do COMPONENT headers) diff --git a/eo/src/es/CMakeLists.txt b/eo/src/es/CMakeLists.txt index 9b0524130..b71260fb5 100644 --- a/eo/src/es/CMakeLists.txt +++ b/eo/src/es/CMakeLists.txt @@ -38,13 +38,10 @@ SET(CMA_SOURCES ) ADD_LIBRARY(es STATIC ${ES_SOURCES}) -INSTALL(TARGETS es ARCHIVE DESTINATION lib COMPONENT libraries) +INSTALL(TARGETS es ARCHIVE DESTINATION local/${LIB} COMPONENT libraries) ADD_LIBRARY(cma STATIC ${CMA_SOURCES}) -INSTALL(TARGETS cma ARCHIVE DESTINATION lib COMPONENT libraries) - -FILE(GLOB HDRS *.h) -INSTALL(FILES ${HDRS} DESTINATION include/eo/es COMPONENT headers) +INSTALL(TARGETS cma ARCHIVE DESTINATION local/${LIB} COMPONENT libraries) ###################################################################################### ### 3) Optionnal diff --git a/eo/src/gp/CMakeLists.txt b/eo/src/gp/CMakeLists.txt deleted file mode 100644 index 44195d5f6..000000000 --- a/eo/src/gp/CMakeLists.txt +++ /dev/null @@ -1,2 +0,0 @@ -FILE(GLOB HDRS *.h) -INSTALL(FILES ${HDRS} DESTINATION include/eo/gp COMPONENT headers) diff --git a/eo/src/other/CMakeLists.txt b/eo/src/other/CMakeLists.txt deleted file mode 100644 index 4f8e1a7df..000000000 --- a/eo/src/other/CMakeLists.txt +++ /dev/null @@ -1,2 +0,0 @@ -FILE(GLOB HDRS *.h external_eo) -INSTALL(FILES ${HDRS} DESTINATION include/eo/other COMPONENT headers) diff --git a/eo/src/pyeo/CMakeLists.txt b/eo/src/pyeo/CMakeLists.txt index 760283a85..697c96a16 100644 --- a/eo/src/pyeo/CMakeLists.txt +++ b/eo/src/pyeo/CMakeLists.txt @@ -48,7 +48,7 @@ SET(EO_SOURCES # shared library ADD_LIBRARY(PyEO MODULE ${SOURCES} ${EO_SOURCES}) -INSTALL(TARGETS PyEO LIBRARY DESTINATION lib COMPONENT libraries) +INSTALL(TARGETS PyEO LIBRARY DESTINATION local/${LIB} COMPONENT libraries) # python 2.5 must have pyd IF(WIN32 AND NOT CYGWIN) diff --git a/eo/src/utils/CMakeLists.txt b/eo/src/utils/CMakeLists.txt index 5224f6520..ccb7efe81 100644 --- a/eo/src/utils/CMakeLists.txt +++ b/eo/src/utils/CMakeLists.txt @@ -33,10 +33,8 @@ SET(EOUTILS_SOURCES ) ADD_LIBRARY(eoutils STATIC ${EOUTILS_SOURCES}) -INSTALL(TARGETS eoutils ARCHIVE DESTINATION lib COMPONENT libraries) +INSTALL(TARGETS eoutils ARCHIVE DESTINATION local/${LIB} COMPONENT libraries) -FILE(GLOB HDRS *.h checkpointing) -INSTALL(FILES ${HDRS} DESTINATION include/eo/utils COMPONENT headers) ###################################################################################### ### 3) Optionnal diff --git a/eo/test/CMakeLists.txt b/eo/test/CMakeLists.txt index db415bebc..ed9575e85 100644 --- a/eo/test/CMakeLists.txt +++ b/eo/test/CMakeLists.txt @@ -14,28 +14,17 @@ INCLUDE_DIRECTORIES(${EO_SOURCE_DIR}/contrib) INCLUDE_DIRECTORIES(${EO_SOURCE_DIR}/contrib/MGE) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) -IF(WITH_MPI) - INCLUDE_DIRECTORIES(${MPI_DIR}/include) -ENDIF() - ###################################################################################### ### 2) Specify where CMake can find the libraries ###################################################################################### LINK_DIRECTORIES(${EO_BINARY_DIR}/lib) -IF(WITH_MPI) - LINK_DIRECTORIES(${MPI_DIR}/lib) - SET(CMAKE_CXX_COMPILER "mpicxx") -ENDIF() - ###################################################################################### ### 3) Define your targets and link the librairies ###################################################################################### SET (TEST_LIST - t-eoEvalKeepBest - t-eoInitVariableLength t-eofitness t-eoRandom t-eobin @@ -75,9 +64,9 @@ SET (TEST_LIST t-eoOrderXover t-eoExtendedVelocity t-eoLogger - t-eoIQRStat - #t-eoParallel - #t-openmp + #t-eoIQRStat # Temporary by-passed in order to test coverage + t-eoParallel + #t-openmp # does not work anymore since functions used in this test were removed from EO #t-eoDualFitness t-eoParser ) @@ -104,7 +93,7 @@ ELSEIF(ENABLE_CMAKE_TESTING) ADD_EXECUTABLE(${test} ${T_${test}_SOURCES}) ADD_TEST(${test} ${test}) TARGET_LINK_LIBRARIES(${test} ga es cma eoutils eo) - INSTALL(TARGETS ${test} RUNTIME DESTINATION share/eo/test COMPONENT test) + INSTALL(TARGETS ${test} RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/test COMPONENT test) ENDFOREACH (test) SET(RESOURCES diff --git a/eo/tutorial/Lesson1/CMakeLists.txt b/eo/tutorial/Lesson1/CMakeLists.txt index 72862e036..bcad406f5 100644 --- a/eo/tutorial/Lesson1/CMakeLists.txt +++ b/eo/tutorial/Lesson1/CMakeLists.txt @@ -57,8 +57,8 @@ TARGET_LINK_LIBRARIES(exercise1.3 ga eo eoutils) ### 6) Configure project installation paths ###################################################################################### -INSTALL(TARGETS FirstBitGA RUNTIME DESTINATION share/eo/examples/Lesson1 COMPONENT examples) -INSTALL(TARGETS FirstRealGA RUNTIME DESTINATION share/eo/examples/Lesson1 COMPONENT examples) -INSTALL(TARGETS exercise1.3 RUNTIME DESTINATION share/eo/examples/Lesson1 COMPONENT examples) +INSTALL(TARGETS FirstBitGA RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson1 COMPONENT examples) +INSTALL(TARGETS FirstRealGA RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson1 COMPONENT examples) +INSTALL(TARGETS exercise1.3 RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson1 COMPONENT examples) ###################################################################################### diff --git a/eo/tutorial/Lesson2/CMakeLists.txt b/eo/tutorial/Lesson2/CMakeLists.txt index 23669155e..1b7c04999 100644 --- a/eo/tutorial/Lesson2/CMakeLists.txt +++ b/eo/tutorial/Lesson2/CMakeLists.txt @@ -53,8 +53,8 @@ TARGET_LINK_LIBRARIES(exercise2.3 ga eo eoutils) ### 6) Configure project installation paths ###################################################################################### -INSTALL(TARGETS FirstBitEA RUNTIME DESTINATION share/eo/examples/Lesson2 COMPONENT examples) -INSTALL(TARGETS FirstRealEA RUNTIME DESTINATION share/eo/examples/Lesson2 COMPONENT examples) -INSTALL(TARGETS exercise2.3 RUNTIME DESTINATION share/eo/examples/Lesson2 COMPONENT examples) +INSTALL(TARGETS FirstBitEA RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson2 COMPONENT examples) +INSTALL(TARGETS FirstRealEA RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson2 COMPONENT examples) +INSTALL(TARGETS exercise2.3 RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson2 COMPONENT examples) ###################################################################################### diff --git a/eo/tutorial/Lesson3/CMakeLists.txt b/eo/tutorial/Lesson3/CMakeLists.txt index a59f4a63f..e999e616a 100644 --- a/eo/tutorial/Lesson3/CMakeLists.txt +++ b/eo/tutorial/Lesson3/CMakeLists.txt @@ -57,8 +57,8 @@ TARGET_LINK_LIBRARIES(exercise3.1 ga eoutils eo) ### 6) Configure project installation paths ###################################################################################### -INSTALL(TARGETS SecondBitEA RUNTIME DESTINATION share/eo/examples/Lesson3 COMPONENT examples) -INSTALL(TARGETS SecondRealEA RUNTIME DESTINATION share/eo/examples/Lesson3 COMPONENT examples) -INSTALL(TARGETS exercise3.1 RUNTIME DESTINATION share/eo/examples/Lesson3 COMPONENT examples) +INSTALL(TARGETS SecondBitEA RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson3 COMPONENT examples) +INSTALL(TARGETS SecondRealEA RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson3 COMPONENT examples) +INSTALL(TARGETS exercise3.1 RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson3 COMPONENT examples) ###################################################################################### diff --git a/eo/tutorial/Lesson4/CMakeLists.txt b/eo/tutorial/Lesson4/CMakeLists.txt index 739fed1bb..8048bdccc 100644 --- a/eo/tutorial/Lesson4/CMakeLists.txt +++ b/eo/tutorial/Lesson4/CMakeLists.txt @@ -91,8 +91,8 @@ TARGET_LINK_LIBRARIES(ESEA es ga eo eoutils) ### 6) Configure project installation paths ###################################################################################### -INSTALL(TARGETS BitEA RUNTIME DESTINATION share/eo/examples/Lesson4 COMPONENT examples) -INSTALL(TARGETS RealEA RUNTIME DESTINATION share/eo/examples/Lesson4 COMPONENT examples) -INSTALL(TARGETS ESEA RUNTIME DESTINATION share/eo/examples/Lesson4 COMPONENT examples) +INSTALL(TARGETS BitEA RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson4 COMPONENT examples) +INSTALL(TARGETS RealEA RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson4 COMPONENT examples) +INSTALL(TARGETS ESEA RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson4 COMPONENT examples) ###################################################################################### diff --git a/eo/tutorial/Lesson5/CMakeLists.txt b/eo/tutorial/Lesson5/CMakeLists.txt index 72852d046..011687b8a 100644 --- a/eo/tutorial/Lesson5/CMakeLists.txt +++ b/eo/tutorial/Lesson5/CMakeLists.txt @@ -50,7 +50,7 @@ TARGET_LINK_LIBRARIES(OneMaxLibEA es ga eo eoutils) ### 6) Configure project installation paths ###################################################################################### -INSTALL(TARGETS OneMaxEA RUNTIME DESTINATION share/eo/examples/Lesson5 COMPONENT examples) -INSTALL(TARGETS OneMaxLibEA RUNTIME DESTINATION share/eo/examples/Lesson5 COMPONENT examples) +INSTALL(TARGETS OneMaxEA RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson5 COMPONENT examples) +INSTALL(TARGETS OneMaxLibEA RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson5 COMPONENT examples) ###################################################################################### diff --git a/eo/tutorial/Lesson6/CMakeLists.txt b/eo/tutorial/Lesson6/CMakeLists.txt index 8cc0b1010..8614165b5 100644 --- a/eo/tutorial/Lesson6/CMakeLists.txt +++ b/eo/tutorial/Lesson6/CMakeLists.txt @@ -45,7 +45,7 @@ TARGET_LINK_LIBRARIES(RealPSO eo eoutils) ### 6) Configure project installation paths ###################################################################################### -INSTALL(TARGETS BinaryPSO RUNTIME DESTINATION share/eo/examples/Lesson6 COMPONENT examples) -INSTALL(TARGETS RealPSO RUNTIME DESTINATION share/eo/examples/Lesson6 COMPONENT examples) +INSTALL(TARGETS BinaryPSO RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson6 COMPONENT examples) +INSTALL(TARGETS RealPSO RUNTIME DESTINATION local/share${INSTALL_SUB_DIR}/eo/examples/Lesson6 COMPONENT examples) ######################################################################################