X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FParaMEDMEMTest%2FCMakeLists.txt;h=b6813e2a519a32f6d131e46d48b0baab5499403f;hb=aafcf704892f03308a84407e898d9e8b19496a1c;hp=513031360fedcdf7dc6f355262594814c46caf58;hpb=940b3b9d5f3991f8c092990d67d1085bed81fa07;p=tools%2Fmedcoupling.git diff --git a/src/ParaMEDMEMTest/CMakeLists.txt b/src/ParaMEDMEMTest/CMakeLists.txt index 513031360..b6813e2a5 100644 --- a/src/ParaMEDMEMTest/CMakeLists.txt +++ b/src/ParaMEDMEMTest/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2015 CEA/DEN, EDF R&D +# Copyright (C) 2012-2022 CEA/DEN, EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -17,6 +17,8 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # +ADD_SUBDIRECTORY(MPIAccess) # maybe to delete one day ... + ADD_DEFINITIONS(${MPI_DEFINITIONS} ${CPPUNIT_DEFINITIONS}) INCLUDE_DIRECTORIES( @@ -24,10 +26,13 @@ INCLUDE_DIRECTORIES( ${CPPUNIT_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR}/../ParaMEDLoader ${CMAKE_CURRENT_SOURCE_DIR}/../ParaMEDMEM + ${CMAKE_CURRENT_SOURCE_DIR}/../ParaMEDMEM/MPIAccess ${CMAKE_CURRENT_SOURCE_DIR}/../MEDLoader ${CMAKE_CURRENT_SOURCE_DIR}/../MEDCoupling + ${CMAKE_CURRENT_SOURCE_DIR}/../ICoCo ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNEL/Bases + ${CMAKE_CURRENT_SOURCE_DIR}/../INTERP_KERNELTest # for TestIKUtils.hxx ) SET(ParaMEDMEMTest_SOURCES @@ -36,74 +41,41 @@ SET(ParaMEDMEMTest_SOURCES ParaMEDMEMTest_BlockTopology.cxx ParaMEDMEMTest_InterpKernelDEC.cxx ParaMEDMEMTest_StructuredCoincidentDEC.cxx - ParaMEDMEMTest_MEDLoader.cxx ParaMEDMEMTest_ICoco.cxx ParaMEDMEMTest_Gauthier1.cxx ParaMEDMEMTest_FabienAPI.cxx ParaMEDMEMTest_NonCoincidentDEC.cxx ParaMEDMEMTest_OverlapDEC.cxx - MPIAccessDECTest.cxx - test_AllToAllDEC.cxx - test_AllToAllvDEC.cxx - test_AllToAllTimeDEC.cxx - test_AllToAllvTimeDEC.cxx - test_AllToAllvTimeDoubleDEC.cxx - MPIAccessTest.cxx - test_MPI_Access_Send_Recv.cxx - test_MPI_Access_Cyclic_Send_Recv.cxx - test_MPI_Access_SendRecv.cxx - test_MPI_Access_ISend_IRecv.cxx - test_MPI_Access_Cyclic_ISend_IRecv.cxx - test_MPI_Access_ISendRecv.cxx - test_MPI_Access_Probe.cxx - test_MPI_Access_IProbe.cxx - test_MPI_Access_Cancel.cxx - test_MPI_Access_Send_Recv_Length.cxx - test_MPI_Access_ISend_IRecv_Length.cxx - test_MPI_Access_ISend_IRecv_Length_1.cxx - test_MPI_Access_Time.cxx - test_MPI_Access_Time_0.cxx - test_MPI_Access_ISend_IRecv_BottleNeck.cxx - ) +) -ADD_LIBRARY(ParaMEDMEMTest SHARED ${ParaMEDMEMTest_SOURCES}) +ADD_LIBRARY(ParaMEDMEMTest ${ParaMEDMEMTest_SOURCES}) SET_TARGET_PROPERTIES(ParaMEDMEMTest PROPERTIES COMPILE_FLAGS "") -TARGET_LINK_LIBRARIES(ParaMEDMEMTest paramedmem paramedloader ${CPPUNIT_LIBRARIES}) -INSTALL(TARGETS ParaMEDMEMTest DESTINATION ${SALOME_INSTALL_LIBS}) +TARGET_LINK_LIBRARIES(ParaMEDMEMTest paramedmem paramedloader medcouplingremapper InterpKernelTestUtils ${CPPUNIT_LIBRARIES}) +INSTALL(TARGETS ParaMEDMEMTest DESTINATION ${MEDCOUPLING_INSTALL_LIBS}) SET(TESTSParaMEDMEM) SET(TestParaMEDMEM_SOURCES TestParaMEDMEM.cxx ) -SET(TESTSParaMEDMEM ${TESTSParaMEDMEM} TestParaMEDMEM) - -SET(TestMPIAccessDEC_SOURCES - TestMPIAccessDEC.cxx - ) -SET(TESTSParaMEDMEM ${TESTSParaMEDMEM} TestMPIAccessDEC) - -SET(TestMPIAccess_SOURCES - TestMPIAccess.cxx - ) -SET(TESTSParaMEDMEM ${TESTSParaMEDMEM} TestMPIAccess) +LIST(APPEND TESTSParaMEDMEM TestParaMEDMEM) SET(test_perf_SOURCES test_perf.cxx ) -SET(TESTSParaMEDMEM ${TESTSParaMEDMEM} test_perf) +LIST(APPEND TESTSParaMEDMEM test_perf) IF(MPI2_IS_OK) SET(ParaMEDMEMTestMPI2_1_SOURCES MPI2Connector.cxx ParaMEDMEMTestMPI2_1.cxx ) - SET(TESTSParaMEDMEM ${TESTSParaMEDMEM} ParaMEDMEMTestMPI2_1) - + LIST(APPEND TESTSParaMEDMEM ParaMEDMEMTestMPI2_1) + SET(ParaMEDMEMTestMPI2_2_SOURCES MPI2Connector.cxx ParaMEDMEMTestMPI2_2.cxx ) - SET(TESTSParaMEDMEM ${TESTSParaMEDMEM} ParaMEDMEMTestMPI2_2) + LIST(APPEND TESTSParaMEDMEM ParaMEDMEMTestMPI2_2) ENDIF(MPI2_IS_OK) FOREACH(bintestparamem ${TESTSParaMEDMEM}) @@ -113,25 +85,38 @@ ENDFOREACH(bintestparamem ${TESTSParaMEDMEM}) # Now add CMake tests - test_perf, ParaMEDMEMTestMPI2_1 and ParaMEDMEMTestMPI2_2 # are left aside, as they are too specific -# -# -- some tests require 2, 3, 4 or 5 procs -- -ADD_TEST(NAME TestParaMEDMEM_Proc2 COMMAND ${MPIEXEC} -np 2 $) -ADD_TEST(NAME TestParaMEDMEM_Proc3 COMMAND ${MPIEXEC} -np 3 $) -ADD_TEST(NAME TestParaMEDMEM_Proc4 COMMAND ${MPIEXEC} -np 4 $) -ADD_TEST(NAME TestParaMEDMEM_Proc5 COMMAND ${MPIEXEC} -np 5 $) +# +SALOME_GENERATE_TESTS_ENVIRONMENT(tests_env) -ADD_TEST(NAME TestMPIAccess_Proc2 COMMAND ${MPIEXEC} -np 2 $) -ADD_TEST(NAME TestMPIAccess_Proc3 COMMAND ${MPIEXEC} -np 3 $) +# -- some tests require 2, 3, 4 or 5 procs -- +# MPICH does not support --oversubscribe: +IF(NOT ${MPIEXEC_EXECUTABLE} MATCHES "mpich") + SET(_oversub_opt "--oversubscribe") +ENDIF() -ADD_TEST(NAME TestMPIAccessDEC_Proc4 COMMAND ${MPIEXEC} -np 4 $) +ADD_TEST(NAME TestParaMEDMEM_Proc2 COMMAND ${MPIEXEC} -np 2 ${_oversub_opt} $) +SET_TESTS_PROPERTIES(TestParaMEDMEM_Proc2 PROPERTIES ENVIRONMENT "${tests_env}") +ADD_TEST(NAME TestParaMEDMEM_Proc3 COMMAND ${MPIEXEC} -np 3 ${_oversub_opt} $) +SET_TESTS_PROPERTIES(TestParaMEDMEM_Proc3 PROPERTIES ENVIRONMENT "${tests_env}") +ADD_TEST(NAME TestParaMEDMEM_Proc4 COMMAND ${MPIEXEC} -np 4 ${_oversub_opt} $) +SET_TESTS_PROPERTIES(TestParaMEDMEM_Proc4 PROPERTIES ENVIRONMENT "${tests_env}") +ADD_TEST(NAME TestParaMEDMEM_Proc5 COMMAND ${MPIEXEC} -np 5 ${_oversub_opt} $) +SET_TESTS_PROPERTIES(TestParaMEDMEM_Proc5 PROPERTIES ENVIRONMENT "${tests_env}") # Installation rules -INSTALL(TARGETS ${TESTSParaMEDMEM} DESTINATION ${SALOME_INSTALL_BINS}) +INSTALL(TARGETS ${TESTSParaMEDMEM} DESTINATION ${MEDCOUPLING_INSTALL_BINS}) SET(COMMON_HEADERS_HXX MPIMainTest.hxx - MPIAccessDECTest.hxx - MPIAccessTest.hxx ParaMEDMEMTest.hxx MPI2Connector.hxx ) -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${MEDCOUPLING_INSTALL_HEADERS}) + +# Application tests + +SET(TEST_INSTALL_DIRECTORY ${MEDCOUPLING_INSTALL_TESTS}/ParaMEDMEMTest) +INSTALL(TARGETS ${TESTSParaMEDMEM} DESTINATION ${TEST_INSTALL_DIRECTORY}) + +# export MPIEXEC and _oversub_opt to CTestTestfile.cmake of salome test mechanism +CONFIGURE_FILE(CTestTestfileInstall.cmake.in "CTestTestfileST.cmake" @ONLY) +INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/CTestTestfileST.cmake DESTINATION ${TEST_INSTALL_DIRECTORY} RENAME CTestTestfile.cmake)