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