Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
since update, flang is now identified as flang by cmake, and not pgi anymore
[simgrid.git] / CMakeLists.txt
index e22357c..51590bc 100644 (file)
@@ -90,7 +90,7 @@ if ((NOT DEFINED enable_smpi) OR enable_smpi)
     elseif(CMAKE_Fortran_COMPILER_ID MATCHES "Intel")
       set(SMPI_Fortran_FLAGS "\"-fPIC\" \"-nofor-main\"")
       set(SMPI_Fortran_LIBS "\"-lifcore\"")
-    elseif(CMAKE_Fortran_COMPILER_ID MATCHES "PGI") # flang
+    elseif(CMAKE_Fortran_COMPILER_ID MATCHES "PGI|Flang") # flang
       set(SMPI_Fortran_FLAGS "\"-fPIC\"")
       set(SMPI_Fortran_LIBS "")
     endif()
@@ -234,6 +234,9 @@ if(enable_ns3)
   include(FindNS3)
   if (SIMGRID_HAVE_NS3)
     set(SIMGRID_HAVE_NS3 1)
+    foreach(lib core csma point-to-point internet network applications)
+      set(SIMGRID_DEP "${SIMGRID_DEP} -lns${NS3_VERSION}-${lib}${NS3_SUFFIX}")
+    endforeach()
   else()
     message(FATAL_ERROR "Cannot find NS3. Please install it (apt-get install ns3 libns3-dev) or disable that cmake option")
   endif()
@@ -378,17 +381,8 @@ else()
 endif()
 
 include(FindLibunwind)
-if(LIBUNWIND_FOUND)
-  if(NOT APPLE)
-    foreach(lib ${LIBUNWIND_LIBRARIES})
-      SET(SIMGRID_DEP "${SIMGRID_DEP} ${lib}")
-    endforeach()
-    unset(lib)
-  else()
-    # Apple forbids to link directly against its libunwind implementation
-    # So let's comply and link against the System framework
-    SET(SIMGRID_DEP "${SIMGRID_DEP} -lSystem")
-  endif()
+if(HAVE_LIBUNWIND)
+  SET(SIMGRID_DEP "${SIMGRID_DEP} ${LIBUNWIND_LIBRARIES}")
 else()
   if(enable_model-checking)
     message(FATAL_ERROR "Please install libunwind-dev libdw-dev libelf-dev libevent-dev if you want to compile the SimGrid model checker.")
@@ -410,6 +404,8 @@ else()
   SET(SIMGRID_HAVE_MC 0)  
   set(HAVE_MMALLOC 0)
 endif()
+mark_as_advanced(PATH_LIBDW_H)
+mark_as_advanced(PATH_LIBDW_LIB)
 
 if (enable_model-checking AND enable_ns3)
   message(FATAL_ERROR "Cannot activate both model-checking and NS3 bindings: NS3 pull too much dependencies for the MC to work")