]> Creatis software - creaToolsTools.git/blob - ctest/bbtk-osx.ctest
067490ce75b747421a01d6f35a427bc7ffef51d8
[creaToolsTools.git] / ctest / bbtk-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 #################################################################
12 ## MANDATORY 
13 # On my machine $ENV{HOSTNAME} does not work. why ?
14 # Have to set the host name manually
15
16 set(CTEST_SITE "cercocebe")
17 #$ENV{HOSTNAME}")
18 set(arch "osx_10.5.6")
19 set(buildtype "debug")
20 set(CMakeCacheFile "bbtk-debug-CMakeCache.txt")
21 #################################################################
22
23 #################################################################
24 ## MAY BE CHANGED :
25 set(CTEST_DASHBOARD_ROOT "$ENV{HOME}/dashboards")
26 set(MODEL Experimental)
27 set(NUMBER_OF_CPU 2)
28 #################################################################
29
30 #################################################################
31 ## The following lines must NOT be modified!
32 ## NOTHING FOR USER BELOW
33 ## NO RATS ALLOWED!
34 ## HANDS OFF!
35 ## ;-)
36
37 set(project_name "bbtk")
38
39 set(project_name "bbtk")
40 set(CTEST_SITE "cercocebe") 
41 #set(CTEST_SITE "$ENV{HOSTNAME}")
42 set(CTEST_BUILD_NAME "${project_name}-${CTEST_SITE}-${arch}-${buildtype}")
43
44 set(source_dir ${project_name})
45 #set(extra_source_dir "VTKData")
46 set(build_dir ${CTEST_BUILD_NAME})
47 set(CTEST_TEST_TIMEOUT 140) # 70 seconds. 70 seconds is probably not enough when coverage is ON.
48
49 set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
50 set(CTEST_BUILD_COMMAND "make -j${NUMBER_OF_CPU}")
51
52
53 set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
54 set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${source_dir}")
55 set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${build_dir}")
56
57 set(CTEST_COVERAGE_COMMAND "/usr/bin/gcov") # REQUIRED with new ctest script style.
58
59 # --coverage: -fprofile-arcs -ftest-coverage (when compiling)
60 # --coverage: -lgcov (when linking)
61
62 ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
63
64 # Common C/C++ flags:
65 set(advanced_flags)
66 #set(advanced_flags"-Wpointer-arith -Winvalid-pch -Wcast-align -Wwrite-strings -fstack-protector-all -D_FORTIFY_SOURCE=2 -Wconversion")
67
68 set(cov_options "-fprofile-arcs -ftest-coverage")
69
70 set(common_flags "-fdiagnostics-show-option -Wall -Wextra -Wshadow ${advanced_flags} ${cov_options}")
71
72 # C specific flags:
73 set(advanced_c_flags)
74 #set(advanced_c_flags "-Wtraditional-conversion")
75
76 # C++ specific flags:
77 set(advanced_cxx_flags)
78 #set(advanced_cxx_flags "-Wstrict-null-sentinel -Wsign-conversion -Wsign-promo")
79
80
81 configure_file( 
82   ${CTEST_SCRIPT_DIRECTORY}/${CMakeCacheFile}
83   ${CTEST_BINARY_DIRECTORY}/CMakeCache.txt 
84   COPY_ONLY)
85
86
87 set(CTEST_UPDATE_COMMAND "cvs")
88
89 # set any extra directories to do an update on
90 if(NOT EXISTS "${CTEST_DASHBOARD_ROOT}/${source_dir}")
91   message("Initial checkout of ${project_name}")
92   execute_process(
93     COMMAND "${CTEST_UPDATE_COMMAND}" -q -z3 co ${project_name}
94     WORKING_DIRECTORY "${CTEST_DASHBOARD_ROOT}"
95     )
96 else(NOT EXISTS "${CTEST_DASHBOARD_ROOT}/${source_dir}")
97  execute_process(
98   COMMAND "${CTEST_UPDATE_COMMAND}" -q -z3 up "-PdA"
99   WORKING_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${source_dir}"
100   )
101 endif(NOT EXISTS "${CTEST_DASHBOARD_ROOT}/${source_dir}")
102
103 ctest_start(${MODEL})
104 ctest_update(SOURCE "${CTEST_SOURCE_DIRECTORY}")
105 ctest_configure(BUILD "${CTEST_BINARY_DIRECTORY}")
106 ctest_read_custom_files("${CTEST_BINARY_DIRECTORY}")
107 ctest_build(BUILD "${CTEST_BINARY_DIRECTORY}")
108
109 # save LD_LIBRARY_PATH
110 #set(saved_ld_library_path "$ENV{LD_LIBRARY_PATH}")
111
112 # Change it so that JavaRegression test can pass.
113 #set(ENV{LD_LIBRARY_PATH} "/usr/lib/jvm/java-6-sun/jre/lib/i386/xawt:${saved_ld_libray_path}")
114 ctest_test(BUILD "${CTEST_BINARY_DIRECTORY}")
115 ctest_coverage(BUILD "${CTEST_BINARY_DIRECTORY}")
116 # restore LD_LIBRARY_PATH
117 #set(ENV{LD_LIBRARY_PATH} "${saved_ld_library_path}")
118
119 #ctest_memcheck(BUILD "${CTEST_BINARY_DIRECTORY}")
120 #ctest_submit()