git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@8886
48e7efb5-ca39-0410-a469-
dd3cf9ba447f
FIND_PROGRAM(VALGRIND_PATH valgrind)
include(FindPerl)
if(NOT PERL_EXECUTABLE)
FIND_PROGRAM(VALGRIND_PATH valgrind)
include(FindPerl)
if(NOT PERL_EXECUTABLE)
- message(FATAL_ERROR "-- SIMGRID NEED PERL")
+ message(FATAL_ERROR "-- SimGrid cannot be compiled without Perl installed -- sorry. Bailling out.")
endif(NOT PERL_EXECUTABLE)
endif(NOT PERL_EXECUTABLE)
if(enable_memcheck)
exec_program("valgrind --version " OUTPUT_VARIABLE "VALGRIND_VERSION")
if(enable_memcheck)
exec_program("valgrind --version " OUTPUT_VARIABLE "VALGRIND_VERSION")
- if(VALGRIND_VERSION AND PERL_EXECUTABLE)
string(REGEX MATCH "[0-9].[0-9].[0-9]" NEW_VALGRIND_VERSION "${VALGRIND_VERSION}")
if(NEW_VALGRIND_VERSION)
exec_program("${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/generate_memcheck_tests.pl ${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/AddTests.cmake > ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/memcheck_tests.cmake")
string(REGEX MATCH "[0-9].[0-9].[0-9]" NEW_VALGRIND_VERSION "${VALGRIND_VERSION}")
if(NEW_VALGRIND_VERSION)
exec_program("${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/generate_memcheck_tests.pl ${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/AddTests.cmake > ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/memcheck_tests.cmake")
set(enable_memcheck false)
message("Command valgrind not found --> enable_memcheck autoset to false.")
endif(NEW_VALGRIND_VERSION)
set(enable_memcheck false)
message("Command valgrind not found --> enable_memcheck autoset to false.")
endif(NEW_VALGRIND_VERSION)
- else(VALGRIND_VERSION AND PERL_EXECUTABLE)
set(enable_memcheck false)
set(enable_memcheck false)
- message(FATAL_ERROR "Command valgrind or perl not found --> enable_memcheck autoset to false.")
- endif(VALGRIND_VERSION AND PERL_EXECUTABLE)
+ message(FATAL_ERROR "Command valgrind not found --> enable_memcheck autoset to false.")
+ endif(VALGRIND_VERSION)
endif(enable_memcheck)
### For code coverage
endif(enable_memcheck)
### For code coverage
if(enable_memcheck)\r
exec_program("valgrind --version " OUTPUT_VARIABLE "VALGRIND_VERSION")\r
if(enable_memcheck)\r
exec_program("valgrind --version " OUTPUT_VARIABLE "VALGRIND_VERSION")\r
- if(VALGRIND_VERSION AND PERL_EXECUTABLE)\r
string(REGEX MATCH "[0-9].[0-9].[0-9]" NEW_VALGRIND_VERSION "${VALGRIND_VERSION}")\r
if(NEW_VALGRIND_VERSION)\r
exec_program("${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/generate_memcheck_tests.pl ${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/AddTests.cmake > ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/memcheck_tests.cmake")\r
string(REGEX MATCH "[0-9].[0-9].[0-9]" NEW_VALGRIND_VERSION "${VALGRIND_VERSION}")\r
if(NEW_VALGRIND_VERSION)\r
exec_program("${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/generate_memcheck_tests.pl ${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/AddTests.cmake > ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/memcheck_tests.cmake")\r
set(enable_memcheck false)\r
message("Command valgrind not found --> enable_memcheck autoset to false.")\r
endif(NEW_VALGRIND_VERSION)\r
set(enable_memcheck false)\r
message("Command valgrind not found --> enable_memcheck autoset to false.")\r
endif(NEW_VALGRIND_VERSION)\r
- else(VALGRIND_VERSION AND PERL_EXECUTABLE)\r
+ else(VALGRIND_VERSION)\r
set(enable_memcheck false)\r
set(enable_memcheck false)\r
- message(FATAL_ERROR "Command valgrind or perl not found --> enable_memcheck autoset to false.")\r
- endif(VALGRIND_VERSION AND PERL_EXECUTABLE)\r
+ message(FATAL_ERROR "Command valgrind not found --> enable_memcheck autoset to false.")\r
+ endif(VALGRIND_VERSION)\r
endif(enable_memcheck)\r
\r
### For code coverage\r
endif(enable_memcheck)\r
\r
### For code coverage\r
#####################################################
### Rebuild the supernovae source files
#####################################################
### Rebuild the supernovae source files
-if (PERL_EXECUTABLE AND enable_supernovae) # I need supernovae and can use it
+if (enable_supernovae) # I need supernovae
# supernovae files are generated. I promise
set_source_files_properties(${CMAKE_HOME_DIRECTORY}/src/supernovae_sg.c
# supernovae files are generated. I promise
set_source_files_properties(${CMAKE_HOME_DIRECTORY}/src/supernovae_sg.c
set(SMPI_SRC
${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_smpi.c)
set(SMPI_SRC
${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_smpi.c)
-else(PERL_EXECUTABLE AND enable_supernovae) # I need supernovae and can use it
- if (enable_supernovae)
- message("You need Perl to activate supernovae")
- set(enable_supernovae 0)
- endif(enable_supernovae)
-endif(PERL_EXECUTABLE AND enable_supernovae) # I need supernovae and can use it
+endif(enable_supernovae) # I need supernovae
-if(PERL_EXECUTABLE)
-
- ADD_CUSTOM_COMMAND(
- OUTPUT ${TEST_UNITS}
-
- DEPENDS ${CMAKE_HOME_DIRECTORY}/tools/sg_unit_extractor.pl
- ${TEST_CFILES}
-
- COMMAND ${CMAKE_COMMAND} -E remove -f ${TEST_UNITS}
-
- COMMAND chmod +x ${CMAKE_HOME_DIRECTORY}/tools/sg_unit_extractor.pl
-
- COMMAND ${CMAKE_HOME_DIRECTORY}/tools/sg_unit_extractor.pl --root=src/ --outdir=${CMAKE_CURRENT_BINARY_DIR}/src/ ${TEST_CFILES}
-
- WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}
-
- COMMENT "Generating *_units files for testall..."
- )
-
-
-else(PERL_EXECUTABLE)
- ADD_CUSTOM_COMMAND(
-
- DEPENDS ${CMAKE_HOME_DIRECTORY}/tools/sg_unit_extractor.pl
- ${TEST_CFILES}
-
- COMMAND ${CMAKE_COMMAND} message WARNING "Unit files need to be regenerated, but no Perl installed")
-endif(PERL_EXECUTABLE)
+
+ DEPENDS ${CMAKE_HOME_DIRECTORY}/tools/sg_unit_extractor.pl
+ ${TEST_CFILES}
+
+ COMMAND ${CMAKE_COMMAND} -E remove -f ${TEST_UNITS}
+
+ COMMAND chmod +x ${CMAKE_HOME_DIRECTORY}/tools/sg_unit_extractor.pl
+ COMMAND ${CMAKE_HOME_DIRECTORY}/tools/sg_unit_extractor.pl --root=src/ --outdir=${CMAKE_CURRENT_BINARY_DIR}/src/ ${TEST_CFILES}
+ WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}
+
+ COMMENT "Generating *_units files for testall..."
+)
### Ensure the build of testall
### Ensure the build of testall