Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Set some ucontext tests failed.
[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/gras/DataDesc/ddt_parse.yy.c
8         src/surf/surfxml_parse.c
9         src/xbt/graphxml_parse.c
10         src/simdag/sd_daxloader.c
11         ${GTNETS_USED}
12 )
13 set(gras_fragile_sources
14         src/gras/DataDesc/ddt_parse.yy.c
15         src/xbt/graphxml_parse.c
16 )
17
18 #####################################################
19 ### END OF CONFIGURATION, NO NEED TO READ FURTHER ###
20 #####################################################
21
22 ### Rebuild the supernovae source files
23 if (enable_supernovae) # I need supernovae
24
25         # supernovae files are generated. I promise
26         set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_sg.c
27                                       PROPERTIES GENERATED true)
28         set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_gras.c
29                                       PROPERTIES GENERATED true)
30         set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_smpi.c
31                                       PROPERTIES GENERATED true)
32
33         ADD_CUSTOM_COMMAND(
34                 OUTPUT   ${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_sg.c
35                 DEPENDS  ${CMAKE_HOME_DIRECTORY}/src/mk_supernovae.pl ${simgrid_sources}
36                 COMMAND  perl ${CMAKE_HOME_DIRECTORY}/src/mk_supernovae.pl --out=${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_sg.c '--fragile=${simgrid_fragile_sources}' '${simgrid_sources}'
37                 WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}
38                 COMMENT "Generating supernovae_sg.c"
39         )
40
41         ADD_CUSTOM_COMMAND(
42                 OUTPUT   ${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_gras.c
43                 DEPENDS  ${CMAKE_HOME_DIRECTORY}/src/mk_supernovae.pl ${gras_sources}
44                 COMMAND  perl ${CMAKE_HOME_DIRECTORY}/src/mk_supernovae.pl --out=${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_gras.c '--fragile=${gras_fragile_sources}'    '${gras_sources}'
45                 WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}
46                 COMMENT "Generating supernovae_gras.c"
47         )
48
49         ADD_CUSTOM_COMMAND(
50                 OUTPUT   ${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_smpi.c
51                 DEPENDS  ${CMAKE_HOME_DIRECTORY}/src/mk_supernovae.pl ${SMPI_SRC}
52                 COMMAND  perl ${CMAKE_HOME_DIRECTORY}/src/mk_supernovae.pl --out=${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_smpi.c  '${SMPI_SRC}'
53                 WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}
54                 COMMENT "Generating supernovae_smpi.c"
55         )
56
57         ### Change the content of the libraries so that it contains only supernovae+fragiles
58         set(simgrid_sources 
59                 ${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_sg.c
60                 ${simgrid_fragile_sources})
61
62         set(gras_sources
63                 ${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_gras.c 
64                 ${gras_fragile_sources})                
65
66         set(SMPI_SRC 
67                 ${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_smpi.c)
68                                 
69 endif(enable_supernovae) # I need supernovae