Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Enable supernovae only if all needed tools are installed.
authornavarrop <navarrop@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 22 Nov 2010 15:24:46 +0000 (15:24 +0000)
committernavarrop <navarrop@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 22 Nov 2010 15:24:46 +0000 (15:24 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@8608 48e7efb5-ca39-0410-a469-dd3cf9ba447f

buildtools/Cmake/MakeExeLib.cmake
buildtools/Cmake/Modules/FindSupernovae.cmake [new file with mode: 0644]
buildtools/Cmake/Option.cmake
buildtools/Cmake/PrintArgs.cmake

index 0972ce1..2d2073d 100644 (file)
@@ -1,8 +1,9 @@
 ### Make Libs
 ### Make Libs
+include(FindSupernovae)
 
 
-if(enable_supernovae)
+if(enable_supernovae AND HAVE_SUPERNOVAE_TOOLS)
        include(${PROJECT_DIRECTORY}/buildtools/Cmake/Supernovae.cmake)
        include(${PROJECT_DIRECTORY}/buildtools/Cmake/Supernovae.cmake)
-else(enable_supernovae)        
+else(enable_supernovae AND HAVE_SUPERNOVAE_TOOLS)      
        add_library(simgrid SHARED ${simgrid_sources})
        add_library(gras SHARED ${gras_sources})
        if(enable_lib_static)
        add_library(simgrid SHARED ${simgrid_sources})
        add_library(gras SHARED ${gras_sources})
        if(enable_lib_static)
@@ -14,7 +15,7 @@ else(enable_supernovae)
                        add_library(smpi_static STATIC ${SMPI_SRC})     
                endif(enable_lib_static)
        endif(enable_smpi)
                        add_library(smpi_static STATIC ${SMPI_SRC})     
                endif(enable_lib_static)
        endif(enable_smpi)
-endif(enable_supernovae)
+endif(enable_supernovae AND HAVE_SUPERNOVAE_TOOLS)
 
 set_target_properties(simgrid PROPERTIES VERSION ${libsimgrid_version})
 set_target_properties(gras PROPERTIES VERSION ${libgras_version})
 
 set_target_properties(simgrid PROPERTIES VERSION ${libsimgrid_version})
 set_target_properties(gras PROPERTIES VERSION ${libgras_version})
diff --git a/buildtools/Cmake/Modules/FindSupernovae.cmake b/buildtools/Cmake/Modules/FindSupernovae.cmake
new file mode 100644 (file)
index 0000000..2409ac6
--- /dev/null
@@ -0,0 +1,24 @@
+find_program(CAT_EXE NAMES cat)
+find_program(GREP_EXE NAMES grep)
+find_program(SED_EXE NAMES sed)
+find_program(ECHO_EXE NAMES echo)
+find_program(SH_EXE NAMES sh)
+
+if(CAT_EXE AND GREP_EXE AND SED_EXE AND ECHO_EXE AND SH_EXE)
+    set(HAVE_SUPERNOVAE_TOOLS 1)
+else(CAT_EXE AND GREP_EXE AND SED_EXE AND ECHO_EXE AND SH_EXE)
+    if(enable_supernovae)
+    message("CAT_EXE ${CAT_EXE}")
+    message("GREP_EXE ${GREP_EXE}")
+    message("SED_EXE ${SED_EXE}")
+    message("ECHO_EXE ${ECHO_EXE}")
+    message("SH_EXE ${SH_EXE}")
+    endif(enable_supernovae)
+    set(HAVE_SUPERNOVAE_TOOLS 0)
+endif(CAT_EXE AND GREP_EXE AND SED_EXE AND ECHO_EXE AND SH_EXE)
+
+mark_as_advanced(CAT_EXE)
+mark_as_advanced(GREP_EXE)
+mark_as_advanced(SED_EXE)
+mark_as_advanced(ECHO_EXE)
+mark_as_advanced(SH_EXE)
\ No newline at end of file
index 685613c..e89b3f8 100644 (file)
@@ -50,13 +50,11 @@ option(enable_model-checking "" off)
 option(enable_lib_static "" off)
 option(enable_graphviz "" off)
 option(GRAS_IS_BROKEN "Set some tests are broken" off)
 option(enable_lib_static "" off)
 option(enable_graphviz "" off)
 option(GRAS_IS_BROKEN "Set some tests are broken" off)
+
 if(WIN32 OR APPLE) #actually not enable with windows and Apple
 if(WIN32 OR APPLE) #actually not enable with windows and Apple
-       message("-- Mode supernovae is disabled.")
        message("-- Smpi and GTnets are disabled.")
        message("-- Smpi and GTnets are disabled.")
-       set(enable_supernovae false CACHE TYPE INTERNAL FORCE)
        set(enable_smpi false CACHE TYPE INTERNAL FORCE)
        set(enable_gtnets false CACHE TYPE INTERNAL FORCE) 
        set(enable_smpi false CACHE TYPE INTERNAL FORCE)
        set(enable_gtnets false CACHE TYPE INTERNAL FORCE) 
-       mark_as_advanced(enable_supernovae)
     mark_as_advanced(enable_smpi)
     mark_as_advanced(enable_gtnets)
     mark_as_advanced(gtnets_path)
     mark_as_advanced(enable_smpi)
     mark_as_advanced(enable_gtnets)
     mark_as_advanced(gtnets_path)
index c480be1..11cfe5a 100644 (file)
@@ -188,9 +188,7 @@ endif(NOT APPLE AND NOT WIN32)
 message("      Compile Static :        ${enable_lib_static}")
 message("")
 message("      Maintainer mode:        ${enable_maintainer_mode}")
 message("      Compile Static :        ${enable_lib_static}")
 message("")
 message("      Maintainer mode:        ${enable_maintainer_mode}")
-if(NOT APPLE AND NOT WIN32)
 message("      Supernovae mode:        ${enable_supernovae}")
 message("      Supernovae mode:        ${enable_supernovae}")
-endif(NOT APPLE AND NOT WIN32)
 message("      Model checking :        ${enable_model-checking}")
 message("      Tracing mode   :        ${enable_tracing}")
 message("      Latency bound  :        ${enable_latency_bound_tracking}")
 message("      Model checking :        ${enable_model-checking}")
 message("      Tracing mode   :        ${enable_tracing}")
 message("      Latency bound  :        ${enable_latency_bound_tracking}")