ctkDashboardScript.EXAMPLE.cmake 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. # File name: ctkDashboardDriverScript.cmake
  2. #
  3. # OS: Ubuntu 9.04 2.6.28-18-generic
  4. # Hardware: x86_64 GNU/Linux
  5. # GPU: NA
  6. # Note: The specific version and processor type of this machine should be reported in the
  7. # header above. Indeed, this file will be send to the dashboard as a NOTE file.
  8. cmake_minimum_required(VERSION 2.8)
  9. #
  10. # For additional information,
  11. # See http://github.com/pieper/CTK/raw/master/CMake/ctkDashboardScript.EXAMPLE.cmake
  12. # See http://github.com/pieper/CTK/raw/master/CMake/ctkDashboardDriverScript.cmake
  13. #
  14. #
  15. # Dashboard properties
  16. #
  17. set(MY_OPERATING_SYSTEM "Linux") # Windows, Linux, Darwin...
  18. set(MY_COMPILER "g++4.3.3")
  19. set(MY_QT_VERSION "4.6.2")
  20. set(QT_QMAKE_EXECUTABLE "$ENV{HOME}/Projects/qtsdk-2010.02/qt/bin/qmake")
  21. set(CTEST_SITE "sagarmatha.kitware") # for example: mymachine.kitware, mymachine.dkfz, ...
  22. set(CTEST_DASHBOARD_ROOT "$ENV{HOME}/Projects/")
  23. set(CTEST_CMAKE_COMMAND "$ENV{HOME}/Projects/cmake-trunk-build/bin/cmake")
  24. set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
  25. #
  26. # Dashboard options
  27. #
  28. set(WITH_KWSTYLE FALSE)
  29. set(WITH_MEMCHECK FALSE)
  30. set(WITH_COVERAGE TRUE)
  31. set(WITH_DOCUMENTATION FALSE)
  32. set(CTEST_BUILD_CONFIGURATION "Release")
  33. set(CTEST_TEST_TIMEOUT 500)
  34. set(CTEST_BUILD_FLAGS "-j4") # Use multiple CPU cores to build
  35. # experimental:
  36. # - run_ctest() macro will be called *ONE* time
  37. # - binary directory will *NOT* be cleaned
  38. # continuous:
  39. # - run_ctest() macro will be called EVERY 5 minutes ...
  40. # - binary directory will *NOT* be cleaned
  41. # - configure/build will be executed *ONLY* if the repository has been updated
  42. # nightly:
  43. # - run_ctest() macro will be called *ONE* time
  44. # - binary directory *WILL BE* cleaned
  45. set(SCRIPT_MODE "experimental") # "experimental", "continuous", "nightly"
  46. #
  47. # Project specific properties
  48. #
  49. set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/CTK")
  50. set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/CTK-Superbuild-${SCRIPT_MODE}")
  51. # Additionnal CMakeCache options - For example:
  52. # CTK_LIB_Widgets:BOOL=ON
  53. # CTK_APP_ctkDICOM:BOOL=ON
  54. set(ADDITIONNAL_CMAKECACHE_OPTION "
  55. #CTK_LIB_Scripting/Python/Widgets:BOOL=ON
  56. ")
  57. # List of test that should be explicitly disabled on this machine
  58. set(TEST_TO_EXCLUDE_REGEX "")
  59. # set any extra environment variables here
  60. set(ENV{DISPLAY} ":0")
  61. set(ENV{CXX} "/usr/bin/g++")
  62. set(ENV{CC} "/usr/bin/gcc")
  63. find_program(CTEST_COVERAGE_COMMAND NAMES gcov)
  64. find_program(CTEST_MEMORYCHECK_COMMAND NAMES valgrind)
  65. find_program(CTEST_GIT_COMMAND NAMES git)
  66. ##########################################
  67. # WARNING: DO NOT EDIT BEYOND THIS POINT #
  68. ##########################################
  69. set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
  70. #
  71. # Project specific properties
  72. #
  73. set(CTEST_PROJECT_NAME "CTK")
  74. set(CTEST_BUILD_NAME "${MY_OPERATING_SYSTEM}-${MY_COMPILER}-QT${MY_QT_VERSION}-${CTEST_BUILD_CONFIGURATION}")
  75. #
  76. # Display build info
  77. #
  78. message("site name: ${CTEST_SITE}")
  79. message("build name: ${CTEST_BUILD_NAME}")
  80. message("script mode: ${SCRIPT_MODE}")
  81. message("coverage: ${WITH_COVERAGE}, memcheck: ${WITH_MEMCHECK}")
  82. #
  83. # Convenient macro allowing to download a file
  84. #
  85. MACRO(downloadFile url dest)
  86. FILE(DOWNLOAD ${url} ${dest} STATUS status)
  87. LIST(GET status 0 error_code)
  88. LIST(GET status 1 error_msg)
  89. IF(error_code)
  90. MESSAGE(FATAL_ERROR "error: Failed to download ${url} - ${error_msg}")
  91. ENDIF()
  92. ENDMACRO()
  93. #
  94. # Download and include dashboard driver script
  95. #
  96. set(url http://github.com/pieper/CTK/raw/master/CMake/ctkDashboardDriverScript.cmake)
  97. set(dest ${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}.driver)
  98. downloadFile(${url} ${dest})
  99. INCLUDE(${dest})