1- cmake_minimum_required (VERSION 3.10 )
1+ cmake_minimum_required (VERSION 3.19 )
22
3- cmake_policy (VERSION 3.10 ...3.14 )
3+ cmake_policy (VERSION 3.19 ...3.23 )
44
55if (DEFINED ENV{SOURCE_DATE_EPOCH})
66 set (SOURCE_DATE_EPOCH "$ENV{SOURCE_DATE_EPOCH} " )
@@ -104,11 +104,11 @@ if(DEFINED CMAKE_BUILD_TYPE AND "${CMAKE_BUILD_TYPE}" MATCHES "[Rr][Ee][Ll]")
104104 if (CMAKE_Fortran_COMPILER_ID MATCHES "GNU" )
105105 set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fno-working-directory" )
106106 endif ()
107- set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fdebug-prefix-map=${CMAKE_SOURCE_DIR} =." )
107+ set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fdebug-prefix-map=\" ${CMAKE_SOURCE_DIR} \" =." )
108108 if (CMAKE_C_COMPILER_ID MATCHES "GNU" )
109109 set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-working-directory" )
110110 endif ()
111- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdebug-prefix-map=${CMAKE_SOURCE_DIR} =." )
111+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdebug-prefix-map=\" ${CMAKE_SOURCE_DIR} \" =." )
112112endif ()
113113
114114message ( STATUS "Building OpenCoarrays version: ${full_git_describe} " )
@@ -139,6 +139,9 @@ endif()
139139if (NOT CMAKE_REQUIRED_FLAGS)
140140 set (CMAKE_REQUIRED_FLAGS "" )
141141endif ()
142+ if (NOT CMAKE_REQUIRED_DEFINITIONS)
143+ set (CMAKE_REQUIRED_DEFINITIONS "" )
144+ endif ()
142145if (NOT CMAKE_REQUIRED_LIBRARIES)
143146 set (CMAKE_REQUIRED_LIBRARIES "" )
144147endif ()
@@ -204,6 +207,9 @@ endif()
204207
205208if (CMAKE_BUILD_TYPE MATCHES "Debug|DEBUG|debug" )
206209 add_definitions (-DEXTRA_DEBUG_OUTPUT)
210+ set (IMPI_BUILD debug)
211+ else ()
212+ set (IMPI_BUILD release)
207213endif ()
208214
209215 # We have populated CMAKE_Fortran_COMPILER_VERSION if it was missing
@@ -234,7 +240,7 @@ endif()
234240
235241if (gfortran_compiler)
236242 set (OLD_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS} )
237- set (CMAKE_REQUIRED_FLAGS $<$<COMPILE_LANGUAGE:Fortran>: -fcoarray=single -ffree-form> )
243+ set (CMAKE_REQUIRED_FLAGS -fcoarray=single)
238244endif ()
239245include (CheckFortranSourceCompiles)
240246CHECK_Fortran_SOURCE_COMPILES("
@@ -243,7 +249,8 @@ CHECK_Fortran_SOURCE_COMPILES("
243249 integer :: i
244250 i = this_image()
245251 end program
246- " Check_Simple_Coarray_Fortran_Source_Compiles)
252+ " Check_Simple_Coarray_Fortran_Source_Compiles
253+ SRC_EXT F90)
247254if (gfortran_compiler)
248255 set (CMAKE_REQUIRED_FLAGS ${OLD_REQUIRED_FLAGS} )
249256 unset (OLD_REQUIRED_FLAGS)
@@ -273,102 +280,137 @@ if (C_COMPILER_NAME MATCHES "^[mM][pP][iI]")
273280 set (MPI_C_COMPILER "${CMAKE_C_COMPILER} " )
274281endif ()
275282
283+ if (WIN32 ) # Only support building with GCC & GFortran using Intel MPI (OneAPI)
284+ # Here we assume Intel ONEAPI and the environment is loaded
285+ set ( MPI_ASSUME_NO_BUILTIN_MPI TRUE )
286+ set ( MPI_CXX_SKIP_MPICXX TRUE )
287+ cmake_path(SET MPI_ROOT NORMALIZE "$ENV{I_MPI_ROOT} " )
288+ set (IMPI_LIB_DIR "${MPI_ROOT} /lib/${IMPI_BUILD} " )
289+ set (IMPI_DLL_DIR "${MPI_ROOT} /bin/${IMPI_BUILD} " )
290+
291+ find_library (IMPI_LIB
292+ "impi.lib"
293+ HINTS "${IMPI_LIB_DIR} "
294+ DOC "Location of the Intel MPI impi.lib file"
295+ REQUIRED
296+ NO_DEFAULT_PATH)
297+
298+ find_file (IMPI_DLL
299+ "impi.dll"
300+ HINTS "${IMPI_DLL_DIR} "
301+ DOC "Location of the Intel MPI impi.dll file"
302+ REQUIRED
303+ NO_DEFAULT_PATH)
304+
305+
306+ set ( MPI_C_LIBRARIES ${IMPI_LIB} ;${IMPI_DLL} CACHE FILEPATH "MPI C libs to link" )
307+ set ( MPI_C_LIB_NAMES impi CACHE FILEPATH "MPI lib names" )
308+ set ( MPI_Fortran_LIBRARIES ${IMPI_LIB} ;${IMPI_DLL} CACHE FILEPATH "MPI Fortran libs to link" )
309+ set ( MPI_Fortran_LIB_NAMES impi CACHE FILEPATH "MPI Fortran lib names" )
310+ set ( MPI_impi_LIBRARY ${IMPI_LIB} CACHE FILEPATH "MPI lib to link" )
311+
312+ set (MPI_Fortran_HAVE_F90_MODULE FALSE )
313+ set (MPI_Fortran_HAVE_F08_MODULE FALSE )
314+
315+ endif ()
276316find_package ( MPI )
277317
278- if ( (NOT MPI_C_FOUND) OR (NOT MPI_Fortran_FOUND) OR (NOT MPIEXEC ))
318+ if ( (NOT MPI_C_FOUND) OR (NOT MPI_Fortran_FOUND) OR (NOT MPIEXEC_EXECUTABLE ))
279319 # Get default install location of MPICH from install.sh
280320 message (WARNING "Could not find all MPI components!" )
281321 message (WARNING "
282322MPI_C_FOUND = ${MPI_C_FOUND}
283323MPI_Fortran_FOUND = ${MPI_Fortran_FOUND}
284- MPIEXEC = ${MPIEXEC }
324+ MPIEXEC_EXECUTABLE = ${MPIEXEC_EXECUTABLE }
285325" )
286326 execute_process ( COMMAND "./install.sh" -P mpich
287327 WORKING_DIRECTORY "${CMAKE_SOURCE_DIR} "
288328 OUTPUT_VARIABLE DEFAULT_MPICH_INSTALL_LOC
289329 OUTPUT_QUIET
290- OUTPUT_STRIP_TRAILING_WHITESPACE
291- )
330+ OUTPUT_STRIP_TRAILING_WHITESPACE)
292331 find_program (MY_MPI_EXEC NAMES mpirun mpiexec lamexec srun
293332 PATHS "${DEFAULT_MPICH_INSTALL_LOC} " ENV PATH
294333 HINTS "${FTN_COMPILER_DIR} " "${C_COMPILER_DIR} "
295334 PATH_SUFFIXES bin)
296335 set ( MPI_HOME "${MPI_HOME} " "${MY_MPI_EXEC} " "${MY_MPI_EXEC} /.." )
297336 find_package ( MPI REQUIRED )
298337endif ()
299- list (REMOVE_DUPLICATES MPI_Fortran_INCLUDE_PATH )
338+ list (REMOVE_DUPLICATES MPI_Fortran_INCLUDE_DIRS )
300339
301- # Test for consistent MPI environment
302- if (NOT MPIEXEC )
340+ # Test for consistent MPI environment but not on windows
341+ if (NOT MPIEXEC_EXECUTABLE )
303342 message ( ERROR "CMake failed to find `mpiexec` or similar. If building with `./install.sh` please
304343report this bug to the OpenCoarrays developers at
305344https://github.com/sourceryinstitute/opencoarrays/issues, otherwise point CMake
306345to the desired MPI runtime." )
307346else ()
308347 add_definitions (-DHAVE_MPI)
309348endif ()
310-
311- get_filename_component (MPIEXEC_RELATIVE_LOC "${MPIEXEC } "
312- PROGRAM )
313- get_filename_component (MPIEXEC_ABS_LOC "${MPIEXEC_RELATIVE_LOC} "
314- REALPATH)
315- get_filename_component (MPIEXEC_DIR "${MPIEXEC_ABS_LOC} "
316- DIRECTORY )
317-
318- get_filename_component (MPICC_RELATIVE_LOC "${MPI_C_COMPILER} "
319- PROGRAM )
320- get_filename_component (MPICC_ABS_LOC "${MPICC_RELATIVE_LOC} "
321- REALPATH)
322- get_filename_component (MPICC_DIR "${MPICC_ABS_LOC} "
323- DIRECTORY )
324-
325- get_filename_component (MPIFC_RELATIVE_LOC "${MPI_Fortran_COMPILER} "
326- PROGRAM )
327- get_filename_component (MPIFC_ABS_LOC "${MPIFC_RELATIVE_LOC} "
328- REALPATH)
329- get_filename_component (MPIFC_DIR "${MPIFC_ABS_LOC} "
330- DIRECTORY )
331-
332- if ((MPIEXEC_DIR STREQUAL MPICC_DIR) AND (MPIEXEC_DIR STREQUAL MPIFC_DIR))
333- message ( STATUS "MPI runtime and compile time environments appear to be consistent" )
334- else ()
335- message ( WARNING "MPIEXEC is in \" ${MPIEXEC_DIR} ,\"
349+ if ( NOT WIN32 )
350+ get_filename_component (MPIEXEC_RELATIVE_LOC "${MPIEXEC_EXECUTABLE } "
351+ PROGRAM )
352+ get_filename_component (MPIEXEC_ABS_LOC "${MPIEXEC_RELATIVE_LOC} "
353+ REALPATH)
354+ get_filename_component (MPIEXEC_DIR "${MPIEXEC_ABS_LOC} "
355+ DIRECTORY )
356+
357+ get_filename_component (MPICC_RELATIVE_LOC "${MPI_C_COMPILER} "
358+ PROGRAM )
359+ get_filename_component (MPICC_ABS_LOC "${MPICC_RELATIVE_LOC} "
360+ REALPATH)
361+ get_filename_component (MPICC_DIR "${MPICC_ABS_LOC} "
362+ DIRECTORY )
363+
364+ get_filename_component (MPIFC_RELATIVE_LOC "${MPI_Fortran_COMPILER} "
365+ PROGRAM )
366+ get_filename_component (MPIFC_ABS_LOC "${MPIFC_RELATIVE_LOC} "
367+ REALPATH)
368+ get_filename_component (MPIFC_DIR "${MPIFC_ABS_LOC} "
369+ DIRECTORY )
370+
371+ if ((MPIEXEC_DIR STREQUAL MPICC_DIR) AND (MPIEXEC_DIR STREQUAL MPIFC_DIR))
372+ message ( STATUS "MPI runtime and compile time environments appear to be consistent" )
373+ else ()
374+ message ( WARNING "MPIEXEC is in \" ${MPIEXEC_DIR} ,\"
336375which differs from the location of MPICC and/or MPIFC which are in
337376\" ${MPICC_DIR} \" and \" ${MPIFC_DIR} ,\" respectively.
338377This is likely indicative of a problem. If building with `./install.sh` please report
339378this to the OpenCoarrays developers by filing a new issue at:
340379https://github.com/sourceryinstitute/OpenCoarrays/issues/new" )
341- endif ()
380+ endif ()
342381
343- #-----------------------------------------------
344- # Work around bug #317 present on fedora systems
345- #-----------------------------------------------
346- if ( (MPI_C_LINK_FLAGS MATCHES "noexecstack" ) OR (MPI_Fortran_LINK_FLAGS MATCHES "noexecstack" ) )
347- message ( WARNING
348- "The `noexecstack` linker flag was found in the MPI_<lang>_LINK_FLAGS variable. This is
382+ #-----------------------------------------------
383+ # Work around bug #317 present on fedora systems
384+ #-----------------------------------------------
385+ if ( (MPI_C_LINK_FLAGS MATCHES "noexecstack" ) OR (MPI_Fortran_LINK_FLAGS MATCHES "noexecstack" ) )
386+ message ( WARNING
387+ "The `noexecstack` linker flag was found in the MPI_<lang>_LINK_FLAGS variable. This is
349388known to cause segmentation faults for some Fortran codes. See, e.g.,
350389https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71729 or
351390https://github.com/sourceryinstitute/OpenCoarrays/issues/317.
352391
353392`noexecstack` is being replaced with `execstack`"
354- )
355- string (REPLACE "noexecstack"
356- "execstack" MPI_C_LINK_FLAGS_FIXED ${MPI_C_LINK_FLAGS} )
357- string (REPLACE "noexecstack"
358- "execstack" MPI_Fortran_LINK_FLAGS_FIXED ${MPI_Fortran_LINK_FLAGS} )
359- set (MPI_C_LINK_FLAGS "${MPI_C_LINK_FLAGS_FIXED} " CACHE STRING
360- "MPI C linking flags" FORCE)
361- set (MPI_Fortran_LINK_FLAGS "${MPI_Fortran_LINK_FLAGS_FIXED} " CACHE STRING
362- "MPI Fortran linking flags" FORCE)
393+ )
394+ string (REPLACE "noexecstack"
395+ "execstack" MPI_C_LINK_FLAGS_FIXED ${MPI_C_LINK_FLAGS} )
396+ string (REPLACE "noexecstack"
397+ "execstack" MPI_Fortran_LINK_FLAGS_FIXED ${MPI_Fortran_LINK_FLAGS} )
398+ set (MPI_C_LINK_FLAGS "${MPI_C_LINK_FLAGS_FIXED} " CACHE STRING
399+ "MPI C linking flags" FORCE)
400+ set (MPI_Fortran_LINK_FLAGS "${MPI_Fortran_LINK_FLAGS_FIXED} " CACHE STRING
401+ "MPI Fortran linking flags" FORCE)
402+ endif ()
363403endif ()
364404
365405#--------------------------------------------------------
366406# Make sure a simple "hello world" C mpi program compiles
367407#--------------------------------------------------------
368408set (OLD_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS} )
369- set (CMAKE_REQUIRED_FLAGS ${MPI_C_COMPILE_FLAGS} ${MPI_C_LINK_FLAGS} )
409+ set (CMAKE_REQUIRED_FLAGS ${MPI_C_COMPILE_OPTIONS} ${MPI_C_LINK_FLAGS} )
410+ set (OLD_REQUIRED_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} )
411+ set (CMAKE_REQUIRED_DEFINITIONS ${MPI_C_COMPILE_DEFINITIONS} )
370412set (OLD_INCLUDES ${CMAKE_REQUIRED_INCLUDES} )
371- set (CMAKE_REQUIRED_INCLUDES ${MPI_C_INCLUDE_PATH } )
413+ set (CMAKE_REQUIRED_INCLUDES ${MPI_C_INCLUDE_DIRS } )
372414set (OLD_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} )
373415set (CMAKE_REQUIRED_LIBRARIES ${MPI_C_LIBRARIES} )
374416include (CheckCSourceCompiles)
@@ -390,6 +432,7 @@ int main(int argc, char** argv) {
390432}"
391433MPI_C_COMPILES)
392434set (CMAKE_REQUIRED_FLAGS ${OLD_REQUIRED_FLAGS} )
435+ set (CMAKE_REQUIRED_DEFINITIONS ${OLD_REQUIRED_DEFINITIONS} )
393436set (CMAKE_REQUIRED_INCLUDES ${OLD_INCLUDES} )
394437set (CMAKE_REQUIRED_LIBRARIES ${OLD_LIBRARIES} )
395438unset (OLD_REQUIRED_FLAGS)
@@ -409,9 +452,11 @@ endif()
409452# Try using mpi.mod first then fall back on includ 'mpif.h'
410453#--------------------------------------------------------------
411454set (OLD_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS} )
412- set (CMAKE_REQUIRED_FLAGS "-ffree-form" ${MPI_Fortran_COMPILE_FLAGS} ${MPI_Fortran_LINK_FLAGS} )
455+ set (CMAKE_REQUIRED_FLAGS "-ffree-form" ${MPI_Fortran_COMPILE_OPTIONS} ${MPI_Fortran_LINK_FLAGS} )
456+ set (OLD_REQUIRED_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} )
457+ set (CMAKE_REQUIRED_DEFINITIONS ${MPI_Fortran_COMPILE_DEFINITIONS} )
413458set (OLD_INCLUDES ${CMAKE_REQUIRED_INCLUDES} )
414- set (CMAKE_REQUIRED_INCLUDES ${MPI_Fortran_INCLUDE_PATH } )
459+ set (CMAKE_REQUIRED_INCLUDES ${MPI_Fortran_INCLUDE_DIRS } )
415460set (OLD_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} )
416461set (CMAKE_REQUIRED_LIBRARIES ${MPI_Fortran_LIBRARIES} )
417462include (CheckFortranSourceCompiles)
@@ -431,6 +476,7 @@ end program
431476"
432477MPI_Fortran_MODULE_COMPILES)
433478set (CMAKE_REQUIRED_FLAGS ${OLD_REQUIRED_FLAGS} )
479+ set (CMAKE_REQUIRED_DEFINITIONS ${OLD_REQUIRED_DEFINITIONS} )
434480set (CMAKE_REQUIRED_INCLUDES ${OLD_INCLUDES} )
435481set (CMAKE_REQUIRED_LIBRARIES ${OLD_LIBRARIES} )
436482unset (OLD_REQUIRED_FLAGS)
@@ -441,9 +487,11 @@ unset(OLD_LIBRARIES)
441487# If that failed try using mpif.h
442488#--------------------------------
443489set (OLD_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS} )
444- set (CMAKE_REQUIRED_FLAGS "-ffree-form" ${MPI_Fortran_COMPILE_FLAGS} ${MPI_Fortran_LINK_FLAGS} )
490+ set (CMAKE_REQUIRED_FLAGS "-ffree-form" ${MPI_Fortran_COMPILE_OPTIONS} ${MPI_Fortran_LINK_FLAGS} )
491+ set (OLD_REQUIRED_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} )
492+ set (CMAKE_REQUIRED_DEFINITIONS ${MPI_Fortra_COMPILE_DEFINITIONS} )
445493set (OLD_INCLUDES ${CMAKE_REQUIRED_INCLUDES} )
446- set (CMAKE_REQUIRED_INCLUDES ${MPI_Fortran_INCLUDE_PATH } )
494+ set (CMAKE_REQUIRED_INCLUDES ${MPI_Fortran_INCLUDE_DIRS } )
447495set (OLD_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} )
448496set (CMAKE_REQUIRED_LIBRARIES ${MPI_Fortran_LIBRARIES} )
449497include (CheckFortranSourceCompiles)
@@ -463,6 +511,7 @@ end program
463511"
464512 MPI_Fortran_INCLUDE_COMPILES)
465513set (CMAKE_REQUIRED_FLAGS ${OLD_REQUIRED_FLAGS} )
514+ set (CMAKE_REQUIRED_DEFINITIONS ${OLD_REQUIRED_DEFINITIONS} )
466515set (CMAKE_REQUIRED_INCLUDES ${OLD_INCLUDES} )
467516set (CMAKE_REQUIRED_LIBRARIES ${OLD_LIBRARIES} )
468517unset (OLD_REQUIRED_FLAGS)
@@ -487,26 +536,6 @@ else()
487536 )
488537endif ()
489538
490- #----------------
491- # Setup MPI flags
492- #----------------
493- if (NOT CMAKE_C_COMPILE_FLAGS)
494- set (CMAKE_C_COMPILE_FLAGS "" )
495- endif ()
496- if (NOT CMAKE_C_LINK_FLAGS)
497- set (CMAKE_C_LINK_FLAGS "" )
498- endif ()
499- if (NOT CMAKE_Fortran_COMPILE_FLAGS)
500- set (CMAKE_Fortran_COMPILE_FLAGS "" )
501- endif ()
502- if (NOT CMAKE_Fortran_LINK_FLAGS)
503- set (CMAKE_Fortran_LINK_FLAGS "" )
504- endif ()
505- set (CMAKE_C_COMPILE_FLAGS "${CMAKE_C_COMPILE_FLAGS} ${MPI_C_COMPILE_FLAGS} " )
506- set (CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} ${MPI_C_LINK_FLAGS} " )
507- set (CMAKE_Fortran_COMPILE_FLAGS "${CMAKE_Fortran_COMPILE_FLAGS} ${MPI_Fortran_COMPILE_FLAGS} " )
508- set (CMAKE_Fortran_LINK_FLAGS "${CMAKE_Fortran_LINK_FLAGS} ${MPI_Fortran_LINK_FLAGS} " )
509-
510539#---------------------------------------------------
511540# Use standardized GNU install directory conventions
512541#---------------------------------------------------
@@ -531,9 +560,13 @@ if(APPLE)
531560 find_program (CODESIGN codesign)
532561endif ()
533562
563+ # We need bash, even on windows, for now at least. A light version like Git-Bash works best,
564+ # WSL dumps you into your home directory and there's nothing you can do about it.
565+ find_program (BASH_EXECUTABLE bash
566+ REQUIRED)
534567function (caf_compile_executable target main_depend)
535568 set (includes "" )
536- foreach (includedir ${MPI_Fortran_INCLUDE_PATH } )
569+ foreach (includedir ${MPI_Fortran_INCLUDE_DIRS } )
537570 list (APPEND includes "-I${includedir} " )
538571 endforeach ()
539572 string (TOUPPER "${CMAKE_BUILD_TYPE} " build_type )
@@ -544,7 +577,7 @@ function(caf_compile_executable target main_depend)
544577 list (APPEND localDefs "-D${d} " )
545578 endforeach ()
546579 add_custom_command (OUTPUT "${target} "
547- COMMAND "${CMAKE_BINARY_DIR} /${CMAKE_INSTALL_BINDIR} /caf"
580+ COMMAND "${BASH_EXECUTABLE} " " ${ CMAKE_BINARY_DIR} /${CMAKE_INSTALL_BINDIR} /caf"
548581 ${includes} ${localDefs} ${config_Fortran_flags}
549582 -o "${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /${target} "
550583 "${CMAKE_CURRENT_SOURCE_DIR} /${main_depend} "
@@ -588,10 +621,11 @@ endfunction()
588621#-----------------------------------------------
589622
590623find_program (style_pl style.pl "${CMAKE_SOURCE_DIR} /developer-scripts/" )
624+ find_package (Perl)
591625function (check_script_style script_full_path)
592- if (style_pl)
626+ if (style_pl AND PERL_FOUND )
593627 add_test (NAME "style:${script_full_path} "
594- COMMAND "${style_pl} " "${script_full_path} " )
628+ COMMAND "${PERL_EXECUTABLE} " " ${ style_pl} " "${script_full_path} " )
595629 endif ()
596630endfunction ()
597631
@@ -703,9 +737,9 @@ function(add_caf_test name num_caf_img test_target)
703737 endif ()
704738 set (test_parameters -np ${num_caf_img} ${test_parameters} )
705739 if (DEFINED ARGN)
706- add_test (NAME ${name} COMMAND "bash " "${CMAKE_BINARY_DIR} /${CMAKE_INSTALL_BINDIR} /cafrun" ${test_parameters} "${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /${test_target} " ${ARGN} )
740+ add_test (NAME ${name} COMMAND "${BASH_EXECUTABLE} " "${CMAKE_BINARY_DIR} /${CMAKE_INSTALL_BINDIR} /cafrun" ${test_parameters} "${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /${test_target} " ${ARGN} )
707741 else ()
708- add_test (NAME ${name} COMMAND "bash " "${CMAKE_BINARY_DIR} /${CMAKE_INSTALL_BINDIR} /cafrun" ${test_parameters} "${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /${test_target} " )
742+ add_test (NAME ${name} COMMAND "${BASH_EXECUTABLE} " "${CMAKE_BINARY_DIR} /${CMAKE_INSTALL_BINDIR} /cafrun" ${test_parameters} "${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /${test_target} " )
709743 endif ()
710744 set_property (TEST ${name} PROPERTY PASS_REGULAR_EXPRESSION "Test passed." )
711745endfunction (add_caf_test)
0 commit comments