create-cmake-release.cmake 1.59 KB
Newer Older
1
if(NOT DEFINED CMAKE_CREATE_VERSION)
2
3
4
  set(CMAKE_CREATE_VERSION "release")
  message("Using default value of 'release' for CMAKE_CREATE_VERSION")
endif()
5

6
7
8
9
file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/logs)

set(RELEASE_SCRIPTS_BATCH_1
  dash2win64_release.cmake    # Windows
Bill Hoffman's avatar
Bill Hoffman committed
10
  dashmacmini2_release.cmake  # Mac Darwin universal
11
  magrathea_release.cmake     # Linux
12
13
  dashsun1_release.cmake      # SunOS
  v20n250_aix_release.cmake   # AIX 5.3
14
  ferrari_sgi64_release.cmake # IRIX 64
15
  ferrari_sgi_release.cmake   # IRIX
16
17
)

18
19
20
set(RELEASE_SCRIPTS_BATCH_2
  dash2win64_cygwin.cmake     # Cygwin
)
21

22
23
24
25
26
27
28
29
function(write_batch_shell_script filename)
  set(scripts ${ARGN})
  set(i 0)
  file(WRITE ${filename} "#!/bin/bash")
  foreach(f ${scripts})
    math(EXPR x "420*(${i}/4)")
    math(EXPR y "160*(${i}%4)")
    file(APPEND ${filename}
30
    "
31
${CMAKE_COMMAND} -DCMAKE_CREATE_VERSION=${CMAKE_CREATE_VERSION} -P ${CMAKE_ROOT}/Utilities/Release/${f} < /dev/null >& ${CMAKE_CURRENT_SOURCE_DIR}/logs/${f}-${CMAKE_CREATE_VERSION}.log &
32
33
34
35
36
37
38
39
40
41
42
xterm -geometry 64x6+${x}+${y} -sb -sl 2000 -T ${f}-${CMAKE_CREATE_VERSION}.log -e tail -f  ${CMAKE_CURRENT_SOURCE_DIR}/logs/${f}-${CMAKE_CREATE_VERSION}.log&
")
    math(EXPR i "${i}+1")
  endforeach(f)
  execute_process(COMMAND chmod a+x ${filename})
endfunction()

write_batch_shell_script("create-${CMAKE_CREATE_VERSION}-batch1.sh" ${RELEASE_SCRIPTS_BATCH_1})
write_batch_shell_script("create-${CMAKE_CREATE_VERSION}-batch2.sh" ${RELEASE_SCRIPTS_BATCH_2})

message("Run ./create-${CMAKE_CREATE_VERSION}-batch1.sh, then after all those builds complete, run ./create-${CMAKE_CREATE_VERSION}-batch2.sh")