Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
MITKDashboardSetup.cmake
Go to the documentation of this file.
1 # This file is intended to be included at the end of a custom MITKDashboardScript.TEMPLATE.cmake file
2 
3 list(APPEND CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
4 
5 #
6 # Automatically determined properties
7 #
8 set(MY_OPERATING_SYSTEM )
9 
10 if(UNIX)
11  # Download a utility script
12  # See T24757.
13  # if(IS_PHABRICATOR_URL)
14  # set(url "https://phabricator.mitk.org/source/mitk/browse/${GIT_BRANCH}/CMake/mitkDetectOS.sh?view=raw")
15  # else()
16  set(url "https://raw.githubusercontent.com/MITK/MITK/master/CMake/mitkDetectOS.sh")
17  # endif()
18  set(dest "${CTEST_SCRIPT_DIRECTORY}/mitkDetectOS.sh")
19  downloadFile("${url}" "${dest}")
20  execute_process(COMMAND sh "${dest}"
21  RESULT_VARIABLE _result OUTPUT_VARIABLE _out
22  OUTPUT_STRIP_TRAILING_WHITESPACE)
23 
24  if(NOT _result)
25  set(MY_OPERATING_SYSTEM "${_out}")
26  endif()
27 endif()
28 
29 if(NOT MY_OPERATING_SYSTEM)
30  set(MY_OPERATING_SYSTEM "${CMAKE_HOST_SYSTEM}") # Windows 7, Linux-2.6.32, Darwin...
31 endif()
32 
33 site_name(CTEST_SITE)
34 
35 if(NOT DEFINED MITK_USE_Qt5)
36  set(MITK_USE_Qt5 1)
37 endif()
38 
39 #
40 # Project specific properties
41 #
42 if(NOT CTEST_BUILD_NAME)
43  if(MITK_USE_Qt5)
44  set(CTEST_BUILD_NAME "${MY_OPERATING_SYSTEM} ${MY_COMPILER} ${CTEST_BUILD_CONFIGURATION}")
45  else()
46  set(CTEST_BUILD_NAME "${MY_OPERATING_SYSTEM} ${MY_COMPILER} ${CTEST_BUILD_CONFIGURATION}")
47  endif()
48  set(CTEST_BUILD_NAME "${CTEST_BUILD_NAME}${CTEST_BUILD_NAME_SUFFIX}")
49 endif()
50 set(PROJECT_BUILD_DIR "MITK-build")
51 
52 set(CTEST_PATH "$ENV{PATH}")
53 if(WIN32)
54  if("${CTEST_CMAKE_GENERATOR_PLATFORM}" STREQUAL "x64")
55  set(CMAKE_LIBRARY_ARCHITECTURE x64)
56  else()
57  set(CMAKE_LIBRARY_ARCHITECTURE x86)
58  endif()
59  string(SUBSTRING "${MY_COMPILER}" 2 2 vc_version)
60 
61  set(OPENCV_BIN_DIR "${CTEST_BINARY_DIRECTORY}/ep/${CMAKE_LIBRARY_ARCHITECTURE}/vc${vc_version}/bin")
62 
63  set(BLUEBERRY_RUNTIME_DIR "${CTEST_BINARY_DIRECTORY}/MITK-build/bin/plugins/${CTEST_BUILD_CONFIGURATION}")
64 
65  set(PYTHON_BINARY_DIRS "${CTEST_BINARY_DIRECTORY}/ep/src/CTK-build/CMakeExternals/Install/bin")
66  get_filename_component(_python_dir "${Python3_EXECUTABLE}" DIRECTORY)
67  list(APPEND PYTHON_BINARY_DIRS "${_python_dir}")
68 
69  set(CTEST_PATH "${CTEST_PATH};${CTEST_BINARY_DIRECTORY}/ep/bin;${BLUEBERRY_RUNTIME_DIR};${OPENCV_BIN_DIR};${PYTHON_BINARY_DIRS}")
70 endif()
71 set(ENV{PATH} "${CTEST_PATH}")
72 
73 # If the dashscript doesn't define a GIT_REPOSITORY variable, let's define it here.
74 if(NOT DEFINED GIT_REPOSITORY OR GIT_REPOSITORY STREQUAL "")
75  set(GIT_REPOSITORY "https://phabricator.mitk.org/source/mitk.git")
76 endif()
77 
78 #
79 # Display build info
80 #
81 message("Site name: ${CTEST_SITE}")
82 message("Build name: ${CTEST_BUILD_NAME}")
83 message("Script Mode: ${SCRIPT_MODE}")
84 message("Coverage: ${WITH_COVERAGE}, MemCheck: ${WITH_MEMCHECK}")
85 
86 #
87 # Set initial cache options
88 #
89 if(CTEST_CMAKE_GENERATOR MATCHES ".*Makefiles.*")
90  set(CTEST_USE_LAUNCHERS 1)
91 else()
92  set(CTEST_USE_LAUNCHERS 0)
93 endif()
94 set(ENV{CTEST_USE_LAUNCHERS_DEFAULT} ${CTEST_USE_LAUNCHERS})
95 
96 if(NOT DEFINED MITK_BUILD_CONFIGURATION)
97  set(MITK_BUILD_CONFIGURATION "All")
98 endif()
99 
100 if(NOT DEFINED MITK_VTK_DEBUG_LEAKS)
101  set(MITK_VTK_DEBUG_LEAKS 1)
102 endif()
103 
104 set(INITIAL_CMAKECACHE_OPTIONS "
105 SUPERBUILD_EXCLUDE_MITKBUILD_TARGET:BOOL=TRUE
106 MITK_BUILD_CONFIGURATION:STRING=${MITK_BUILD_CONFIGURATION}
107 MITK_VTK_DEBUG_LEAKS:BOOL=${MITK_VTK_DEBUG_LEAKS}
108 ${ADDITIONAL_CMAKECACHE_OPTION}
109 ")
110 
111 # Write a cache file for populating the MITK initial cache (not the superbuild cache).
112 # This can be used to provide variables which are not passed through the
113 # superbuild process to the MITK configure step)
114 if(MITK_INITIAL_CACHE)
115  set(mitk_cache_file "${CTEST_SCRIPT_DIRECTORY}/mitk_initial_cache.txt")
116  file(WRITE "${mitk_cache_file}" "${MITK_INITIAL_CACHE}")
117  set(INITIAL_CMAKECACHE_OPTIONS "${INITIAL_CMAKECACHE_OPTIONS}
118 MITK_INITIAL_CACHE_FILE:INTERNAL=${mitk_cache_file}
119 ")
120 endif()
121 
122 if(MITK_EXTENSIONS)
123  set(MITK_EXTENSION_DIRS "")
124  foreach(extension ${MITK_EXTENSIONS})
125  if(extension MATCHES "[^|]+\\|[^|]+\\|(.+)")
126  if(MITK_EXTENSION_DIRS)
127  set(MITK_EXTENSION_DIRS "${MITK_EXTENSION_DIRS};")
128  endif()
129  set(MITK_EXTENSION_DIRS "${MITK_EXTENSION_DIRS}${CTEST_DASHBOARD_ROOT}/${CMAKE_MATCH_1}")
130  endif()
131  endforeach()
132 endif()
133 
134 #
135 # Download and include dashboard driver script
136 #
137 if(IS_PHABRICATOR_URL)
138  string(REPLACE "/" "%252F" GIT_BRANCH_URL ${GIT_BRANCH})
139  set(url "https://phabricator.mitk.org/source/mitk/browse/${GIT_BRANCH_URL}/CMake/MITKDashboardDriverScript.cmake?view=raw")
140 else()
141  set(url "https://raw.githubusercontent.com/MITK/MITK/master/CMake/MITKDashboardDriverScript.cmake")
142 endif()
143 set(dest ${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}.driver)
144 downloadFile("${url}" "${dest}")
145 include(${dest})
#define MITK_EXTENSION_DIRS
Definition: mitkConfig.h:10
downloadFile(url, dest)