* New tree configuration of the project:
.../
... + -- EO
| |
| |
+-- src ----- + -- EDO
| |
| |
+-- test + -- MO
| |
| |
+-- tutorial + -- MOEO
| |
| |
+-- doc + -- SMP
| |
| |
... + -- EOMPI
|
|
+ -- EOSERIAL
Question for current maintainers: ./README: new release?
Also:
* Moving out eompi & eoserial modules (issue #2).
* Correction of the errors when executing "make doc" command.
* Adding a solution for the conflicting headers problem (see the two CMake Cache
Values: PROJECT_TAG & PROJECT_HRS_INSTALL_SUBPATH) (issue #1)
* Header inclusions:
** src: changing absolute paths into relative paths ('#include <...>' -> '#include "..."')
** test, tutorial: changing relative paths into absolute paths ('#include "..."' -> '#include <...>')
* Moving out some scripts from EDO -> to the root
* Add a new script for compilation and installation (see build_gcc_linux_install)
* Compilation with uBLAS library or EDO module: now ok
* Minor modifications on README & INSTALL files
* Comment eompi failed tests with no end
*** TODO: CPack (debian (DEB) & RedHat (RPM) packages) (issues #6 & #7) ***
This commit is contained in:
parent
515bd5943d
commit
490e837f7a
2359 changed files with 7688 additions and 16329 deletions
13
cmake/Config.cmake
Normal file → Executable file
13
cmake/Config.cmake
Normal file → Executable file
|
|
@ -68,7 +68,7 @@ endif(PROFILING)
|
|||
######################################################################################
|
||||
### 3) Testing part
|
||||
######################################################################################
|
||||
|
||||
|
||||
if(ENABLE_CMAKE_TESTING)
|
||||
enable_testing()
|
||||
include(CTest REQUIRED)
|
||||
|
|
@ -85,8 +85,13 @@ set(ENABLE_CMAKE_EXAMPLE "true" CACHE BOOL "ParadisEO examples")
|
|||
######################################################################################
|
||||
|
||||
if(UNIX)
|
||||
set(INSTALL_SUB_DIR /paradiseo)
|
||||
set(PROJECT_TAG "paradiseo" CACHE STRING "Project name as installation prefix")
|
||||
|
||||
# Define the path where the project headers have to be installed and where they can be found (linker)
|
||||
set(PROJECT_HDRS_INSTALL_SUBPATH /include CACHE PATH "Install subpath towards the project header")
|
||||
set(PROJECT_HDRS_INSTALL_SUBPATH ${CMAKE_INSTALL_PREFIX}${PROJECT_HDRS_INSTALL_SUBPATH})
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
if (ENABLE_CMAKE_TESTING OR ENABLE_CMAKE_EXAMPLE)
|
||||
message("Warning: Please ensure that you have executed the 'sudo make install' command before asking the compilation of the tests or examples.")
|
||||
endif ()
|
||||
2
cmake/Macro.cmake
Normal file → Executable file
2
cmake/Macro.cmake
Normal file → Executable file
|
|
@ -30,7 +30,7 @@ macro(add_lesson module target files)
|
|||
elseif(${module} MATCHES smp)
|
||||
target_link_libraries(${i} smp eo eoutils)
|
||||
endif()
|
||||
install(TARGETS ${i} RUNTIME DESTINATION share${INSTALL_SUB_DIR}/${module}/tutorial/${target} COMPONENT examples)
|
||||
install(TARGETS ${i} RUNTIME DESTINATION share/${PROJECT_TAG}/${module}/tutorial/${target} COMPONENT examples)
|
||||
endforeach(i)
|
||||
|
||||
# Custom target
|
||||
|
|
|
|||
0
cmake/Package.cmake
Normal file → Executable file
0
cmake/Package.cmake
Normal file → Executable file
36
cmake/Target.cmake
Normal file → Executable file
36
cmake/Target.cmake
Normal file → Executable file
|
|
@ -11,27 +11,27 @@ endif(UNIX)
|
|||
######################################################################################
|
||||
|
||||
if(DOXYGEN_FOUND AND DOXYGEN_EXECUTABLE)
|
||||
add_custom_target(doc
|
||||
COMMAND make doc-eo)
|
||||
if(NOT EO_ONLY)
|
||||
if(EDO)
|
||||
add_dependencies(doc
|
||||
COMMAND make doc-edo)
|
||||
endif(EDO)
|
||||
if(MO)
|
||||
add_dependencies(doc
|
||||
COMMAND make doc-mo)
|
||||
endif(MO)
|
||||
if(MOEO)
|
||||
add_dependencies(doc
|
||||
COMMAND make doc-moeo)
|
||||
endif(MOEO)
|
||||
if(SMP)
|
||||
add_custom_target(doc
|
||||
COMMAND make doc-eo
|
||||
COMMAND make doc-edo
|
||||
COMMAND make doc-mo
|
||||
COMMAND make doc-moeo
|
||||
COMMAND make doc-smp
|
||||
)
|
||||
else()
|
||||
add_custom_target(doc
|
||||
COMMAND make doc-eo
|
||||
COMMAND make doc-edo
|
||||
COMMAND make doc-mo
|
||||
COMMAND make doc-moeo
|
||||
)
|
||||
add_dependencies(doc
|
||||
COMMAND make doc-smp)
|
||||
endif(SMP)
|
||||
else()
|
||||
add_custom_target(doc
|
||||
COMMAND make doc-eo
|
||||
)
|
||||
# no independent documentations for eompi, eoserial modules for the moment
|
||||
# maybe go check the eo module documentation
|
||||
endif(NOT EO_ONLY)
|
||||
endif(DOXYGEN_FOUND AND DOXYGEN_EXECUTABLE)
|
||||
|
||||
|
|
|
|||
100
cmake/module/FindEO.cmake
Executable file
100
cmake/module/FindEO.cmake
Executable file
|
|
@ -0,0 +1,100 @@
|
|||
# File: FindEO.cmake
|
||||
# CMAKE commands to actually use the EO library
|
||||
# Version: 0.0.1
|
||||
#
|
||||
# The following variables are filled out:
|
||||
# - EO_INCLUDE_DIRS
|
||||
# - EO_LIBRARY_DIRS
|
||||
# - EO_LIBRARIES
|
||||
# - EO_FOUND
|
||||
#
|
||||
# Here are the components:
|
||||
# - PyEO
|
||||
# - es
|
||||
# - ga
|
||||
# - cma
|
||||
#
|
||||
# You can use FIND_PACKAGE( EO COMPONENTS ... ) to enable one or several components.
|
||||
#
|
||||
|
||||
# Default enabled components
|
||||
SET(EO_LIBRARIES_TO_FIND eo eoutils)
|
||||
|
||||
# Use FIND_PACKAGE( EO COMPONENTS ... ) to enable modules
|
||||
IF(EO_FIND_COMPONENTS)
|
||||
FOREACH(component ${EO_FIND_COMPONENTS})
|
||||
STRING(TOUPPER ${component} _COMPONENT)
|
||||
SET(EO_USE_${_COMPONENT} 1)
|
||||
ENDFOREACH(component)
|
||||
|
||||
# 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)
|
||||
SET(EO_LIBRARIES_TO_FIND ${EO_LIBRARIES_TO_FIND} PyEO)
|
||||
ENDIF(NOT EO_USE_PYEO)
|
||||
|
||||
IF(NOT EO_USE_ES)
|
||||
SET(EO_DONT_USE_ES 1)
|
||||
ELSE(NOT EO_USE_ES)
|
||||
SET(EO_LIBRARIES_TO_FIND ${EO_LIBRARIES_TO_FIND} es)
|
||||
ENDIF(NOT EO_USE_ES)
|
||||
|
||||
IF(NOT EO_USE_GA)
|
||||
SET(EO_DONT_USE_GA 1)
|
||||
ELSE(NOT EO_USE_GA)
|
||||
SET(EO_LIBRARIES_TO_FIND ${EO_LIBRARIES_TO_FIND} ga)
|
||||
ENDIF(NOT EO_USE_GA)
|
||||
|
||||
IF(NOT EO_USE_CMA)
|
||||
SET(EO_DONT_USE_CMA 1)
|
||||
ELSE(NOT EO_USE_CMA)
|
||||
SET(EO_LIBRARIES_TO_FIND ${EO_LIBRARIES_TO_FIND} cma)
|
||||
ENDIF(NOT EO_USE_CMA)
|
||||
ENDIF(EO_FIND_COMPONENTS)
|
||||
|
||||
IF(NOT EO_INCLUDE_DIRS)
|
||||
FIND_PATH(
|
||||
EO_INCLUDE_DIRS
|
||||
EO.h
|
||||
PATHS
|
||||
/usr/include/eo
|
||||
/usr/local/include/eo
|
||||
)
|
||||
ENDIF(NOT EO_INCLUDE_DIRS)
|
||||
|
||||
IF(NOT EO_LIBRARY_DIRS)
|
||||
FIND_PATH(
|
||||
EO_LIBRARY_DIRS
|
||||
libeo.a
|
||||
PATHS
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
)
|
||||
ENDIF(NOT EO_LIBRARY_DIRS)
|
||||
|
||||
IF(NOT EO_LIBRARIES)
|
||||
SET(EO_LIBRARIES)
|
||||
FOREACH(component ${EO_LIBRARIES_TO_FIND})
|
||||
FIND_LIBRARY(
|
||||
EO_${component}_LIBRARY
|
||||
NAMES ${component}
|
||||
PATHS
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
)
|
||||
IF(EO_${component}_LIBRARY)
|
||||
SET(EO_LIBRARIES ${EO_LIBRARIES} ${EO_${component}_LIBRARY})
|
||||
ELSE(EO_${component}_LIBRARY)
|
||||
MESSAGE(FATAL_ERROR "${component} component not found.")
|
||||
ENDIF(EO_${component}_LIBRARY)
|
||||
ENDFOREACH(component)
|
||||
ENDIF(NOT 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)
|
||||
0
cmake/module/FindEigen3.cmake
Normal file → Executable file
0
cmake/module/FindEigen3.cmake
Normal file → Executable file
18
cmake/module/FindParadiseo.cmake
Normal file → Executable file
18
cmake/module/FindParadiseo.cmake
Normal file → Executable file
|
|
@ -35,7 +35,7 @@
|
|||
# target_link_libraries(examplep ${PARADISEO_LIBRARIES})
|
||||
|
||||
if(UNIX)
|
||||
set(INSTALL_SUB_DIR /paradiseo)
|
||||
set(PROJECT_TAG /paradiseo)
|
||||
endif()
|
||||
|
||||
# enabled components
|
||||
|
|
@ -63,19 +63,19 @@ set(PARADISEO_SRC_PATHS
|
|||
)
|
||||
|
||||
find_path(EO_INCLUDE_DIR eo
|
||||
PATH_SUFFIXES include${INSTALL_SUB_DIR}/eo eo/src
|
||||
PATH_SUFFIXES include/${PROJECT_TAG}/eo eo/src
|
||||
PATHS ${PARADISEO_SRC_PATHS})
|
||||
|
||||
find_path(MO_INCLUDE_DIR mo
|
||||
PATH_SUFFIXES include${INSTALL_SUB_DIR}/mo mo/src
|
||||
PATH_SUFFIXES include/${PROJECT_TAG}/mo mo/src
|
||||
PATHS ${PARADISEO_SRC_PATHS})
|
||||
|
||||
find_path(MOEO_INCLUDE_DIR moeo
|
||||
PATH_SUFFIXES include${INSTALL_SUB_DIR}/moeo moeo/src
|
||||
PATH_SUFFIXES include/${PROJECT_TAG}/moeo moeo/src
|
||||
PATHS ${PARADISEO_SRC_PATHS})
|
||||
|
||||
find_path(EOSERIAL_INCLUDE_DIR eoserial
|
||||
PATH_SUFFIXES include${INSTALL_SUB_DIR}/eoserial eoserial/src
|
||||
PATH_SUFFIXES include/${PROJECT_TAG}/eoserial eoserial/src
|
||||
PATHS ${PARADISEO_SRC_PATHS})
|
||||
|
||||
# Specific for SMP and PEO
|
||||
|
|
@ -83,22 +83,22 @@ foreach(COMP ${PARADISEO_LIBRARIES_TO_FIND})
|
|||
if(${COMP} STREQUAL "smp")
|
||||
set(SMP_FOUND true)
|
||||
find_path(SMP_INCLUDE_DIR smp
|
||||
PATH_SUFFIXES include${INSTALL_SUB_DIR}/smp smp/src
|
||||
PATH_SUFFIXES include/${PROJECT_TAG}/smp smp/src
|
||||
PATHS ${PARADISEO_SRC_PATHS})
|
||||
elseif(${COMP} STREQUAL "peo")
|
||||
set(PEO_FOUND true)
|
||||
find_path(PEO_INCLUDE_DIR peo
|
||||
PATH_SUFFIXES include${INSTALL_SUB_DIR}/peo peo/src
|
||||
PATH_SUFFIXES include/${PROJECT_TAG}/peo peo/src
|
||||
PATHS ${PARADISEO_SRC_PATHS})
|
||||
elseif(${COMP} STREQUAL "edo")
|
||||
set(EDO_FOUND true)
|
||||
find_path(EDO_INCLUDE_DIR edo
|
||||
PATH_SUFFIXES include${INSTALL_SUB_DIR}/edo edo/src
|
||||
PATH_SUFFIXES include/${PROJECT_TAG}/edo edo/src
|
||||
PATHS ${PARADISEO_SRC_PATHS})
|
||||
elseif(${COMP} STREQUAL "eompi")
|
||||
set(EOMPI_FOUND true)
|
||||
find_path(EOMPI_INCLUDE_DIR eompi
|
||||
PATH_SUFFIXES include${INSTALL_SUB_DIR}/eompi eompi/src
|
||||
PATH_SUFFIXES include/${PROJECT_TAG}/eompi eompi/src
|
||||
PATHS ${PARADISEO_SRC_PATHS})
|
||||
endif()
|
||||
endforeach()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue