if (enable_gtnets OR enable_ns3)
enable_language(CXX)
endif()
-# Workaround for a bug in cmake where enable_language does not work
-# well with OPTIONAL.
-# See http://www.cmake.org/Bug/print_bug_page.php?bug_id=9220
-if(DEFINED CMAKE_Fortran_COMPILER AND CMAKE_Fortran_COMPILER MATCHES "^$")
- set(CMAKE_Fortran_COMPILER CMAKE_Fortran_COMPILER-NOTFOUND)
+if (NOT DEFINED enable_smpi OR enable_smpi) # smpi is enabled by default
+ # Call enable_language(Fortran) in order to load the build rules for
+ # this language, needed by teshsuite/smpi/mpich-test/. Use
+ # CMAKE_FORCE_Fortran_COMPILER to bypass checks for a working
+ # compiler (smpiff don't exist at configure time).
+ include(CMakeForceCompiler)
+ CMAKE_FORCE_Fortran_COMPILER(smpiff smpiff)
+ enable_language(Fortran OPTIONAL)
endif()
-enable_language(Fortran OPTIONAL)
set(CMAKE_C_FLAGS "" CACHE TYPE INTERNAL FORCE)
set(CMAKE_CXX_FLAGS "" CACHE TYPE INTERNAL FORCE)
if(enable_smpi)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
- set(CMAKE_Fortran_LINKER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
set(MPICH_FLAGS "-DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHAVE_SLEEP=1 -DHAVE_SYSCONF=1")
add_executable(longuser longuser.c test.c)
if(SMPI_F2C)
- add_executable(allredf allredf.f)
- add_executable(assocf assocf.f)
- add_executable(allgatherf allgatherf.f)
- add_executable(bcastlog bcastlog.f)
+ add_executable(allredf allredf.f)
+ add_executable(assocf assocf.f)
+ add_executable(allgatherf allgatherf.f)
+ add_executable(bcastlog bcastlog.f)
endif()
target_link_libraries(coll1 m simgrid smpi )
target_link_libraries(alltoallv_mpich m simgrid smpi )
target_link_libraries(scantst m simgrid smpi )
if(SMPI_F2C)
- target_link_libraries(allredf m simgrid smpi )
- target_link_libraries(assocf m simgrid smpi )
- target_link_libraries(allgatherf m simgrid smpi )
- target_link_libraries(bcastlog m simgrid smpi )
+ target_link_libraries(allredf m simgrid smpi )
+ target_link_libraries(assocf m simgrid smpi )
+ target_link_libraries(allgatherf m simgrid smpi )
+ target_link_libraries(bcastlog m simgrid smpi )
endif()
set_target_properties(coll1 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
set_target_properties(alltoallv_mpich PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
set_target_properties(scantst PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
if(SMPI_F2C)
- set_target_properties(allredf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(assocf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(allgatherf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(bcastlog PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
+ set_target_properties(allredf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
+ set_target_properties(assocf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
+ set_target_properties(allgatherf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
+ set_target_properties(bcastlog PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
endif()
endif()
if(enable_smpi)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
- set(CMAKE_Fortran_LINKER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
-
set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
set(MPICH_FLAGS "-DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHAVE_SLEEP=1 -DHAVE_SYSCONF=1")
add_executable(testerr testerr.c)
add_executable(getproc getproc.c)
if(SMPI_F2C)
-# add_executable(baseattrf baseattrf.f)
-# add_executable(errhandf errhandf.f)
-# add_executable(errstringsf errstringsf.f)
- add_executable(getprocf getprocf.f)
+# add_executable(baseattrf baseattrf.f)
+# add_executable(errhandf errhandf.f)
+# add_executable(errstringsf errstringsf.f)
+ add_executable(getprocf getprocf.f)
endif()
target_link_libraries(init m simgrid smpi )
target_link_libraries(timers m simgrid smpi )
target_link_libraries(testerr m simgrid smpi )
target_link_libraries(getproc m simgrid smpi )
if(SMPI_F2C)
-# target_link_libraries(baseattrf m simgrid smpi )
-# target_link_libraries(errhandf m simgrid smpi )
-# target_link_libraries(errstringsf m simgrid smpi )
- target_link_libraries(getprocf m simgrid smpi )
+# target_link_libraries(baseattrf m simgrid smpi )
+# target_link_libraries(errhandf m simgrid smpi )
+# target_link_libraries(errstringsf m simgrid smpi )
+ target_link_libraries(getprocf m simgrid smpi )
endif()
set_target_properties(timers PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
set_target_properties(testerr PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
set_target_properties(getproc PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
if(SMPI_F2C)
-# set_target_properties(baseattrf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-# set_target_properties(errhandf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-# set_target_properties(errstringsf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(getprocf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
+# set_target_properties(baseattrf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
+# set_target_properties(errhandf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
+# set_target_properties(errstringsf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
+ set_target_properties(getprocf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
endif()
endif()
if(enable_smpi)
set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
- set(CMAKE_Fortran_LINKER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
set(MPICH_FLAGS "-DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHAVE_SLEEP=1 -DHAVE_SYSCONF=1")
add_executable(exittest exittest.c)
add_executable(selfvsworld selfvsworld.c)
if(SMPI_F2C)
- add_executable(secondf secondf.f)
-# add_executable(allpair2 allpair2.f)
-# add_executable(allpair allpair.f)
- add_executable(isendf isendf.f)
- add_executable(pingpong_f pingpong.f)
- add_executable(send1 send1.f)
- add_executable(sendfort sendfort.f)
-# add_executable(structf structf.f)
- add_executable(typebasef typebasef.f)
- add_executable(sendcplx sendcplx.f)
+ add_executable(secondf secondf.f)
+# add_executable(allpair2 allpair2.f)
+# add_executable(allpair allpair.f)
+ add_executable(isendf isendf.f)
+ add_executable(pingpong_f pingpong.f)
+ add_executable(send1 send1.f)
+ add_executable(sendcplx sendcplx.f)
+ add_executable(sendfort sendfort.f)
+# add_executable(structf structf.f)
+ add_executable(typebasef typebasef.f)
endif()
target_link_libraries(overtake m simgrid smpi )
target_link_libraries(exittest m simgrid smpi )
target_link_libraries(selfvsworld m simgrid smpi )
if(SMPI_F2C)
- target_link_libraries(secondf m simgrid smpi f2c)
-# target_link_libraries(allpair2 m simgrid smpi f2c)
-# target_link_libraries(allpair m simgrid smpi f2c)
- target_link_libraries(isendf m simgrid smpi f2c)
- target_link_libraries(pingpong_f m simgrid smpi f2c)
- target_link_libraries(send1 m simgrid smpi f2c)
- target_link_libraries(sendcplx m simgrid smpi f2c)
- target_link_libraries(sendfort m simgrid smpi f2c)
-# target_link_libraries(structf m simgrid smpi f2c)
- target_link_libraries(typebasef m simgrid smpi f2c)
+ target_link_libraries(secondf m simgrid smpi f2c)
+# target_link_libraries(allpair2 m simgrid smpi f2c)
+# target_link_libraries(allpair m simgrid smpi f2c)
+ target_link_libraries(isendf m simgrid smpi f2c)
+ target_link_libraries(pingpong_f m simgrid smpi f2c)
+ target_link_libraries(send1 m simgrid smpi f2c)
+ target_link_libraries(sendcplx m simgrid smpi f2c)
+ target_link_libraries(sendfort m simgrid smpi f2c)
+# target_link_libraries(structf m simgrid smpi f2c)
+ target_link_libraries(typebasef m simgrid smpi f2c)
endif()
set_target_properties(overtake PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
set_target_properties(exittest PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
set_target_properties(selfvsworld PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
if(SMPI_F2C)
- set_target_properties(secondf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}" )
-# set_target_properties(allpair2 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}" )
-# set_target_properties(allpair PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}" )
- set_target_properties(isendf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}" )
- set_target_properties(pingpong_f PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(send1 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(sendcplx PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(sendfort PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-# set_target_properties(structf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(typebasef PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
+ set_target_properties(secondf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
+# set_target_properties(allpair2 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
+# set_target_properties(allpair PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
+ set_target_properties(isendf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
+ set_target_properties(pingpong_f PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
+ set_target_properties(send1 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
+ set_target_properties(sendcplx PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
+ set_target_properties(sendfort PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
+# set_target_properties(structf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
+ set_target_properties(typebasef PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
endif()
endif()