From 4b0c189a3dc6477ffada0e3315baac3c12930c24 Mon Sep 17 00:00:00 2001 From: navarrop Date: Mon, 22 Nov 2010 15:24:46 +0000 Subject: [PATCH] Enable supernovae only if all needed tools are installed. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@8608 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- buildtools/Cmake/MakeExeLib.cmake | 7 +++--- buildtools/Cmake/Modules/FindSupernovae.cmake | 24 +++++++++++++++++++ buildtools/Cmake/Option.cmake | 4 +--- buildtools/Cmake/PrintArgs.cmake | 2 -- 4 files changed, 29 insertions(+), 8 deletions(-) create mode 100644 buildtools/Cmake/Modules/FindSupernovae.cmake diff --git a/buildtools/Cmake/MakeExeLib.cmake b/buildtools/Cmake/MakeExeLib.cmake index 0972ce168e..2d2073d036 100644 --- a/buildtools/Cmake/MakeExeLib.cmake +++ b/buildtools/Cmake/MakeExeLib.cmake @@ -1,8 +1,9 @@ ### Make Libs +include(FindSupernovae) -if(enable_supernovae) +if(enable_supernovae AND HAVE_SUPERNOVAE_TOOLS) 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) @@ -14,7 +15,7 @@ else(enable_supernovae) 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}) diff --git a/buildtools/Cmake/Modules/FindSupernovae.cmake b/buildtools/Cmake/Modules/FindSupernovae.cmake new file mode 100644 index 0000000000..2409ac610a --- /dev/null +++ b/buildtools/Cmake/Modules/FindSupernovae.cmake @@ -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 diff --git a/buildtools/Cmake/Option.cmake b/buildtools/Cmake/Option.cmake index 685613c208..e89b3f8b44 100644 --- a/buildtools/Cmake/Option.cmake +++ b/buildtools/Cmake/Option.cmake @@ -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) + if(WIN32 OR APPLE) #actually not enable with windows and Apple - message("-- Mode supernovae is 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) - mark_as_advanced(enable_supernovae) mark_as_advanced(enable_smpi) mark_as_advanced(enable_gtnets) mark_as_advanced(gtnets_path) diff --git a/buildtools/Cmake/PrintArgs.cmake b/buildtools/Cmake/PrintArgs.cmake index c480be108c..11cfe5a773 100644 --- a/buildtools/Cmake/PrintArgs.cmake +++ b/buildtools/Cmake/PrintArgs.cmake @@ -188,9 +188,7 @@ endif(NOT APPLE AND NOT WIN32) message(" Compile Static : ${enable_lib_static}") message("") message(" Maintainer mode: ${enable_maintainer_mode}") -if(NOT APPLE AND NOT WIN32) 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}") -- 2.20.1