From a4f5fd80129321d22f48fe3fb8888c9d480ac081 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Tue, 17 Jun 2014 09:38:11 +0200 Subject: [PATCH 1/6] Moving out ./eo/src/mpi/ content -> ./eompi/src/ --- {eo/src/mpi => eompi/src}/CMakeLists.txt | 0 {eo/src/mpi => eompi/src}/eoMpi.cpp | 0 {eo/src/mpi => eompi/src}/eoMpi.h | 0 {eo/src/mpi => eompi/src}/eoMpiAssignmentAlgorithm.cpp | 0 {eo/src/mpi => eompi/src}/eoMpiAssignmentAlgorithm.h | 0 {eo/src/mpi => eompi/src}/eoMpiNode.cpp | 0 {eo/src/mpi => eompi/src}/eoMpiNode.h | 0 {eo/src/mpi => eompi/src}/eoMultiStart.h | 0 {eo/src/mpi => eompi/src}/eoParallelApply.h | 0 {eo/src/mpi => eompi/src}/eoTerminateJob.h | 0 {eo/src/mpi => eompi/src}/implMpi.cpp | 0 {eo/src/mpi => eompi/src}/implMpi.h | 0 12 files changed, 0 insertions(+), 0 deletions(-) rename {eo/src/mpi => eompi/src}/CMakeLists.txt (100%) rename {eo/src/mpi => eompi/src}/eoMpi.cpp (100%) rename {eo/src/mpi => eompi/src}/eoMpi.h (100%) rename {eo/src/mpi => eompi/src}/eoMpiAssignmentAlgorithm.cpp (100%) rename {eo/src/mpi => eompi/src}/eoMpiAssignmentAlgorithm.h (100%) rename {eo/src/mpi => eompi/src}/eoMpiNode.cpp (100%) rename {eo/src/mpi => eompi/src}/eoMpiNode.h (100%) rename {eo/src/mpi => eompi/src}/eoMultiStart.h (100%) rename {eo/src/mpi => eompi/src}/eoParallelApply.h (100%) rename {eo/src/mpi => eompi/src}/eoTerminateJob.h (100%) rename {eo/src/mpi => eompi/src}/implMpi.cpp (100%) rename {eo/src/mpi => eompi/src}/implMpi.h (100%) diff --git a/eo/src/mpi/CMakeLists.txt b/eompi/src/CMakeLists.txt similarity index 100% rename from eo/src/mpi/CMakeLists.txt rename to eompi/src/CMakeLists.txt diff --git a/eo/src/mpi/eoMpi.cpp b/eompi/src/eoMpi.cpp similarity index 100% rename from eo/src/mpi/eoMpi.cpp rename to eompi/src/eoMpi.cpp diff --git a/eo/src/mpi/eoMpi.h b/eompi/src/eoMpi.h similarity index 100% rename from eo/src/mpi/eoMpi.h rename to eompi/src/eoMpi.h diff --git a/eo/src/mpi/eoMpiAssignmentAlgorithm.cpp b/eompi/src/eoMpiAssignmentAlgorithm.cpp similarity index 100% rename from eo/src/mpi/eoMpiAssignmentAlgorithm.cpp rename to eompi/src/eoMpiAssignmentAlgorithm.cpp diff --git a/eo/src/mpi/eoMpiAssignmentAlgorithm.h b/eompi/src/eoMpiAssignmentAlgorithm.h similarity index 100% rename from eo/src/mpi/eoMpiAssignmentAlgorithm.h rename to eompi/src/eoMpiAssignmentAlgorithm.h diff --git a/eo/src/mpi/eoMpiNode.cpp b/eompi/src/eoMpiNode.cpp similarity index 100% rename from eo/src/mpi/eoMpiNode.cpp rename to eompi/src/eoMpiNode.cpp diff --git a/eo/src/mpi/eoMpiNode.h b/eompi/src/eoMpiNode.h similarity index 100% rename from eo/src/mpi/eoMpiNode.h rename to eompi/src/eoMpiNode.h diff --git a/eo/src/mpi/eoMultiStart.h b/eompi/src/eoMultiStart.h similarity index 100% rename from eo/src/mpi/eoMultiStart.h rename to eompi/src/eoMultiStart.h diff --git a/eo/src/mpi/eoParallelApply.h b/eompi/src/eoParallelApply.h similarity index 100% rename from eo/src/mpi/eoParallelApply.h rename to eompi/src/eoParallelApply.h diff --git a/eo/src/mpi/eoTerminateJob.h b/eompi/src/eoTerminateJob.h similarity index 100% rename from eo/src/mpi/eoTerminateJob.h rename to eompi/src/eoTerminateJob.h diff --git a/eo/src/mpi/implMpi.cpp b/eompi/src/implMpi.cpp similarity index 100% rename from eo/src/mpi/implMpi.cpp rename to eompi/src/implMpi.cpp diff --git a/eo/src/mpi/implMpi.h b/eompi/src/implMpi.h similarity index 100% rename from eo/src/mpi/implMpi.h rename to eompi/src/implMpi.h From 58b00ede5f7ab974c61eb919545ef263a130d3be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Tue, 17 Jun 2014 09:41:01 +0200 Subject: [PATCH 2/6] Add a new CMakeLists.txt file for eompi compilation. --- eompi/CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 eompi/CMakeLists.txt diff --git a/eompi/CMakeLists.txt b/eompi/CMakeLists.txt new file mode 100644 index 000000000..d1a7e3d87 --- /dev/null +++ b/eompi/CMakeLists.txt @@ -0,0 +1,5 @@ +###################################################################################### +### Include subdirectories +###################################################################################### +#add_subdirectory(doc) +add_subdirectory(src) \ No newline at end of file From 7f88653b1eeaec0e7639838dae221d2729eb5132 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Tue, 17 Jun 2014 14:47:20 +0200 Subject: [PATCH 3/6] Redefine paths to the module sources and the module library and rename "mpi" module into "eompi". --- CMakeLists.txt | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f279e5a3e..c658a286c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -56,24 +56,25 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Target.cmake) ###################################################################################### ## Paths to sources of modules -set( EO_SRC_DIR "${CMAKE_SOURCE_DIR}/eo" CACHE INTERNAL "ParadisEO-EO source directory" FORCE) -set( EDO_SRC_DIR "${CMAKE_SOURCE_DIR}/edo" CACHE INTERNAL "ParadisEO-EDO source directory" FORCE) -set( MO_SRC_DIR "${CMAKE_SOURCE_DIR}/mo" CACHE INTERNAL "ParadisEO-MO source directory" FORCE) -set(MOEO_SRC_DIR "${CMAKE_SOURCE_DIR}/moeo" CACHE INTERNAL "ParadisEO-MOEO source directory" FORCE) -set( SMP_SRC_DIR "${CMAKE_SOURCE_DIR}/smp" CACHE INTERNAL "ParadisEO-SMP source directory" FORCE) -set( MPI_SRC_DIR "${CMAKE_SOURCE_DIR}/eo/src/mpi" CACHE INTERNAL "ParadisEO-MPI source directory" FORCE) +set( EO_SRC_DIR "${CMAKE_SOURCE_DIR}/eo" CACHE INTERNAL "ParadisEO-EO source directory" FORCE) +set( EDO_SRC_DIR "${CMAKE_SOURCE_DIR}/edo" CACHE INTERNAL "ParadisEO-EDO source directory" FORCE) +set( MO_SRC_DIR "${CMAKE_SOURCE_DIR}/mo" CACHE INTERNAL "ParadisEO-MO source directory" FORCE) +set( MOEO_SRC_DIR "${CMAKE_SOURCE_DIR}/moeo" CACHE INTERNAL "ParadisEO-MOEO source directory" FORCE) +set( SMP_SRC_DIR "${CMAKE_SOURCE_DIR}/smp" CACHE INTERNAL "ParadisEO-SMP source directory" FORCE) +set(EOMPI_SRC_DIR "${CMAKE_SOURCE_DIR}/eompi" CACHE INTERNAL "ParadisEO-EOMPI source directory" FORCE) + set(PROBLEMS_SRC_DIR "${CMAKE_SOURCE_DIR}/problems" CACHE INTERNAL "Problems dependant source directory" FORCE) set(CMAKE_BASE_SOURCE_DIR ${CMAKE_SOURCE_DIR}) # All libraries are built in /lib/ -set( EO_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-EO binary directory" FORCE) -set( EDO_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-EDO binary directory" FORCE) -set( MO_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-MO binary directory" FORCE) -set(MOEO_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-MOEO binary directory" FORCE) -set( SMP_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-SMP binary directory" FORCE) -set( MPI_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-MPI binary directory" FORCE) +set( EO_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-EO binary directory" FORCE) +set( EDO_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-EDO binary directory" FORCE) +set( MO_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-MO binary directory" FORCE) +set( MOEO_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-MOEO binary directory" FORCE) +set( SMP_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-SMP binary directory" FORCE) +set(EOMPI_BIN_DIR "${CMAKE_BINARY_DIR}" CACHE INTERNAL "ParadisEO-EOMPI binary directory" FORCE) set(EO_ONLY "false" CACHE BOOL "Only build EO and not the other modules") @@ -82,7 +83,7 @@ set(ENABLE_GNUPLOT "false" CACHE BOOL "Build EO with the GNUplot support (real-t set(EDO "false" CACHE BOOL "Build the EDO module") set(EDO_USE_LIB "Eigen3" CACHE STRING "Which linear algebra library to use to build EDO ('UBlas' or 'Eigen3', Eigen3 is recommended)") set(SMP "false" CACHE BOOL "Build the SMP module") -set(MPI "false" CACHE BOOL "Build the MPI module") +set(EOMPI "false" CACHE BOOL "Build the MPI module") ## EO Module set(EO_MODULE_NAME "Evolving Object") @@ -114,14 +115,14 @@ if(NOT EO_ONLY) add_subdirectory(${SMP_SRC_DIR}) endif() - ## MPI Module - if(MPI) + ## EOMPI Module + if(EOMPI) find_package(MPI REQUIRED) add_definitions(-DWITH_MPI) set(CMAKE_CXX_COMPILE_FLAGS ${CMAKE_CXX_COMPILE_FLAGS} ${MPI_COMPILE_FLAGS}) set(CMAKE_CXX_LINK_FLAGS ${CMAKE_CXX_LINK_FLAGS} ${MPI_LINK_FLAGS}) - include_directories(${MPI_INCLUDE_PATH}) - add_subdirectory(${MPI_SRC_DIR}) + include_directories(${EOMPI_INCLUDE_PATH}) + add_subdirectory(${EOMPI_SRC_DIR}) endif() endif() From 0b6a519aafb77c0375c579615a6182e815f2c013 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Tue, 17 Jun 2014 14:52:11 +0200 Subject: [PATCH 4/6] Add EOMPI component into cmake/module/FindParadiseo.cmake --- cmake/module/FindParadiseo.cmake | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/cmake/module/FindParadiseo.cmake b/cmake/module/FindParadiseo.cmake index 59b85a864..fd7b1d4ac 100644 --- a/cmake/module/FindParadiseo.cmake +++ b/cmake/module/FindParadiseo.cmake @@ -21,6 +21,7 @@ # - moeo # - smp # - peo +# - eompi # You can use find_package(Paradiseo COMPONENTS ... ) to enable one or several components. If you not specifie component, all components will be load except SMP for compatibility reasons. # # Output @@ -81,14 +82,19 @@ foreach(COMP ${PARADISEO_LIBRARIES_TO_FIND}) PATHS ${PARADISEO_SRC_PATHS}) elseif(${COMP} STREQUAL "peo") set(PEO_FOUND true) - find_path(EDO_INCLUDE_DIR edo - PATH_SUFFIXES include${INSTALL_SUB_DIR}/edo edo/src + find_path(EDO_INCLUDE_DIR peo + PATH_SUFFIXES include${INSTALL_SUB_DIR}/peo peo/src PATHS ${PARADISEO_SRC_PATHS}) elseif(${COMP} STREQUAL "edo") set(EDO_FOUND true) find_path(EDO_INCLUDE_DIR peo PATH_SUFFIXES include${INSTALL_SUB_DIR}/peo peo/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 + PATHS ${PARADISEO_SRC_PATHS}) endif() endforeach() @@ -102,6 +108,10 @@ if(PEO_FOUND) set(PARADISEO_INCLUDE_DIR ${PARADISEO_INCLUDE_DIR} ${PEO_INCLUDE_DIR}) endif() +if(EOMPI_FOUND) + set(PARADISEO_INCLUDE_DIR ${PARADISEO_INCLUDE_DIR} ${EOMPI_INCLUDE_DIR}) +endif() + # find the requested modules set(PARADISEO_FOUND true) # will be set to false if one of the required modules is not found From b6ec15c91137be24e333a26a97db0fc94d6945c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Tue, 17 Jun 2014 14:53:23 +0200 Subject: [PATCH 5/6] Modifications on eompi/src/CMakeLists.txt file (module paths). --- eompi/src/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eompi/src/CMakeLists.txt b/eompi/src/CMakeLists.txt index ebf16335a..592672760 100644 --- a/eompi/src/CMakeLists.txt +++ b/eompi/src/CMakeLists.txt @@ -9,7 +9,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}) ### 2) Define the eompi target ###################################################################################### -set(EOMPI_LIB_OUTPUT_PATH ${EO_BIN_DIR}/lib) +set(EOMPI_LIB_OUTPUT_PATH ${EOMPI_BIN_DIR}/lib) set(LIBRARY_OUTPUT_PATH ${EOMPI_LIB_OUTPUT_PATH}) set(EOMPI_SOURCES @@ -23,7 +23,7 @@ add_library(eompi STATIC ${EOMPI_SOURCES}) install(TARGETS eompi ARCHIVE DESTINATION ${LIB} COMPONENT libraries) file(GLOB HDRS *.h) -install(FILES ${HDRS} DESTINATION include${INSTALL_SUB_DIR}/eo/mpi COMPONENT headers) +install(FILES ${HDRS} DESTINATION include${INSTALL_SUB_DIR}/eompi COMPONENT headers) ###################################################################################### ### 3) Optionnal From 95761470eb26d33c7b0f35d64940107fd4e376b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ad=C3=A8le=20Harrissart?= Date: Tue, 17 Jun 2014 15:07:19 +0200 Subject: [PATCH 6/6] Missing if condition for EOMPI module in cmake/module/FindParadiseo.cmake file --- cmake/module/FindParadiseo.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cmake/module/FindParadiseo.cmake b/cmake/module/FindParadiseo.cmake index fd7b1d4ac..d605b24e4 100644 --- a/cmake/module/FindParadiseo.cmake +++ b/cmake/module/FindParadiseo.cmake @@ -174,6 +174,9 @@ if(PARADISEO_FOUND) if(PEO_FOUND) message(${PEO_INCLUDE_DIR}) endif() + if(EOMPI_FOUND) + message(${EOMPI_INCLUDE_DIR}) + endif() else() # include directory or library not found message(FATAL_ERROR "Could NOT find ParadisEO (missing : ${FIND_PARADISEO_MISSING})")