From Slicer Wiki
Revision as of 04:43, 12 April 2012 by JChris.FillionR (talk | contribs) (4.0 -> 4.1)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Home < Documentation < 4.1 < Developers < Tutorials < DashboardSetup


Use CMake version >= 2.8.7


Follow the following instructions to set up dashboard: (by JC, from [1])

$ cd ~
$ mkdir Dashboards
$ mkdir DashboardScripts
$ cd DashboardScripts
$ wget
$ mv SlicerDashboardScript.TEMPLATE.cmake <MachineName>_<OperatingSystem>-64bits_slicer_release_nightly.cmake

Edit the file <MachineName>_<OperatingSystem>-64bits_slicer_release_nightly.cmake to match your machine settings. You should update the following variables:

set(MY_OPERATING_SYSTEM   "<OperatingSystem>") # Windows, Linux, Darwin...
set(MY_COMPILER           "g++4.4.3")
set(MY_QT_VERSION         "4.7.4")
set(QT_QMAKE_EXECUTABLE   "$ENV{HOME}/Projects/QtSDK-1.2/Desktop/Qt/474/gcc/bin/qmake")
set(CTEST_SITE            "karakoram.kitware")
set(SCRIPT_MODE "nightly")

If git and svn are not in the path, make sure to set the variables CTEST_SVN_COMMAND and CTEST_GIT_COMMAND.

So that your dashboard can automatically start at 11pm daily, you could add an entry similar to the following one in your crontab. (On ubuntu, I am running crontab -e to edit the current user cron list)

0 11 * * * /path/to/cmake-2.8.7/bin/ctest -S /Users/JOE/DashboardScripts/<MachineName>_<OperatingSystem>-64bits_slicer_release_nightly.cmake -VV -O /Users/JOE/Dashboards/Logs/<MachineName>-<OperatingSystem>-64bits_slicer_release_nightly.log

You can use CTEST_BUILD_FLAGS to set the number of CPUs to be used by make (eg, -j4), and CTEST_PARALLEL_LEVEL to set the number of tests to run in parallel (see comments in the configuration script).

Scheduling on Mac OS X

Mac OS X is deprecating the use of cron in favor of launchd.

Create a file $HOME/Library/LaunchAgents/org.slicer.NightlyDashboard.plist

This is Jim's plist file which has extra EnvironmentVariables to get through his firewall.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "">
<plist version="1.0">







You can manually load this agent using

$ launchctl load $HOME/Library/LaunchAgents/org.slicer.NightlyDashboard.plist

and the agent will be reloaded automatically on a reboot.

Setting up a continuous dashboard

Similarly if you want to setup a continuous dashboard,

$ cp <MachineName>_<OperatingSystem>-64bits_slicer_release_nightly.cmake <MachineName>_<OperatingSystem>-64bits_slicer_release_continuous.cmake

Edit <MachineName>_<OperatingSystem>-64bits_slicer_release_continuous.cmake and set

set(SCRIPT_MODE "*continuous*")

Then add the corresponding entry in crontab so that it starts everyday at 6am:

0 6 * * * /path/to/cmake-2.8.7/bin/ctest -S /Users/JOE/DashboardScripts/<MachineName>_<OperatingSystem>-64bits_slicer_release_continuous.cmake -VV -O /Users/JOE/Dashboards/Logs/<MachineName>_<OperatingSystem>-64bits_slicer_release_nightly.log

The output of the build is contained in ctest_package_make_package_output.txt in your slicer build directory, you can check this file if something went wrong.