Skip to content
Snippets Groups Projects
Commit 781a4383 authored by Markus Blatt's avatar Markus Blatt
Browse files

Simplify code by using set_property with APPEND flag.

[[Imported from SVN: r6910]]
parent 8fb0013b
No related branches found
No related tags found
No related merge requests found
......@@ -46,19 +46,23 @@ if(MPI_FOUND)
endif(MPI_FOUND)
# adds MPI flags to the targets
function(add_dune_mpi_flags _targets)
function(add_dune_mpi_flags)
cmake_parse_arguments(ADD_MPI "SOURCE_ONLY" "" "" ${ARGN})
message("ADD_MPI_UNPARSED_ARGUMENTS=${ADD_MPI_UNPARSED_ARGUMENTS}")
if(ADD_MPI_SOURCE_ONLY)
set(_prefix SOURCE)
else()
set(_prefix TARGET)
endif()
if(MPI_FOUND)
foreach(_target ${_targets})
target_link_libraries(${_target} ${MPI_DUNE_LIBRARIES})
# The definitions are a hack as we do not seem to know which MPI implementation was
# found.
GET_TARGET_PROPERTY(_props ${_target} COMPILE_FLAGS)
string(REPLACE "_props-NOTFOUND" "" _props "${_props}")
SET_TARGET_PROPERTIES(${_target} PROPERTIES COMPILE_FLAGS
"${_props} ${MPI_DUNE_COMPILE_FLAGS} -DENABLE_MPI=1 -DMPICH_SKIP_MPICXX -DMPIPP_H")
GET_TARGET_PROPERTY(_props ${_target} LINK_FLAGS)
string(REPLACE "_props-NOTFOUND" "" _props "${_props}")
SET_TARGET_PROPERTIES(${_target} PROPERTIES LINK_FLAGS "${_props} ${MPI_DUNE_LINK_FLAGS}")
endforeach(_target ${_targets})
set_property(${_prefix} ${ADD_MPI_UNPARSED_ARGUMENTS} APPEND PROPERTY COMPILE_FLAGS ${MPI_DUNE_COMPILE_FLAGS})
set_property(${_prefix} ${ADD_MPI_UNPARSED_ARGUMENTS} APPEND PROPERTY COMPILE_DEFINITIONS ENABLE_MPI=1
MPICH_SKIP_MPICXX MPIPP_H)
if(NOT ADD_MPI_SOURCE_ONLY)
set_property(${_prefix} ${ADD_MPI_UNPARSED_ARGUMENTS} APPEND PROPERTY LINK_FLAGS ${MPI_DUNE_LINK_FLAGS})
foreach(target ${ADD_MPI_UNPARSED_ARGUMENTS})
target_link_libraries(${target} ${MPI_DUNE_LIBRARIES})
endforeach(target ${ADD_MPI_UNPARSED_ARGUMENTS})
endif(NOT ADD_MPI_SOURCE_ONLY)
endif(MPI_FOUND)
endfunction(add_dune_mpi_flags)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment