Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Optionally look for a Fortran compiler.
authorArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Sat, 27 Oct 2012 17:39:57 +0000 (19:39 +0200)
committerArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Sun, 28 Oct 2012 10:13:48 +0000 (11:13 +0100)
Without that, CMake complains that it "cannot determine link language"
for Fortran targets.

This is not perfect: cmake is run systematically when doing make :(

CMakeLists.txt
buildtools/Cmake/PrintArgs.cmake

index 8e9a8da..e1f960b 100644 (file)
@@ -7,6 +7,13 @@ project(SimGrid C)
 if (enable_gtnets OR enable_ns3)
   enable_language(CXX)
 endif()
 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)
+endif()
+enable_language(Fortran OPTIONAL)
 
 set(CMAKE_C_FLAGS "" CACHE TYPE INTERNAL FORCE)
 set(CMAKE_CXX_FLAGS "" CACHE TYPE INTERNAL FORCE)
 
 set(CMAKE_C_FLAGS "" CACHE TYPE INTERNAL FORCE)
 set(CMAKE_CXX_FLAGS "" CACHE TYPE INTERNAL FORCE)
index 8d50141..a6fd758 100644 (file)
@@ -85,6 +85,10 @@ if(CMAKE_CXX_COMPILER)
   message("        Compiler: C++ .......: ${CMAKE_CXX_COMPILER}")
   message("                version .....: ${COMPILER_CXX_VERSION}")
 endif()
   message("        Compiler: C++ .......: ${CMAKE_CXX_COMPILER}")
   message("                version .....: ${COMPILER_CXX_VERSION}")
 endif()
+if(CMAKE_Fortran_COMPILER)
+  message("        Compiler: Fortran ...: ${CMAKE_Fortran_COMPILER}")
+  message("                version .....: ${COMPILER_Fortran_VERSION}")
+endif()
 message("        Linker: .............: ${CMAKE_LINKER}")
 message("")
 message("        CFlags ..............: ${CMAKE_C_FLAGS}")
 message("        Linker: .............: ${CMAKE_LINKER}")
 message("")
 message("        CFlags ..............: ${CMAKE_C_FLAGS}")