Skip to content

Commit

Permalink
Merge pull request #16 from rikigigi/devel
Browse files Browse the repository at this point in the history
added MPI detector in cmake
  • Loading branch information
rikigigi authored Mar 8, 2022
2 parents ef4307e + a6dfbf4 commit 824e364
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 9 deletions.
27 changes: 20 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
project(analisi)
include(CheckIncludeFileCXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.9)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
message(STATUS "No build type specified: assuming RELEASE build.")
Expand All @@ -24,6 +24,13 @@ if (NOT BUILD_MMAP AND BUILD_TESTS)
message(FATAL_ERROR "tests are implemented only if BUILD_MMAP is ON")
endif()

if ( USE_MPI )

find_package(MPI REQUIRED)
message(STATUS "MPI FOUND:")
message(STATUS " Run: ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_PREFLAGS} EXECUTABLE ${MPIEXEC_POSTFLAGS} ARGS")

endif()

################################################################################
# Linux specific configuration
Expand Down Expand Up @@ -216,18 +223,24 @@ endif()

add_library(${PROJECT_NAME}_lib STATIC ${ANALISI_LIB})
target_include_directories(${PROJECT_NAME}_lib PUBLIC lib/include )
if ( USE_MPI )
target_link_libraries(${PROJECT_NAME}_lib PUBLIC MPI::MPI_CXX)
endif()
set_property(TARGET ${PROJECT_NAME}_lib PROPERTY POSITION_INDEPENDENT_CODE ON)
set_property(TARGET ${PROJECT_NAME}_lib PROPERTY CXX_STANDARD 17)

set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
target_link_libraries(${PROJECT_NAME}_lib PUBLIC Threads::Threads ${LRT})
if (BUILD_MMAP)
add_executable(${PROJECT_NAME}
analisi/main.cpp
)
target_link_libraries(${PROJECT_NAME} ${PROJECT_NAME}_lib)
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17)
add_executable(${PROJECT_NAME}
analisi/main.cpp
)
target_link_libraries(${PROJECT_NAME} PUBLIC ${PROJECT_NAME}_lib)
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17)
if ( USE_MPI )
target_link_libraries(${PROJECT_NAME} PUBLIC MPI::MPI_CXX)
endif()
endif()

## test suite
Expand Down Expand Up @@ -278,7 +291,7 @@ else()
endif()

if (BUILD_MMAP)
target_link_libraries(${PROJECT_NAME} boost_program_options "${FFTW}" "${FFTW_MT}" "${XDR_FILE}" ${LTR})
target_link_libraries(${PROJECT_NAME} PUBLIC boost_program_options "${FFTW}" "${FFTW_MT}" "${XDR_FILE}" ${LTR})
endif()
target_link_libraries(${PROJECT_NAME}_lib PRIVATE "${FFTW}" "${FFTW_MT}" "${XDR_FILE}")
add_definitions(-DANALISI -DDEBUG)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ Documentation build:
```
mkdir build
cd build
cmake ../ -DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_C_COMPILER=mpicc -DUSE_MPI=ON
cmake ../ -DUSE_MPI=ON
make
```
## non-MPI build (shame on you!)
Expand Down
Binary file modified README.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion README_.md
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ Documentation build:
```
mkdir build
cd build
cmake ../ -DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_C_COMPILER=mpicc -DUSE_MPI=ON
cmake ../ -DUSE_MPI=ON
make
```
## non-MPI build (shame on you!)
Expand Down

0 comments on commit 824e364

Please sign in to comment.