File: ctest.cmake

package info (click to toggle)
life 0.9.24-7
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 11,456 kB
  • ctags: 22,335
  • sloc: cpp: 125,538; sh: 5,697; python: 1,981; perl: 338; makefile: 35
file content (105 lines) | stat: -rw-r--r-- 3,135 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
cmake_minimum_required (VERSION 2.6)

FUNCTION(_Life_COMPILER_DUMPVERSION _OUTPUT_VERSION)

  EXEC_PROGRAM(gcc
    ARGS  -dumpversion
    OUTPUT_VARIABLE _life_COMPILER_VERSION
  )
  STRING(REGEX REPLACE "([0-9])\\.([0-9])(\\.[0-9])?" "\\1\\2"
    _life_COMPILER_VERSION ${_life_COMPILER_VERSION})

  SET(${_OUTPUT_VERSION} ${_life_COMPILER_VERSION} PARENT_SCOPE)
ENDFUNCTION()


_Life_COMPILER_DUMPVERSION(_life_COMPILER_VERSION)

#MESSAGE(STATUS "life_COMPILER_VERSION: gcc${_life_COMPILER_VERSION}")
# MESSAGE(STATUS "CMAKE_SYSTEM: ${CMAKE_SYSTEM}")
#MESSAGE(STATUS "CMAKE_SYSTEM NAME: ${CMAKE_SYSTEM_NAME}")
#MESSAGE(STATUS "CMAKE_SYSTEM_PROCESSOR: ${CMAKE_SYSTEM_PROCESSOR}")
#MESSAGE(STATUS "CMAKE_SYSTEM_VERSION: ${CMAKE_SYSTEM_VERSION}")
#set( build_name "${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}-gcc${_life_COMPILER_VERSION}")
#MESSAGE(STATUS "build_name: ${build_name}")


find_program(UNAME NAMES uname)
macro(getuname name flag)
  exec_program("${UNAME}" ARGS "${flag}" OUTPUT_VARIABLE "${name}")
endmacro(getuname)

getuname(osname -s)
getuname(osrel  -r)
getuname(cpu    -m)
set(CTEST_BUILD_NAME        "${osname}-${cpu}-gcc${_life_COMPILER_VERSION}")


SET(MODEL Nightly)
IF(${CTEST_SCRIPT_ARG} MATCHES Experimental)
  SET(MODEL Experimental)
ENDIF()
IF(${CTEST_SCRIPT_ARG} MATCHES Continuous)
  SET(MODEL Continuous)
ENDIF()

SET (CTEST_INITIAL_CACHE "
// Enable tests
LIFE_ENABLE_ALL:BOOL=ON
CMAKE_CXX_FLAGS:STRING=-std=c++0x -O3 -DOPTIMIZE -DNDEBUG -DNDEBUG_OLD
CMAKE_C_FLAGS:STRING=-std=c++0x -O3 -DOPTIMIZE -DNDEBUG -DNDEBUG_OLD
")

# -----------------------------------------------------------  
# -- build specific
# -----------------------------------------------------------  

## -- make command
## -----------------
find_program(MAKE NAMES make)

## -- Build options
set(OPTION_BUILD                        "-j2")



SET (CTEST_SOURCE_DIRECTORY "$ENV{HOME}/sources/life")
set(CTEST_BINARY_DIRECTORY  "$ENV{HOME}/sources/life-${CTEST_BUILD_NAME}")
set (CTEST_COMMAND "ctest -D ${MODEL}" )
SET (CTEST_CMAKE_COMMAND "cmake" )

SET (CTEST_SVN_COMMAND    "svn" )
SET (CTEST_SVN_CHECKOUT   "${CTEST_SVN_COMMAND} co svn://scm.ljkforge.imag.fr/svn/life/life/trunk ${CTEST_SOURCE_DIRECTORY}")
set (CTEST_UPDATE_COMMAND "${CTEST_SVN_COMMAND}")

# set(CTEST_BUILD_COMMAND     "make -j2")

# -----------------------------------------------------------  
# -- commands
# -----------------------------------------------------------  

set(CTEST_BUILD_COMMAND                "${MAKE} ${OPTION_BUILD}")

# -----------------------------------------------------------  
# -- Settings
# -----------------------------------------------------------  

set(CTEST_TIMEOUT           "600")

if (${MODEL} MATCHES Nightly )

  # should ctest wipe the binary tree before running
  SET (CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE)

endif()

if ( ${MODEL} MATCHES Continuous )
  while (${CTEST_ELAPSED_TIME} LESS 36000)
    set (START_TIME ${CTEST_ELAPSED_TIME})
    ctest_start (Continuous)

    SET (CTEST_START_WITH_EMPTY_BINARY_DIRECTORY_ONCE 1)

    ctest_sleep( ${START_TIME} 300 ${CTEST_ELAPSED_TIME})
  endwhile()
endif()