1
0

create-cmake-release.cmake 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. if(NOT DEFINED CMAKE_CREATE_VERSION)
  2. set(CMAKE_CREATE_VERSION "release")
  3. message("Using default value of 'release' for CMAKE_CREATE_VERSION")
  4. endif()
  5. file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/logs)
  6. set(RELEASE_SCRIPTS_BATCH_1
  7. dash2win64_release.cmake # Windows
  8. dashmacmini2_release.cmake # Mac Darwin universal ppc;i386
  9. dashmacmini5_release.cmake # Mac Darwin64 universal x86_64;i386
  10. magrathea_release.cmake # Linux
  11. v20n250_aix_release.cmake # AIX 5.3
  12. ferrari_sgi64_release.cmake # IRIX 64
  13. ferrari_sgi_release.cmake # IRIX
  14. )
  15. set(RELEASE_SCRIPTS_BATCH_2
  16. dash2win64_cygwin.cmake # Cygwin
  17. )
  18. function(write_batch_shell_script filename)
  19. set(scripts ${ARGN})
  20. set(i 0)
  21. file(WRITE ${filename} "#!/bin/bash")
  22. foreach(f ${scripts})
  23. math(EXPR x "420*(${i}/4)")
  24. math(EXPR y "160*(${i}%4)")
  25. file(APPEND ${filename}
  26. "
  27. ${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 &
  28. 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&
  29. ")
  30. math(EXPR i "${i}+1")
  31. endforeach(f)
  32. execute_process(COMMAND chmod a+x ${filename})
  33. endfunction()
  34. write_batch_shell_script("create-${CMAKE_CREATE_VERSION}-batch1.sh" ${RELEASE_SCRIPTS_BATCH_1})
  35. write_batch_shell_script("create-${CMAKE_CREATE_VERSION}-batch2.sh" ${RELEASE_SCRIPTS_BATCH_2})
  36. message("Run ./create-${CMAKE_CREATE_VERSION}-batch1.sh, then after all those builds complete, run ./create-${CMAKE_CREATE_VERSION}-batch2.sh")