1 # On a Pipol system, set:
4 #SET(PIPOL_USER $ENV{PIPOL_USER})
9 set(CMAKE_OPTIONS " -Wno-dev")
12 set(CMAKE_OPTIONS "${CMAKE_OPTIONS} -Dwith_context=${with_context}")
16 set(CMAKE_OPTIONS "${CMAKE_OPTIONS} -Denable_smpi=on")
17 set(CMAKE_OPTIONS "${CMAKE_OPTIONS} -Denable_smpi_MPICH3_testsuite=on")
21 set(CMAKE_OPTIONS "${CMAKE_OPTIONS} -Denable_lua=on")
24 if(enable_compile_optimizations)
25 set(CMAKE_OPTIONS "${CMAKE_OPTIONS} -Denable_compile_optimizations=on")
28 if(enable_compile_warnings)
29 set(CMAKE_OPTIONS "${CMAKE_OPTIONS} -Denable_compile_warnings=on")
33 set(CMAKE_OPTIONS "${CMAKE_OPTIONS} -Denable_tracing=on")
37 set(CMAKE_OPTIONS "${CMAKE_OPTION} -Denable_coverage=on")
40 if(enable_print_message)
41 set(CMAKE_OPTIONS "${CMAKE_OPTIONS} -Denable_print_message=on")
44 if(enable_model-checking)
45 set(CMAKE_OPTIONS "${CMAKE_OPTIONS} -Denable_model-checking=on")
48 if(enable_latency_bound_tracking)
49 set(CMAKE_OPTIONS "${CMAKE_OPTIONS} -Denable_latency_bound_tracking=on")
52 FIND_PROGRAM(HAVE_SSH ssh)
53 FIND_PROGRAM(HAVE_RSYNC rsync)
55 MESSAGE(STATUS "Pipol user is '${pipol_user}'")
57 message(STATUS "Found ssh: ${HAVE_SSH}")
59 EXECUTE_PROCESS(COMMAND
60 ssh ${pipol_user}@pipol.inria.fr pipol-sub --query=systems
61 OUTPUT_VARIABLE PIPOL_SYSTEMS OUTPUT_STRIP_TRAILING_WHITESPACE)
65 ADD_CUSTOM_TARGET(pipol_test_list_images
66 COMMENT "Available images for pipol tests (cmake + make + make test) : "
69 ADD_CUSTOM_TARGET(pipol_experimental_list_images
70 COMMENT "Available images for ctest (ctest -D Experimental) : "
73 ADD_CUSTOM_TARGET(pipol_kvm_deploy
74 COMMENT "Deploy all kvm images on pipol (ctest -D Experimental) : "
76 ADD_CUSTOM_COMMAND(TARGET pipol_kvm_deploy
78 COMMENT "See results on http://cdash.inria.fr/CDash/index.php?project=Simgrid"
82 message(STATUS "Found rsync: ${HAVE_RSYNC}")
85 STRING(REPLACE ".dd.gz" "" SYSTEM_TARGET ${SYSTEM_PATTERN})
89 COMMENT "PIPOL Build : ${SYSTEM_PATTERN}"
90 COMMAND rsync ${pipol_user}@pipol.inria.fr:/usr/local/bin/pipol-sub .
91 COMMAND ./pipol-sub --pipol-user=${pipol_user} ${SYSTEM_PATTERN} 02:00 --reconnect --group --keep --verbose=1 --export=${CMAKE_HOME_DIRECTORY} --rsynco=-aC
92 \"sudo chown ${pipol_user} ${CMAKE_HOME_DIRECTORY} \;
93 cd ${CMAKE_HOME_DIRECTORY} \;
94 sh ${CMAKE_HOME_DIRECTORY}/buildtools/pipol/liste_install.sh \;
95 cmake -E remove CMakeCache.txt \;
96 cmake ${CMAKE_HOME_DIRECTORY}${CMAKE_OPTIONS} \;
102 ${SYSTEM_TARGET}_experimental
103 COMMENT "PIPOL Build : ${SYSTEM_PATTERN}_experimental"
104 COMMAND rsync ${pipol_user}@pipol.inria.fr:/usr/local/bin/pipol-sub .
105 COMMAND ./pipol-sub --pipol-user=${pipol_user} ${SYSTEM_PATTERN} 02:00 --reconnect --group --keep --verbose=1 --export=${CMAKE_HOME_DIRECTORY} --rsynco=-aC
106 \"sudo chown ${pipol_user} ${CMAKE_HOME_DIRECTORY} \;
107 cd ${CMAKE_HOME_DIRECTORY} \;
108 sh ${CMAKE_HOME_DIRECTORY}/buildtools/pipol/liste_install.sh \;
109 cmake -E remove CMakeCache.txt \;
110 cmake ${CMAKE_HOME_DIRECTORY}${CMAKE_OPTIONS} \;
111 ctest -D Experimental \"
114 STRING(REGEX MATCH "kvm" make_test "${SYSTEM_TARGET}")
116 STRING(REGEX MATCH "windows" make_test "${SYSTEM_TARGET}")
118 ADD_CUSTOM_COMMAND(TARGET pipol_kvm_deploy
119 COMMENT "PIPOL Build : ${SYSTEM_PATTERN}"
120 COMMAND rsync ${pipol_user}@pipol.inria.fr:/usr/local/bin/pipol-sub .
121 COMMAND ./pipol-sub --pipol-user=${pipol_user} ${SYSTEM_PATTERN} 02:00 --reconnect --group --keep --verbose=1 --export=${CMAKE_HOME_DIRECTORY} --rsynco=-aC
122 \"sudo chown ${pipol_user} ${CMAKE_HOME_DIRECTORY} \;
123 cd ${CMAKE_HOME_DIRECTORY} \;
124 sh ${CMAKE_HOME_DIRECTORY}/buildtools/pipol/liste_install.sh \;
125 cmake -E remove CMakeCache.txt \;
126 cmake ${CMAKE_HOME_DIRECTORY}${CMAKE_OPTIONS} \;
127 ctest -D Experimental \"
132 ADD_CUSTOM_COMMAND(TARGET ${SYSTEM_TARGET}_experimental
134 COMMENT "See results on http://cdash.inria.fr/CDash/index.php?project=Simgrid"
137 ADD_CUSTOM_COMMAND(TARGET pipol_test_list_images
138 COMMAND echo ${SYSTEM_TARGET}
140 ADD_CUSTOM_COMMAND(TARGET pipol_experimental_list_images
141 COMMAND echo "${SYSTEM_TARGET}_experimental"
143 ENDMACRO(PIPOL_TARGET)
147 # add a target for each pipol system
149 #MESSAGE(STATUS "Adding Pipol targets")
150 FOREACH(SYSTEM ${PIPOL_SYSTEMS})
151 PIPOL_TARGET(${SYSTEM})
152 ENDFOREACH(SYSTEM ${PIPOL_SYSTEMS})
155 ADD_CUSTOM_TARGET(pipol_kill_all_jobs
156 COMMENT "PIPOL delete all jobs"
157 COMMAND ./pipol-sub --pipol-user=${pipol_user} deleteallmyjobs
160 #message(STATUS "Pipol options: ${CMAKE_OPTIONS}")
162 add_custom_target(sync-pipol
163 COMMENT "Update pipol script for user: ${pipol_user}"
164 COMMAND scp ${CMAKE_HOME_DIRECTORY}/buildtools/pipol/rc.* ${pipol_user}@pipol.inria.fr:~/.pipol/
165 COMMAND scp ${CMAKE_HOME_DIRECTORY}/buildtools/pipol/Nightly_simgrid.sh ${pipol_user}@pipol.inria.fr:~/.pipol/nightly/
166 COMMAND scp ${CMAKE_HOME_DIRECTORY}/buildtools/pipol/Nightly_memCheck.sh ${pipol_user}@pipol.inria.fr:~/.pipol/nightly/
167 COMMAND scp ${CMAKE_HOME_DIRECTORY}/buildtools/pipol/Experimental_bindings.sh ${pipol_user}@pipol.inria.fr:~/
168 COMMAND scp ${CMAKE_HOME_DIRECTORY}/buildtools/pipol/pre-simgrid.sh ${pipol_user}@pipol.inria.fr:~/
169 COMMAND ssh ${pipol_user}@pipol.inria.fr "chmod a=rwx ~/* ~/.pipol/rc.* ~/.pipol/nightly/*"