ctkTravisDashboardScript.cmake 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. #
  2. # OS: Travis CI Linux
  3. # Hardware: x86_64 GNU/Linux VM
  4. # GPU: NA
  5. #
  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, see http://www.commontk.org/index.php/Dashboard_setup
  11. #
  12. #
  13. # Dashboard properties
  14. #
  15. set(MY_OPERATING_SYSTEM "Ubuntu-12.04")
  16. set(MY_COMPILER "g++4.6.3")
  17. set(MY_QT_VERSION "4.8.1")
  18. set(QT_QMAKE_EXECUTABLE "/usr/bin/qmake")
  19. set(CTEST_SITE "travis-ci") # for example: mymachine.kitware, mymachine.dkfz, ...
  20. set(CTEST_DASHBOARD_ROOT "/tmp")
  21. set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
  22. #
  23. # Dashboard options
  24. #
  25. set(WITH_KWSTYLE FALSE)
  26. set(WITH_MEMCHECK FALSE)
  27. set(WITH_COVERAGE TRUE)
  28. set(WITH_DOCUMENTATION FALSE)
  29. #set(DOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY ) # for example: $ENV{HOME}/Projects/Doxygen
  30. set(CTEST_BUILD_CONFIGURATION "Release")
  31. set(CTEST_TEST_TIMEOUT 500)
  32. set(CTEST_BUILD_FLAGS "-j4") # Use multiple CPU cores to build
  33. # experimental:
  34. # - run_ctest() macro will be called *ONE* time
  35. # - binary directory will *NOT* be cleaned
  36. # continuous:
  37. # - run_ctest() macro will be called EVERY 5 minutes ...
  38. # - binary directory will *NOT* be cleaned
  39. # - configure/build will be executed *ONLY* if the repository has been updated
  40. # nightly:
  41. # - run_ctest() macro will be called *ONE* time
  42. # - binary directory *WILL BE* cleaned
  43. set(SCRIPT_MODE "experimental") # "experimental", "continuous", "nightly"
  44. #
  45. # Project specific properties
  46. #
  47. set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/CTK")
  48. set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/CTK-Superbuild-${CTEST_BUILD_CONFIGURATION}-${SCRIPT_MODE}")
  49. # Additionnal CMakeCache options - For example:
  50. # CTK_LIB_Widgets:BOOL=ON
  51. # CTK_APP_ctkDICOM:BOOL=ON
  52. set(ADDITIONNAL_CMAKECACHE_OPTION "
  53. CTK_USE_SYSTEM_DCMTK:BOOL=ON
  54. #CTK_USE_SYSTEM_ITK:BOOL=ON
  55. ITK_DIR:PATH=/usr/lib/InsightToolkit
  56. CTK_APP_ctkCommandLineModuleExplorer:BOOL=ON
  57. CTK_APP_ctkDICOM:BOOL=ON
  58. CTK_APP_ctkDICOM2:BOOL=ON
  59. CTK_APP_ctkDICOMHost:BOOL=ON
  60. CTK_APP_ctkDICOMIndexer:BOOL=ON
  61. CTK_APP_ctkExampleHost:BOOL=ON
  62. CTK_APP_ctkExampleHostedApp:BOOL=ON
  63. CTK_APP_ctkPluginBrowser:BOOL=ON
  64. CTK_APP_ctkPluginGenerator:BOOL=ON
  65. CTK_APP_ctkXnatTreeBrowser:BOOL=ON
  66. CTK_LIB_CommandLineModules/Backend/FunctionPointer:BOOL=ON
  67. CTK_LIB_CommandLineModules/Backend/LocalProcess:BOOL=ON
  68. CTK_LIB_CommandLineModules/Backend/XMLChecker:BOOL=ON
  69. CTK_LIB_CommandLineModules/Core:BOOL=ON
  70. CTK_LIB_CommandLineModules/Frontend/QtGui:BOOL=ON
  71. CTK_LIB_CommandLineModules/Frontend/QtWebKit:BOOL=ON
  72. CTK_LIB_DICOM/Core:BOOL=ON
  73. CTK_LIB_DICOM/Widgets:BOOL=ON
  74. CTK_LIB_ImageProcessing/ITK/Core:BOOL=ON
  75. CTK_LIB_PluginFramework:BOOL=ON
  76. CTK_LIB_Widgets:BOOL=ON
  77. CTK_LIB_XNAT/Core:BOOL=ON
  78. CTK_LIB_XNAT/Widgets:BOOL=ON
  79. CTK_PLUGIN_org.commontk.configadmin:BOOL=ON
  80. CTK_PLUGIN_org.commontk.dah.cmdlinemoduleapp:BOOL=ON
  81. CTK_PLUGIN_org.commontk.dah.core:BOOL=ON
  82. CTK_PLUGIN_org.commontk.dah.exampleapp:BOOL=ON
  83. CTK_PLUGIN_org.commontk.dah.examplehost:BOOL=ON
  84. CTK_PLUGIN_org.commontk.dah.host:BOOL=ON
  85. CTK_PLUGIN_org.commontk.dah.hostedapp:BOOL=ON
  86. CTK_PLUGIN_org.commontk.eventadmin:BOOL=ON
  87. CTK_PLUGIN_org.commontk.log:BOOL=ON
  88. CTK_PLUGIN_org.commontk.metatype:BOOL=ON
  89. CTK_PLUGIN_org.commontk.plugingenerator.core:BOOL=ON
  90. CTK_PLUGIN_org.commontk.plugingenerator.ui:BOOL=ON
  91. ")
  92. # List of test that should be explicitly disabled on this machine
  93. set(TEST_TO_EXCLUDE_REGEX "")
  94. # set any extra environment variables here
  95. set(ENV{DISPLAY} ":0")
  96. find_program(CTEST_COVERAGE_COMMAND NAMES gcov)
  97. find_program(CTEST_MEMORYCHECK_COMMAND NAMES valgrind)
  98. find_program(CTEST_GIT_COMMAND NAMES git)
  99. #
  100. # Git repository - Overwrite the default value provided by the driver script
  101. #
  102. # set(GIT_REPOSITORY http://github.com/YOURUSERNAME/CTK.git)
  103. ##########################################
  104. # WARNING: DO NOT EDIT BEYOND THIS POINT #
  105. ##########################################
  106. set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
  107. #
  108. # Project specific properties
  109. #
  110. set(CTEST_PROJECT_NAME "CTK")
  111. set(CTEST_BUILD_NAME "${MY_OPERATING_SYSTEM}-${MY_COMPILER}-QT${MY_QT_VERSION}-${CTEST_BUILD_CONFIGURATION}")
  112. #
  113. # Display build info
  114. #
  115. message("site name: ${CTEST_SITE}")
  116. message("build name: ${CTEST_BUILD_NAME}")
  117. message("script mode: ${SCRIPT_MODE}")
  118. message("coverage: ${WITH_COVERAGE}, memcheck: ${WITH_MEMCHECK}")
  119. #
  120. # Convenient macro allowing to download a file
  121. #
  122. macro(downloadFile url dest)
  123. file(DOWNLOAD ${url} ${dest} STATUS status)
  124. list(GET status 0 error_code)
  125. list(GET status 1 error_msg)
  126. if(error_code)
  127. message(FATAL_ERROR "error: Failed to download ${url} - ${error_msg}")
  128. endif()
  129. endmacro()
  130. #
  131. # Download and include dashboard driver script
  132. #
  133. set(url http://commontk.org/ctkDashboardDriverScript.cmake)
  134. set(dest ${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}.driver)
  135. downloadfile(${url} ${dest})
  136. include(${dest})
  137. set(travis_url "/tmp/travis.url")
  138. file(WRITE ${travis_url} "https://travis-ci.org/commontk/CTK/builds/$ENV{TRAVIS_BUILD_ID}")
  139. ctest_upload(FILES ${travis_url})