Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Make generate_memcheck_tests.pl keep indentation (but the two first space).
[simgrid.git] / buildtools / Cmake / Supernovae.cmake
1 ### Make supernovae files and libs
2
3 #############################################################################
4 ### Add here every files that should not be supernovaed (generated files) ###
5 #############################################################################
6 set(simgrid_fragile_sources
7   src/simdag/sd_daxloader.c
8   src/surf/surfxml_parse.c
9   src/xbt/automaton/automaton_create.c
10   src/xbt/datadesc/ddt_parse.yy.c
11   src/xbt/graphxml_parse.c
12   src/xbt/mmalloc/mm.c
13   ${GTNETS_USED}
14   )
15 set(gras_fragile_sources
16   src/xbt/automaton/automaton_create.c
17   src/xbt/datadesc/ddt_parse.yy.c
18   src/xbt/graphxml_parse.c
19   src/xbt/mmalloc/mm.c
20   )
21
22 #####################################################
23 ### END OF CONFIGURATION, NO NEED TO READ FURTHER ###
24 #####################################################
25
26 ### Rebuild the supernovae source files
27 if (enable_supernovae) # I need supernovae
28
29   # supernovae files are generated. I promise
30   set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_sg.c
31     PROPERTIES GENERATED true)
32   set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_gras.c
33     PROPERTIES GENERATED true)
34   set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_smpi.c
35     PROPERTIES GENERATED true)
36
37   ADD_CUSTOM_COMMAND(
38     OUTPUT   ${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_sg.c
39     DEPENDS  ${CMAKE_HOME_DIRECTORY}/src/mk_supernovae.pl ${simgrid_sources}
40     COMMAND  perl ${CMAKE_HOME_DIRECTORY}/src/mk_supernovae.pl --out=${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_sg.c '--fragile=${simgrid_fragile_sources}' '${simgrid_sources}'
41     WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}
42     COMMENT "Generating supernovae_sg.c"
43     )
44
45   ADD_CUSTOM_COMMAND(
46     OUTPUT   ${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_gras.c
47     DEPENDS  ${CMAKE_HOME_DIRECTORY}/src/mk_supernovae.pl ${gras_sources}
48     COMMAND  perl ${CMAKE_HOME_DIRECTORY}/src/mk_supernovae.pl --out=${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_gras.c '--fragile=${gras_fragile_sources}'    '${gras_sources}'
49     WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}
50     COMMENT "Generating supernovae_gras.c"
51     )
52
53   ADD_CUSTOM_COMMAND(
54     OUTPUT   ${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_smpi.c
55     DEPENDS  ${CMAKE_HOME_DIRECTORY}/src/mk_supernovae.pl ${SMPI_SRC}
56     COMMAND  perl ${CMAKE_HOME_DIRECTORY}/src/mk_supernovae.pl --out=${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_smpi.c  '${SMPI_SRC}'
57     WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}
58     COMMENT "Generating supernovae_smpi.c"
59     )
60
61   ### Change the content of the libraries so that it contains only supernovae+fragiles
62   set(simgrid_sources
63     ${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_sg.c
64     ${simgrid_fragile_sources})
65
66   set(gras_sources
67     ${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_gras.c
68     ${gras_fragile_sources})
69
70   set(SMPI_SRC
71     ${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_smpi.c)
72
73 endif(enable_supernovae) # I need supernovae