diff --git a/HySoP/CMake/InstallPackage.cmake b/HySoP/CMake/InstallPackage.cmake index 5449de9143a571950a9bd6c0c629e63969115d3a..11a46f8b35389705c9eb2338c69517d14e22f4c3 100644 --- a/HySoP/CMake/InstallPackage.cmake +++ b/HySoP/CMake/InstallPackage.cmake @@ -6,7 +6,7 @@ #=========================================================== macro(install_package _PACK _LIB_NAME _HEADERSLIST) - + set(_HEADERS ${${_HEADERSLIST}}) # Offer the user the choice of overriding the installation directories diff --git a/HySoP/CMakeLists.txt b/HySoP/CMakeLists.txt index f8455d9c18c5d3c4be63279a201f837e49111e56..e5371c46016a6e5eb54599c078803009325381db 100644 --- a/HySoP/CMakeLists.txt +++ b/HySoP/CMakeLists.txt @@ -63,6 +63,8 @@ endif(WITH_TESTS) # We search for libraries Parmes depends on and # set the compile/link conf (-I and -L opt) +# --- MPI --- + #Install dir for python (default = --user) execute_process( COMMAND python -c "import site ; print site.USER_SITE" @@ -72,11 +74,21 @@ set(CMAKE_INSTALL_PREFIX ${${PROJECT_NAME}_INSTALL_DIR}/${PROJECT_NAME}) set(PARMES_LIBRARY_NAME parmes) set(PACKAGE_NAME Parmes) +if(USE_MPI) + # Find MPI for C++ and fortran. + find_package(MPI REQUIRED) + # -I + include_directories(${MPI_Fortran_INCLUDE_PATH}) + # Add compilation flags + set(${PARMES_LIBRARY_NAME}_LINK_FLAGS ${${PARMES_LIBRARY_NAME}_LINK_FLAGS} ${MPI_Fortran_LINK_FLAGS}) + # -I + # Add compilation flags + append_Fortran_flags(${MPI_Fortran_COMPILE_FLAGS}) + #set(${PARMES_LIBRARY_NAME}_LINK_FLAGS ${${PARMES_LIBRARY_NAME}_LINK_FLAGS} ${MPI_Fortran_LINK_FLAGS}) + set(LIBS ${LIBS} ${MPI_Fortran_LIBRARIES} ) +endif(USE_MPI) add_subdirectory(src) -display(FFTWLIB) - - # ============= Generates setup.py ============= # The file setup.py will be generated from setup.py.in. if(EXISTS ${CMAKE_SOURCE_DIR}/setup.py.in) diff --git a/HySoP/setup.py.in b/HySoP/setup.py.in index 8da1883c4615032abec684962a67384d61416a9e..dcd31e5a4bdf7a1f1eb847baa68dc40015199460 100644 --- a/HySoP/setup.py.in +++ b/HySoP/setup.py.in @@ -22,17 +22,12 @@ packages = ['parmepy', 'parmepy.particular_solvers', 'parmepy.tools'] # 'examples'] -# 'new_ParMePy', -# 'new_ParMePy/Domain', -# 'new_ParMePy/Operator', -# 'new_ParMePy/Problem', -# 'new_ParMePy/Utils', -# 'new_ParMePy/Variable'] - # Enable this to get debug info # DISTUTILS_DEBUG=1 -parmes_dir = ['@CMAKE_BINARY_DIR@/Modules'] +inc_dir = '@MPI_Fortran_INCLUDE_PATH@'.split(';') +parmes_dir = '@CMAKE_BINARY_DIR@/Modules' +inc_dir.append(parmes_dir) parmes_libdir = ['@CMAKE_BINARY_DIR@/src'] parmeslib = ['@PARMES_LIBRARY_NAME@'] f2py_options = ['--no-lower'] @@ -41,7 +36,7 @@ scales_src = glob.glob('@CMAKE_SOURCE_DIR@/parmepy/scales2py/*.f90') scalesModule = Extension(name='parmepy.scales2py', f2py_options=f2py_options, sources=scales_src, - include_dirs=parmes_dir, + include_dirs=inc_dir, library_dirs=parmes_libdir, libraries=parmeslib, define_macros=[('F2PY_REPORT_ON_ARRAY_COPY', '1')]) @@ -52,7 +47,7 @@ test_src = glob.glob('@CMAKE_SOURCE_DIR@/parmepy/testf2py/*.f90') testf2pyModule = Extension(name='parmepy.testf2py', f2py_options=f2py_options, sources=test_src, - include_dirs=parmes_dir, + include_dirs=inc_dir, library_dirs=parmes_libdir, libraries=parmeslib, define_macros=[('F2PY_REPORT_ON_ARRAY_COPY', '1')]) @@ -62,7 +57,7 @@ ext_modules.append(testf2pyModule) withfftw = "@WITH_FFTW@" if(withfftw is "ON"): - fortran_src = glob.glob('@CMAKE_SOURCE_DIR@/parmepy/parmesfftw2py/*.f90') + fortran_src = glob.glob('@CMAKE_SOURCE_DIR@/parmepy/fftw2py/*.f90') fftwdir = '@FFTWLIB@' fftwdir = os.path.split(fftwdir)[0] parmeslib.append('fftw3') @@ -71,7 +66,7 @@ if(withfftw is "ON"): parpyModule = Extension(name='parmepy.fftw2py', f2py_options=f2py_options, sources=fortran_src, - include_dirs=parmes_dir, + include_dirs=inc_dir, library_dirs=parmes_libdir, libraries=parmeslib, define_macros=[('F2PY_REPORT_ON_ARRAY_COPY', '1')]) diff --git a/HySoP/src/CMakeLists.txt b/HySoP/src/CMakeLists.txt index b7385e1d6e9d807112db1522767fb19270239efc..1d9ccf943a8f50226f41e349e1b2dfd037eccd01 100644 --- a/HySoP/src/CMakeLists.txt +++ b/HySoP/src/CMakeLists.txt @@ -71,21 +71,6 @@ set(CMAKE_Fortran_MODULE_DIRECTORY ${CMAKE_BINARY_DIR}/Modules) # Add compilation flags: append_Fortran_FLAGS("-Wall -fPIC") -# --- MPI --- -if(USE_MPI) - # Find MPI for C++ and fortran. - find_package(MPI REQUIRED) - # -I - include_directories(${MPI_Fortran_INCLUDE_PATH}) - # Add compilation flags - set(${PARMES_LIBRARY_NAME}_LINK_FLAGS ${${PARMES_LIBRARY_NAME}_LINK_FLAGS} ${MPI_Fortran_LINK_FLAGS}) - # -I - # Add compilation flags - append_Fortran_flags(${MPI_Fortran_COMPILE_FLAGS}) - #set(${PARMES_LIBRARY_NAME}_LINK_FLAGS ${${PARMES_LIBRARY_NAME}_LINK_FLAGS} ${MPI_Fortran_LINK_FLAGS}) - set(LIBS ${LIBS} ${MPI_Fortran_LIBRARIES} ) -endif(USE_MPI) - # --- PPM --- if(WITH_PPM) add_subdirectory(ppmInterface) diff --git a/HySoP/src/main/main.f90 b/HySoP/src/main/main.f90 index 2d75a8941afd0f5dfcdc25e920136a5e18790926..19c904b98e03efd1695fff02217464764fb760ee 100755 --- a/HySoP/src/main/main.f90 +++ b/HySoP/src/main/main.f90 @@ -2,7 +2,6 @@ program mainParmes use client_data -use advec implicit none @@ -16,7 +15,6 @@ call MPI_COMM_SIZE(MPI_COMM_WORLD,nbprocs,info) print *, "hello ..." -!!call toto(4) call MPI_Finalize(info)