Skip to content

Commit 9a88287

Browse files
committed
Replace strings in generator expressions by lists
The function target_compile_options in combination with generator expressions does not handle strings with space separated compiler flags and inserts quotes. Also MPI_<lang>_COMPILE_FLAGS is deprecated since cmake 3.10 and should be replaced by MPI_<lang>_COMPILE_OPRIONS and MPI_<lang>_COMPILE_DEFINITIONS. Those variables are already lists of compiler flags and thus well suited to solve the bug. This fixes the build error described in issue #676 when using MPICH, which is the same error as described in issue #704. Signed-off-by: Elias Lettl <[email protected]>
1 parent 964360c commit 9a88287

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/mpi/CMakeLists.txt

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ set_target_properties(opencoarrays_mod
2222
Fortran_MODULE_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}/${mod_dir_tail}"
2323
POSITION_INDEPENDENT_CODE TRUE)
2424
target_compile_options(opencoarrays_mod
25-
PRIVATE $<$<COMPILE_LANGUAGE:Fortran>:${MPI_Fortran_COMPILE_FLAGS}>)
25+
PRIVATE $<$<COMPILE_LANGUAGE:Fortran>:${MPI_Fortran_COMPILE_OPTIONS}>)
26+
target_compile_definitions(opencoarrays_mod
27+
PRIVATE $<$<COMPILE_LANGUAGE:Fortran>:${MPI_Fortran_COMPILE_DEFINITIONS}>)
2628
target_link_libraries(opencoarrays_mod
2729
PUBLIC ${MPI_Fortran_LINK_FLAGS}
2830
PUBLIC ${MPI_Fortran_LIBRARIES})
@@ -53,9 +55,13 @@ target_include_directories(caf_mpi_static PUBLIC
5355
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src>
5456
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
5557
target_compile_options(caf_mpi
56-
PUBLIC $<$<COMPILE_LANGUAGE:C>:${MPI_C_COMPILE_FLAGS}>)
58+
PUBLIC $<$<COMPILE_LANGUAGE:C>:${MPI_C_COMPILE_OPTIONS}>)
59+
target_compile_definitions(caf_mpi
60+
PUBLIC $<$<COMPILE_LANGUAGE:C>:${MPI_C_COMPILE_DEFINITIONS}>)
5761
target_compile_options(caf_mpi_static
58-
PUBLIC $<$<COMPILE_LANGUAGE:C>:${MPI_C_COMPILE_FLAGS}>)
62+
PUBLIC $<$<COMPILE_LANGUAGE:C>:${MPI_C_COMPILE_OPTIONS}>)
63+
target_compile_definitions(caf_mpi_static
64+
PUBLIC $<$<COMPILE_LANGUAGE:C>:${MPI_C_COMPILE_DEFINITIONS}>)
5965

6066
set(CAF_SO_VERSION 0)
6167
if(gfortran_compiler)

0 commit comments

Comments
 (0)