]> Creatis software - creaToolsTools.git/blob - ctest/creatools-linux-osx.ctest
466340ddb789b39f903f80e448adb5b19eafa544
[creaToolsTools.git] / ctest / creatools-linux-osx.ctest
1 cmake_minimum_required(VERSION 2.6)
2
3 #################################################################
4 # LG+SV 30/01/08
5 # To use it :
6 # > ctest -S creatools-linux.ctest,PROJECT [-V|-VV] 
7 # where PROJECT is the name of the project to build and test
8 # e.g. crea, bbtk, creaImageIO, etc.
9 # add -V or -VV tu run in verbose or extra-verbose mode
10 #################################################################
11
12 #################################################################
13 if(NOT CTEST_SCRIPT_ARG)
14 message(FATAL_ERROR "You must pass the name of the project to test !")
15 endif(NOT CTEST_SCRIPT_ARG)
16 set(project_name ${CTEST_SCRIPT_ARG})
17 #################################################################
18
19 #################################################################
20 ## MANDATORY 
21 ##  You MUST modify the following lines, according to what you use.
22
23 # The name of your machine
24 set(CTEST_SITE "IV-SV-268")
25
26 # The architecture of your system
27 set(arch "ubuntu-8.10-gcc4.3.2")
28
29 # The type of build (as specified in the CMakeCache created)
30 set(buildtype "release")
31
32 #################################################################
33
34 #################################################################
35 ## MAY BE CHANGED : 
36 set(CTEST_DASHBOARD_ROOT "$ENV{HOME}/dashboards")
37 set(MODEL Experimental)
38 set(NUMBER_OF_CPU 4)
39 set(CMakeCacheFile "${project_name}-${buildtype}-CMakeCache.txt")
40 #################################################################
41
42 #################################################################
43 ## The following lines must NOT be modified!
44 ## NOTHING FOR USER BELOW
45 ## NO RATS ALLOWED!
46 ## HANDS OFF!
47 ## ;-)
48
49
50 #set(CTEST_SITE "$ENV{HOSTNAME}")
51 #MESSAGE(FATAL_ERROR $ENV{HOSTNAME})
52 set(CTEST_BUILD_NAME "${project_name}-${CTEST_SITE}-${arch}-${buildtype}")
53
54 set(source_dir ${project_name})
55 #set(extra_source_dir "VTKData")
56 set(build_dir "${project_name}-${buildtype}")
57 set(CTEST_TEST_TIMEOUT 140) # 70 seconds. 70 seconds is probably not enough when coverage is ON.
58
59 set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
60 set(CTEST_BUILD_COMMAND "make -j${NUMBER_OF_CPU}")
61
62
63 set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
64 set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${source_dir}")
65 set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${build_dir}")
66
67 set(CTEST_COVERAGE_COMMAND "/usr/bin/gcov") # REQUIRED with new ctest script style.
68
69 # --coverage: -fprofile-arcs -ftest-coverage (when compiling)
70 # --coverage: -lgcov (when linking)
71
72 ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
73
74 # Common C/C++ flags:
75 set(advanced_flags)
76 #set(advanced_flags"-Wpointer-arith -Winvalid-pch -Wcast-align -Wwrite-strings -fstack-protector-all -D_FORTIFY_SOURCE=2 -Wconversion")
77
78 set(cov_options "-fprofile-arcs -ftest-coverage")
79
80 set(common_flags "-fdiagnostics-show-option -Wall -Wextra -Wshadow ${advanced_flags} ${cov_options}")
81
82 # C specific flags:
83 set(advanced_c_flags)
84 #set(advanced_c_flags "-Wtraditional-conversion")
85
86 # C++ specific flags:
87 set(advanced_cxx_flags)
88 #set(advanced_cxx_flags "-Wstrict-null-sentinel -Wsign-conversion -Wsign-promo")
89
90 #MESSAGE(STATUS ${CTEST_SCRIPT_DIRECTORY})
91
92 configure_file( 
93   ${CTEST_SCRIPT_DIRECTORY}/${CMakeCacheFile}
94   ${CTEST_BINARY_DIRECTORY}/CMakeCache.txt 
95   COPY_ONLY)
96
97 # Write initial cache.
98 #file(WRITE "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt" "
99 #MAKECOMMAND:STRING=make -j3 -k
100 #CMAKE_CXX_FLAGS:STRING=${common_flags} ${advanced_cxx_flags} -Woverloaded-virtual
101 #CMAKE_CXX_FLAGS_DEBUG:STRING=-O0 -ggdb
102 #CMAKE_C_FLAGS:STRING=${common_flags} ${advanced_c_flags}
103 #CMAKE_C_FLAGS_DEBUG:STRING=-O0 -ggdb
104 #CMAKE_EXE_LINKER_FLAGS:STRING=${cov_options}
105 #CMAKE_SHARED_LINKER_FLAGS:STRING=${cov_options}
106 #CMAKE_BUILD_TYPE:STRING=Debug 
107 #BUILD_SHARED_LIBS:BOOL=ON
108 #VTK_DEBUG_LEAKS:BOOL=ON
109 #BUILD_DOCUMENTATION:BOOL=ON
110 #BUILD_EXAMPLES:BOOL=ON
111 #JAVA_AWT_INCLUDE_PATH:PATH=/usr/lib/jvm/java-6-sun/include
112 #JAVA_AWT_LIBRARY:FILEPATH=/usr/lib/jvm/java-6-sun/jre/lib/i386/libjawt.so
113 #JAVA_INCLUDE_PATH:PATH=/usr/lib/jvm/java-6-sun/include
114 #JAVA_INCLUDE_PATH2:PATH=/usr/lib/jvm/java-6-sun/include/linux
115 #VTK_USE_BOOST:BOOL=ON
116 # GL2PS test broken
117 #VTK_USE_GL2PS:BOOL=OFF
118 #VTK_WRAP_JAVA:BOOL=ON
119 #VTK_WRAP_PYTHON:BOOL=ON
120 #VTK_WRAP_TCL:BOOL=ON
121 #VTK_USE_GUISUPPORT:BOOL=ON
122 #VTK_USE_QVTK:BOOL=ON
123 #DESIRED_QT_VERSION:STRING=4
124 #VTK_USE_ODBC:BOOL=ON
125 #ODBC_INCLUDE_DIRECTORIES:PATH=/usr/include
126 #ODBC_LIBRARY:FILEPATH=/usr/lib/libodbc.so
127 #VTK_USE_MYSQL:BOOL=ON
128 #VTK_USE_POSTGRES:BOOL=ON
129 #VTK_LEGACY_REMOVE:BOOL=ON
130 #")
131
132 set(CTEST_UPDATE_COMMAND "cvs")
133
134 # set any extra directories to do an update on
135 if(NOT EXISTS "${CTEST_DASHBOARD_ROOT}/${source_dir}")
136   message("Initial checkout of ${project_name}")
137   execute_process(
138     COMMAND "${CTEST_UPDATE_COMMAND}" -q -z3 co ${project_name}
139     WORKING_DIRECTORY "${CTEST_DASHBOARD_ROOT}"
140     )
141 else(NOT EXISTS "${CTEST_DASHBOARD_ROOT}/${source_dir}")
142  execute_process(
143   COMMAND "${CTEST_UPDATE_COMMAND}" -q -z3 up "-PdA"
144   WORKING_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${source_dir}"
145   )
146 endif(NOT EXISTS "${CTEST_DASHBOARD_ROOT}/${source_dir}")
147
148 ctest_start(${MODEL})
149 ctest_update(SOURCE "${CTEST_SOURCE_DIRECTORY}")
150 ctest_configure(BUILD "${CTEST_BINARY_DIRECTORY}")
151 ctest_read_custom_files("${CTEST_BINARY_DIRECTORY}")
152 ctest_build(BUILD "${CTEST_BINARY_DIRECTORY}")
153
154 # save LD_LIBRARY_PATH
155 #set(saved_ld_library_path "$ENV{LD_LIBRARY_PATH}")
156
157 # Change it so that JavaRegression test can pass.
158 #set(ENV{LD_LIBRARY_PATH} "/usr/lib/jvm/java-6-sun/jre/lib/i386/xawt:${saved_ld_libray_path}")
159 #ctest_test(BUILD "${CTEST_BINARY_DIRECTORY}")
160 #ctest_coverage(BUILD "${CTEST_BINARY_DIRECTORY}")
161 # restore LD_LIBRARY_PATH
162 #set(ENV{LD_LIBRARY_PATH} "${saved_ld_library_path}")
163
164 #ctest_memcheck(BUILD "${CTEST_BINARY_DIRECTORY}")
165 ctest_submit()