X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=ctest%2FREADME.txt;h=a717bccda2d31feb602d6ce73339b6658dab8e4d;hb=5808bbd8f0c5422f781e5f9ffb31fb650e649817;hp=be5eb6f96be73fe76be72d0f1ca87a91b6bf6c6d;hpb=cc5a91a13ae0b597e16029eecf2f64d1c54bef9c;p=creaToolsTools.git diff --git a/ctest/README.txt b/ctest/README.txt index be5eb6f..a717bcc 100644 --- a/ctest/README.txt +++ b/ctest/README.txt @@ -1,3 +1,27 @@ +# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la Santé) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ */ + + This folder provides ctest scripts to automatically build anyone of the 'creatools', test it and submit results to creatis dashboard. @@ -5,55 +29,59 @@ of the 'creatools', test it and submit results to creatis dashboard. INSTRUCTIONS ---------------- -* All ctest script files in this folder have the following format : - PROJECT-OS.ctest (e.g. crea-linux.ctest for crea project on linux platforms - bbtk-osx.ctest for bbtk project on OsX platforms) - -* The default configuration is to build and run the tests in ${HOME}/dashboards, -(to be created by user) - This location is stored by ctest in the var CTEST_DASHBOARD_ROOT - -* You have to : - -1) Create a initial CMakeCache.txt corresponding to your machine config : - - a) CVS Checkout the project to test - b) Configure the project manually with cmake (ccmake or CMakeSetup), setting - your system/install specific options (libraries paths, options, build type, ...) - c) Copy the file 'CMakeCache.txt' from the build tree to your testing directory - (where you will run ctest, usually the same than CTEST_DASHBOARD_ROOT), - and rename it with a meaningfull name like : - (PROJECT-BUILDTYPE-CMakeCache.txt, e.g. crea-debug-CMakeCache.txt) - d) Edit the copied file and comment out (type an initial #) all lines which - make explicit reference to the build directory - (the directory where you configured with cmake, use the 'find' tool of your - editor). Typically for crea, you'll have to comment out the following lines : - #//Value Computed by CMake - #crea_BINARY_DIR:STATIC=/home/guigues/coding/Build/crea - #//Value Computed by CMake - #crea_SOURCE_DIR:STATIC=/home/guigues/coding/CreaTools/crea - #//This is the directory where this CMakeCahe.txt was created - #CMAKE_CACHEFILE_DIR:INTERNAL=/home/guigues/coding/Build/crea - #//Start directory with the top level CMakeLists.txt file for this - #// project - #CMAKE_HOME_DIRECTORY:INTERNAL=/home/guigues/coding/CreaTools/crea - -2) Copy in CTEST_DASHBOARD_ROOT the right ctest file to another filename, - e.g. copy 'crea-linux.ctest' to 'crea-mymachine-debug.ctest' - -3) Edit the new file and set : - * The architecture description, typically os+compiler with versions - e.g. fc9-gcc4.3.0, win32-vs8, etc. - * The build type, e.g. debug, release... - * The name of the CMakeCache.txt file to use as initial cache file (see 3) - below) - * You can also customize the CTEST_DASHBOARD_ROOT folder - -4) Run ctest with the script, typically : -> ctest -S crea-linux-mymachine-debug.ctest -V -The -V option sets ctest to verbose mode, use -VV if you want to see each -command issued... - - -* To schedule automatic build, see : +1) Create a directory where you are going to run the tests. + The default directory is '${HOME}/dashboards' + If you change this location then you MUST change the line : + set(CTEST_DASHBOARD_ROOT "$ENV{HOME}/dashboards") + in your ctest file (see below) + +2) Copy the ctest file corresponding to your os in the test dir, + e.g. copy 'creatools-linux-osx.ctest' if you are on a linux + or on a mac osx platform. + +3) Edit the copied file and make the necessary changes inside + following the comments therein. + If you changed the default test dir, do not forget to change + the line set(CTEST_DASHBOARD_ROOT "$ENV{HOME}/dashboards"). + +4) For each project you want to test: + 4.1) Perform an initial checkout of the project in test dir, + e.g. 'cvs co crea' + 4.2) Create a build dir with name PROJECTNAME-BUILDTYPE, + e.g. 'crea-release' + 4.3) Go to the build dir, configure the project with cmake + (run ccmake or CMakeSetup), setting your machine + specific options (libraries paths, options, build type, ...) + 4.4) Copy the 'CMakeCache.txt' file created by cmake in the test dir + renaming it 'PROJECTNAME-BUILDTYPE-CMakeCache.txt' + +5) To run a test, type in test dir: + 'ctest -S creatools-OS.ctest,PROJECTNAME' [-V|-VV] + Where : * 'creatools-OS.ctest' is the name of your customized ctest file, + (e.g. creatools-linux-osx.ctest) + * PROJECTNAME is the name of the project to build and test + (e.g. crea, bbtk, ...) + * add -V or -VV tu run in verbose or extra-verbose mode + +---------------- +If you want to build the whole suite, you have to follow the projects +dependencies. +When you configure manually a project with cmake, +make sure that the path to the libraries of the suite +are properly set to the build directories in the test dir. + +A consistent build order is: +- crea +- bbtk (depends on crea) +- creaEnvironment (depends on crea) +- creaImageIO (depends on crea, bbtk) +- creaMaracasVisu (depends on crea, bbtk) +- creaContours (depends on crea, bbtk, creaImageIO, creaEnvironment, creaMaracasVisu) + +On linux or osx, see the bash script ctest-all-creatools.sh + +---------------- +REM: To schedule automatic build, see : http://www.vtk.org/Wiki/CMake_Scripting_Of_CTest +---------------- +