-# Copyright 2021-2022. The SimGrid Team. All rights reserved.
+# Copyright 2021-2022. The SimGrid Team. All rights reserved.
# Integrates the MBI tests into the SimGrid build chain when asked to
# Only the python scripts are embeeded in the archive, and the C test files are generated at config time using these scripts.
# These python scripts are copied over from the MBI repository with as little changes as possible.
-set(generator_scripts CollMatchingGenerator.py) # More generators to come
+set(generator_scripts
+ CollArgGenerator.py
+ CollComGenerator.py
+ CollLocalConcurrencyGenerator.py
+ CollMatchingGenerator.py
+ CollP2PMatchingGenerator.py
+ CollP2PMessageRaceGenerator.py
+ CollTopoGenerator.py
+ MissingWaitandStartGenerator.py
+ P2PArgGenerator.py
+ P2PComGenerator.py
+ P2PInvalidComGenerator.py
+ P2PLocalConcurrencyGenerator.py
+ P2PMatchingANYSRCGenerator.py
+ P2PMatchingGenerator.py
+ P2PProbeGenerator.py
+ ResleakGenerator.py
+ RMAArgGenerator.py
+ RMAInvalidArgGenerator.py
+ RMALocalLocalConcurrencyGenerator.py
+ # RMAP2PGlobalConcurrencyGenerator.py
+ RMARemoteLocalConcurrencyGenerator.py
+ RMARemoteRemoteConcurrencyGenerator.py
+ RMAReqLifecycleGenerator.py
+ RMAWinBufferGenerator.py)
if (enable_smpi_MBI_testsuite)
if (NOT enable_smpi)
file(GLOB cfiles RELATIVE ${CMAKE_BINARY_DIR}/MBI/tmp ${CMAKE_BINARY_DIR}/MBI/tmp/*.c )
foreach(cfile ${cfiles})
- # Copy the generated files only if different
- file(COPY_FILE ${CMAKE_BINARY_DIR}/MBI/tmp/${cfile} ${CMAKE_BINARY_DIR}/MBI/${cfile} ONLY_IF_DIFFERENT)
+ # Copy the generated files only if different (needs cmake ≥ 3.21)
+ if (CMAKE_VERSION VERSION_LESS 3.21)
+ file(COPY ${CMAKE_BINARY_DIR}/MBI/tmp/${cfile} DESTINATION ${CMAKE_BINARY_DIR}/MBI/)
+ else()
+ file(COPY_FILE ${CMAKE_BINARY_DIR}/MBI/tmp/${cfile} ${CMAKE_BINARY_DIR}/MBI/${cfile} ONLY_IF_DIFFERENT)
+ endif()
string(REGEX REPLACE "[.]c" "" basefile ${cfile})
-
+
# Generate an executable for each of them
add_executable(mbi_${basefile} EXCLUDE_FROM_ALL ${CMAKE_BINARY_DIR}/MBI/${cfile})
target_link_libraries(mbi_${basefile} simgrid)
SET_TESTS_PROPERTIES(mbi-${basefile} PROPERTIES DEPENDS mbi-${basefile})
SET_TESTS_PROPERTIES(mbi-${basefile} PROPERTIES DEPENDS simgrid-mc)
endforeach()
+ file(REMOVE_RECURSE ${CMAKE_BINARY_DIR}/MBI/tmp) # Clean temp files
if("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_HOME_DIRECTORY}")
else()
- file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/MBIutils.py DESTINATION ${CMAKE_BINARY_DIR}/MBI)
+ file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/MBIutils.py DESTINATION ${CMAKE_BINARY_DIR}/MBI)
endif()
endif()
${CMAKE_CURRENT_SOURCE_DIR}/MBI.py
${CMAKE_CURRENT_SOURCE_DIR}/MBIutils.py
${CMAKE_CURRENT_SOURCE_DIR}/simgrid.py
- PARENT_SCOPE)
\ No newline at end of file
+ PARENT_SCOPE)