From ffd6b79a304fc3dc050db57b41fda51c11b3a658 Mon Sep 17 00:00:00 2001
From: Guillaume Pasero <guillaume.pasero@c-s.fr>
Date: Fri, 5 Apr 2019 11:25:32 +0200
Subject: [PATCH] BUG: don't use implementation specific mpi options in sources

---
 CI/configure_option.cmake                     | 3 ++-
 CMake/OTBModuleTest.cmake                     | 2 +-
 CMake/OTBStandaloneModuleMacros.cmake         | 2 +-
 Modules/MPI/MPIConfig/test/CMakeLists.txt     | 1 -
 Modules/MPI/MPITiffWriter/test/CMakeLists.txt | 1 -
 Modules/MPI/MPIVrtWriter/test/CMakeLists.txt  | 1 -
 Modules/ThirdParty/MPI/otb-module-init.cmake  | 2 ++
 7 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/CI/configure_option.cmake b/CI/configure_option.cmake
index 29bc8ab709..26502b11bf 100644
--- a/CI/configure_option.cmake
+++ b/CI/configure_option.cmake
@@ -51,7 +51,8 @@ OTB_USE_QWT:BOOL=ON
 OTB_USE_SHARK:BOOL=ON
 OTB_USE_SIFTFAST:BOOL=ON
 OTB_USE_SPTW:BOOL=ON
-OTB_USE_SSE_FLAGS:BOOL=ON")
+OTB_USE_SSE_FLAGS:BOOL=ON
+OTB_MPIEXEC_OPT:STRING=--allow-run-as-root")
 
 set (otb_wrap_option
 "OTB_WRAP_JAVA:BOOL=ON
diff --git a/CMake/OTBModuleTest.cmake b/CMake/OTBModuleTest.cmake
index 88ae223931..c1402718ec 100644
--- a/CMake/OTBModuleTest.cmake
+++ b/CMake/OTBModuleTest.cmake
@@ -235,6 +235,6 @@ function(otb_add_test_mpi)
    foreach(arg IN LISTS TEST_MPI_UNPARSED_ARGUMENTS)
      list(APPEND ARGS ${arg})
    endforeach()
-   set (test_parameters -np ${TEST_MPI_NBPROCS} ${TEST_MPI_EXTRA_OPT} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${TEST_MPI_COMMAND} ${ARGS})
+   set (test_parameters -n ${TEST_MPI_NBPROCS} ${OTB_MPIEXEC_OPT} ${TEST_MPI_EXTRA_OPT} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${TEST_MPI_COMMAND} ${ARGS})
    otb_add_test(NAME ${TEST_MPI_NAME} COMMAND ${MPIEXEC} ${test_parameters})
 endfunction()
diff --git a/CMake/OTBStandaloneModuleMacros.cmake b/CMake/OTBStandaloneModuleMacros.cmake
index b882c3d7ce..e877a15ceb 100644
--- a/CMake/OTBStandaloneModuleMacros.cmake
+++ b/CMake/OTBStandaloneModuleMacros.cmake
@@ -112,7 +112,7 @@ function(otb_add_test_mpi)
    foreach(arg IN LISTS TEST_MPI_UNPARSED_ARGUMENTS)
      list(APPEND ARGS ${arg})
    endforeach()
-   set (test_parameters -np ${TEST_MPI_NBPROCS} ${TEST_MPI_EXTRA_OPT} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${TEST_MPI_COMMAND} ${ARGS})
+   set (test_parameters -n ${TEST_MPI_NBPROCS} ${OTB_MPIEXEC_OPT} ${TEST_MPI_EXTRA_OPT} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${TEST_MPI_COMMAND} ${ARGS})
    otb_add_test(NAME ${TEST_MPI_NAME} COMMAND ${MPIEXEC} ${test_parameters})
 endfunction()
 
diff --git a/Modules/MPI/MPIConfig/test/CMakeLists.txt b/Modules/MPI/MPIConfig/test/CMakeLists.txt
index 56b495fdf6..4051cd1a10 100644
--- a/Modules/MPI/MPIConfig/test/CMakeLists.txt
+++ b/Modules/MPI/MPIConfig/test/CMakeLists.txt
@@ -35,5 +35,4 @@ otb_module_target_label(otbMPIConfigTestDriver)
 # MPI Hello test
 otb_add_test_mpi(NAME otbMPIConfigTest
    NBPROCS 2
-   EXTRA_OPT --allow-run-as-root
    COMMAND otbMPIConfigTestDriver otbMPIConfigTest )
diff --git a/Modules/MPI/MPITiffWriter/test/CMakeLists.txt b/Modules/MPI/MPITiffWriter/test/CMakeLists.txt
index 53461c4b6a..d9a078b9e0 100644
--- a/Modules/MPI/MPITiffWriter/test/CMakeLists.txt
+++ b/Modules/MPI/MPITiffWriter/test/CMakeLists.txt
@@ -37,7 +37,6 @@ otb_module_target_label(otbMPITiffWriterTestDriver)
 
 otb_add_test_mpi(NAME otbMPISPTWReadWriteTest
   NBPROCS 2
-  EXTRA_OPT --allow-run-as-root
   COMMAND otbMPITiffWriterTestDriver
   --compare-image ${NOTOL}
   ${INPUTDATA}/ToulouseQuickBird_Extrait_1500_3750.tif
diff --git a/Modules/MPI/MPIVrtWriter/test/CMakeLists.txt b/Modules/MPI/MPIVrtWriter/test/CMakeLists.txt
index 0fae82bdf6..6e725b0d81 100644
--- a/Modules/MPI/MPIVrtWriter/test/CMakeLists.txt
+++ b/Modules/MPI/MPIVrtWriter/test/CMakeLists.txt
@@ -35,7 +35,6 @@ otb_module_target_label(otbMPIVrtWriterTestDriver)
 # MPI Hello test
 otb_add_test_mpi(NAME otbMPIVrtWriterTest
    NBPROCS 2
-   EXTRA_OPT --allow-run-as-root
    COMMAND otbMPIVrtWriterTestDriver
    --compare-image ${NOTOL}
    ${INPUTDATA}/ToulouseQuickBird_Extrait_1500_3750.tif
diff --git a/Modules/ThirdParty/MPI/otb-module-init.cmake b/Modules/ThirdParty/MPI/otb-module-init.cmake
index 6d4f3673db..39665d6ad4 100644
--- a/Modules/ThirdParty/MPI/otb-module-init.cmake
+++ b/Modules/ThirdParty/MPI/otb-module-init.cmake
@@ -19,3 +19,5 @@
 #
 
 find_package ( MPI REQUIRED )
+
+set(OTB_MPIEXEC_OPT "" CACHE STRING "Additional options for mpiexec tests")
-- 
GitLab