forked from Slicer/Slicer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSlicerDashboardScript.TEMPLATE.cmake
67 lines (60 loc) · 3.41 KB
/
SlicerDashboardScript.TEMPLATE.cmake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
cmake_minimum_required(VERSION 3.16.3...3.19.7 FATAL_ERROR)
# Two possible approaches to use this script:
# (1) Copy and adapt to your specific configuration or (2) Use as it is by passing options
# Either way, the script can be executed using ctest:
# ctest [-DOPTION:TYPE=<value> [...]] -S /path/to/this/script.cmake [-C <CTEST_BUILD_CONFIGURATION>] [-V]
# Note that '-C <CTEST_BUILD_CONFIGURATION>' is mandatory on windows
macro(dashboard_set var value)
if(NOT DEFINED "${var}")
set(${var} "${value}")
endif()
endmacro()
dashboard_set(DASHBOARDS_DIR "$ENV{HOME}/Dashboards/")
dashboard_set(ORGANIZATION "Kitware") # One word, no punctuation
dashboard_set(HOSTNAME "karakoram")
dashboard_set(OPERATING_SYSTEM "Linux")
dashboard_set(SCRIPT_MODE "Experimental") # Experimental, Continuous or Nightly
dashboard_set(Slicer_RELEASE_TYPE "Experimental") # (E)xperimental, (P)review or (S)table
dashboard_set(WITH_PACKAGES FALSE) # Enable to generate packages
dashboard_set(GIT_TAG "main") # Specify a tag for Stable release
if(APPLE)
dashboard_set(CMAKE_OSX_DEPLOYMENT_TARGET "13.0")
endif()
dashboard_set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
dashboard_set(COMPILER "g++-X.Y.Z") # Used only to set the build name
dashboard_set(CTEST_BUILD_FLAGS "") # Use multiple CPU cores to build. For example "-j -l4" on unix
# By default, CMake auto-discovers the compilers
#dashboard_set(CMAKE_C_COMPILER "/path/to/c/compiler")
#dashboard_set(CMAKE_CXX_COMPILER "/path/to/cxx/compiler")
dashboard_set(CTEST_BUILD_CONFIGURATION "Release")
dashboard_set(WITH_MEMCHECK FALSE)
dashboard_set(WITH_COVERAGE FALSE)
dashboard_set(WITH_DOCUMENTATION FALSE)
dashboard_set(Slicer_BUILD_CLI ON)
dashboard_set(Slicer_USE_PYTHONQT ON)
dashboard_set(QT_VERSION "5.15.0")
dashboard_set(Qt5_DIR "${DASHBOARDS_DIR}/Support/Qt${QT_VERSION}/${QT_VERSION}/gcc_64/lib/cmake/Qt5")
# Source directory : <DASHBOARDS_DIR>/<Slicer_DASHBOARD_SUBDIR>/<Slicer_DIRECTORY_BASENAME>-<Slicer_DIRECTORY_IDENTIFIER>
# Build directory : <DASHBOARDS_DIR>/<Slicer_DASHBOARD_SUBDIR>/<Slicer_DIRECTORY_BASENAME>-<Slicer_DIRECTORY_IDENTIFIER>-build
dashboard_set(Slicer_DIRECTORY_BASENAME "Slicer")
dashboard_set(Slicer_DASHBOARD_SUBDIR "${Slicer_RELEASE_TYPE}")
dashboard_set(Slicer_DIRECTORY_IDENTIFIER "0") # Set to arbitrary integer to distinguish different Experimental/Preview release build
# Set to Slicer version XYZ for Stable release build
# Build Name: <OPERATING_SYSTEM>-<COMPILER>-<BITNESS>bits-Qt<QT_VERSION>[-NoPython][-NoCLI][-NoVTKDebugLeaks][-<BUILD_NAME_SUFFIX>]-<CTEST_BUILD_CONFIGURATION
set(BUILD_NAME_SUFFIX "")
set(TEST_TO_EXCLUDE_REGEX "")
set(ADDITIONAL_CMAKECACHE_OPTION "
")
##########################################
# WARNING: DO NOT EDIT BEYOND THIS POINT #
##########################################
if(NOT DEFINED DRIVER_SCRIPT)
set(url https://raw.githubusercontent.com/Slicer/Slicer/main/CMake/SlicerDashboardDriverScript.cmake)
set(dest ${DASHBOARDS_DIR}/${EXTENSION_DASHBOARD_SUBDIR}/${CTEST_SCRIPT_NAME}.driver)
file(DOWNLOAD ${url} ${dest} STATUS status)
if(NOT status MATCHES "0.*")
message(FATAL_ERROR "error: Failed to download ${url} - ${status}")
endif()
set(DRIVER_SCRIPT ${dest})
endif()
include(${DRIVER_SCRIPT})