1 # ---------------------------------------------------------------------
3 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
5 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
7 # This software is governed by the CeCILL-B license under French law and
8 # abiding by the rules of distribution of free software. You can use,
9 # modify and/ or redistribute the software under the terms of the CeCILL-B
10 # license as circulated by CEA, CNRS and INRIA at the following URL
11 # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
12 # or in the file LICENSE.txt.
14 # As a counterpart to the access to the source code and rights to copy,
15 # modify and redistribute granted by the license, users are provided only
16 # with a limited warranty and the software's author, the holder of the
17 # economic rights, and the successive licensors have only limited
20 # The fact that you are presently reading this means that you have had
21 # knowledge of the CeCILL-B license and that you accept its terms.
22 # ------------------------------------------------------------------------ */
25 cmake_minimum_required(VERSION 2.6)
27 #################################################################
30 # > ctest -S creatools-linux.ctest,PROJECT [-V|-VV]
31 # where PROJECT is the name of the project to build and test
32 # e.g. crea, bbtk, creaImageIO, etc.
33 # add -V or -VV tu run in verbose or extra-verbose mode
34 #################################################################
36 #################################################################
37 if(NOT CTEST_SCRIPT_ARG)
38 message(FATAL_ERROR "You must pass the name of the project to test !")
39 endif(NOT CTEST_SCRIPT_ARG)
40 set(project_name ${CTEST_SCRIPT_ARG})
41 #################################################################
43 #################################################################
45 ## You MUST modify the following lines, according to what you use.
47 # The name of your machine
48 set(CTEST_SITE "IV-SV-268")
50 # The architecture of your system
51 set(arch "ubuntu-8.10-gcc4.3.2")
53 # The type of build (as specified in the CMakeCache created)
54 set(buildtype "release")
56 #################################################################
58 #################################################################
60 set(CTEST_DASHBOARD_ROOT "$ENV{HOME}/dashboards")
61 set(MODEL Experimental)
63 set(CMakeCacheFile "${project_name}-${buildtype}-CMakeCache.txt")
64 #################################################################
66 #################################################################
67 ## The following lines must NOT be modified!
68 ## NOTHING FOR USER BELOW
74 #set(CTEST_SITE "$ENV{HOSTNAME}")
75 #MESSAGE(FATAL_ERROR $ENV{HOSTNAME})
76 set(CTEST_BUILD_NAME "${project_name}-${CTEST_SITE}-${arch}-${buildtype}")
78 set(source_dir ${project_name})
79 #set(extra_source_dir "VTKData")
80 set(build_dir "${project_name}-${buildtype}")
81 set(CTEST_TEST_TIMEOUT 140) # 70 seconds. 70 seconds is probably not enough when coverage is ON.
83 set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
84 set(CTEST_BUILD_COMMAND "make -j${NUMBER_OF_CPU}")
87 set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
88 set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${source_dir}")
89 set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${build_dir}")
91 set(CTEST_COVERAGE_COMMAND "/usr/bin/gcov") # REQUIRED with new ctest script style.
93 # --coverage: -fprofile-arcs -ftest-coverage (when compiling)
94 # --coverage: -lgcov (when linking)
96 ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
100 #set(advanced_flags"-Wpointer-arith -Winvalid-pch -Wcast-align -Wwrite-strings -fstack-protector-all -D_FORTIFY_SOURCE=2 -Wconversion")
102 set(cov_options "-fprofile-arcs -ftest-coverage")
104 set(common_flags "-fdiagnostics-show-option -Wall -Wextra -Wshadow ${advanced_flags} ${cov_options}")
107 set(advanced_c_flags)
108 #set(advanced_c_flags "-Wtraditional-conversion")
110 # C++ specific flags:
111 set(advanced_cxx_flags)
112 #set(advanced_cxx_flags "-Wstrict-null-sentinel -Wsign-conversion -Wsign-promo")
114 #MESSAGE(STATUS ${CTEST_SCRIPT_DIRECTORY})
117 ${CTEST_SCRIPT_DIRECTORY}/${CMakeCacheFile}
118 ${CTEST_BINARY_DIRECTORY}/CMakeCache.txt
121 # Write initial cache.
122 #file(WRITE "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt" "
123 #MAKECOMMAND:STRING=make -j3 -k
124 #CMAKE_CXX_FLAGS:STRING=${common_flags} ${advanced_cxx_flags} -Woverloaded-virtual
125 #CMAKE_CXX_FLAGS_DEBUG:STRING=-O0 -ggdb
126 #CMAKE_C_FLAGS:STRING=${common_flags} ${advanced_c_flags}
127 #CMAKE_C_FLAGS_DEBUG:STRING=-O0 -ggdb
128 #CMAKE_EXE_LINKER_FLAGS:STRING=${cov_options}
129 #CMAKE_SHARED_LINKER_FLAGS:STRING=${cov_options}
130 #CMAKE_BUILD_TYPE:STRING=Debug
131 #BUILD_SHARED_LIBS:BOOL=ON
132 #VTK_DEBUG_LEAKS:BOOL=ON
133 #BUILD_DOCUMENTATION:BOOL=ON
134 #BUILD_EXAMPLES:BOOL=ON
135 #JAVA_AWT_INCLUDE_PATH:PATH=/usr/lib/jvm/java-6-sun/include
136 #JAVA_AWT_LIBRARY:FILEPATH=/usr/lib/jvm/java-6-sun/jre/lib/i386/libjawt.so
137 #JAVA_INCLUDE_PATH:PATH=/usr/lib/jvm/java-6-sun/include
138 #JAVA_INCLUDE_PATH2:PATH=/usr/lib/jvm/java-6-sun/include/linux
139 #VTK_USE_BOOST:BOOL=ON
141 #VTK_USE_GL2PS:BOOL=OFF
142 #VTK_WRAP_JAVA:BOOL=ON
143 #VTK_WRAP_PYTHON:BOOL=ON
144 #VTK_WRAP_TCL:BOOL=ON
145 #VTK_USE_GUISUPPORT:BOOL=ON
146 #VTK_USE_QVTK:BOOL=ON
147 #DESIRED_QT_VERSION:STRING=4
148 #VTK_USE_ODBC:BOOL=ON
149 #ODBC_INCLUDE_DIRECTORIES:PATH=/usr/include
150 #ODBC_LIBRARY:FILEPATH=/usr/lib/libodbc.so
151 #VTK_USE_MYSQL:BOOL=ON
152 #VTK_USE_POSTGRES:BOOL=ON
153 #VTK_LEGACY_REMOVE:BOOL=ON
156 set(CTEST_UPDATE_COMMAND "cvs")
158 # set any extra directories to do an update on
159 if(NOT EXISTS "${CTEST_DASHBOARD_ROOT}/${source_dir}")
160 message("Initial checkout of ${project_name}")
162 COMMAND "${CTEST_UPDATE_COMMAND}" -q -z3 co ${project_name}
163 WORKING_DIRECTORY "${CTEST_DASHBOARD_ROOT}"
165 else(NOT EXISTS "${CTEST_DASHBOARD_ROOT}/${source_dir}")
167 COMMAND "${CTEST_UPDATE_COMMAND}" -q -z3 up "-PdA"
168 WORKING_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${source_dir}"
170 endif(NOT EXISTS "${CTEST_DASHBOARD_ROOT}/${source_dir}")
172 ctest_start(${MODEL})
173 ctest_update(SOURCE "${CTEST_SOURCE_DIRECTORY}")
174 ctest_configure(BUILD "${CTEST_BINARY_DIRECTORY}")
175 ctest_read_custom_files("${CTEST_BINARY_DIRECTORY}")
176 ctest_build(BUILD "${CTEST_BINARY_DIRECTORY}")
178 # save LD_LIBRARY_PATH
179 #set(saved_ld_library_path "$ENV{LD_LIBRARY_PATH}")
181 # Change it so that JavaRegression test can pass.
182 #set(ENV{LD_LIBRARY_PATH} "/usr/lib/jvm/java-6-sun/jre/lib/i386/xawt:${saved_ld_libray_path}")
183 #ctest_test(BUILD "${CTEST_BINARY_DIRECTORY}")
184 #ctest_coverage(BUILD "${CTEST_BINARY_DIRECTORY}")
185 # restore LD_LIBRARY_PATH
186 #set(ENV{LD_LIBRARY_PATH} "${saved_ld_library_path}")
188 #ctest_memcheck(BUILD "${CTEST_BINARY_DIRECTORY}")