Skip to content
Permalink
Browse files

Merge branch 'master' into fix-source-build

  • Loading branch information
dcwhite committed Nov 7, 2019
2 parents 9a86766 + a1bb3a0 commit be1d4c577c954c21b105beb0a2e5a26ca753b842
Showing with 1,024 additions and 732 deletions.
  1. +9 −0 .github/labeler.yml
  2. +87 −0 .github/workflows/ccpp.yml
  3. +19 −0 .github/workflows/label.yml
  4. +23 −0 .github/workflows/stale.yml
  5. +1 −0 .gitignore
  6. +13 −19 .travis.yml
  7. +8 −10 Superbuild/CMakeLists.txt
  8. +1 −14 Superbuild/Superbuild.cmake
  9. +82 −0 scripts/qt.qs
  10. +6 −15 src/CMakeLists.txt
  11. +50 −33 src/Core/Datatypes/ColorMap.cc
  12. +7 −2 src/Core/Datatypes/ColorMap.h
  13. +7 −2 src/Externals/spire/arc-ball/ArcBall.cpp
  14. +2 −1 src/Externals/spire/es-render/Registration1.cpp
  15. +1 −0 src/Interface/Application/GuiApplication.cc
  16. +5 −10 src/Interface/Modules/Render/ES/SRInterface.cc
  17. +10 −7 src/Interface/Modules/Render/ES/SRInterface.h
  18. +1 −1 src/Interface/Modules/Render/ES/shaders/Flat_ColorMap.fs
  19. +1 −1 src/Interface/Modules/Render/ES/shaders/Phong_ColorMap.fs
  20. +17 −50 src/Interface/Modules/Render/GLWidget.cc
  21. +5 −5 src/Interface/Modules/Render/GLWidget.h
  22. +8 −4 src/Interface/Modules/Render/Screenshot.cc
  23. +5 −5 src/Interface/Modules/Render/Screenshot.h
  24. +3 −5 src/Interface/Modules/Render/Tests/SRInterfaceTests.cc
  25. +84 −40 src/Interface/Modules/Render/ViewScene.cc
  26. +3 −0 src/Interface/Modules/Render/ViewScene.h
  27. +80 −16 src/Interface/Modules/Render/ViewSceneControls.ui
  28. +4 −0 src/Interface/Modules/Render/ViewSceneControlsDock.cc
  29. +19 −61 src/Interface/Modules/Visualization/CreateStandardColorMapDialog.cc
  30. +0 −3 src/Interface/Modules/Visualization/CreateStandardColorMapDialog.h
  31. +11 −7 src/Modules/Legacy/Fields/GeneratePointSamplesFromField.cc
  32. +2 −0 src/Modules/Render/ViewScene.cc
  33. +7 −1 src/Modules/Visualization/CreateStandardColorMap.cc
  34. +1 −1 src/Modules/Visualization/RescaleColorMap.cc
  35. +8 −5 src/Modules/Visualization/ShowField.cc
  36. +333 −337 src/Modules/Visualization/ShowFieldGlyphs.cc
  37. +96 −77 src/Modules/Visualization/ShowFieldGlyphsPortHandler.cc
  38. +5 −0 src/Modules/Visualization/ShowFieldGlyphsPortHandler.h
@@ -0,0 +1,9 @@
Graphics:
- src/**/Renderer/**/*
- src/**/Visualization/**/*

Modules:
- src/Modules/**/*

Build:
- .github/**/*
@@ -0,0 +1,87 @@
name: CI

on:
pull_request:
branches:
- master

jobs:
linux-build:

runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-16.04, ubuntu-18.04]

steps:
- name: Checkout
uses: actions/checkout@v1

- name: Prepare
run: sudo apt-get install mesa-common-dev libgl1-mesa-dev mesa-utils-extra libglapi-mesa ninja-build qt5-qmake qtbase5-dev libqt5opengl5-dev libqt5svg5-dev

- name: make
run: ./build.sh -DTRAVIS_BUILD:BOOL=ON -DQT5_BUILD:BOOL=ON -DQt5_PATH=$(dpkg -L qtbase5-dev) -DUSER_PYTHON_VERSION="3.5.6" -j3

mac-build:

runs-on: macOS-latest

steps:
- name: Checkout
uses: actions/checkout@v1

- name: Prepare
run: |
brew install qt
ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/X11/ /usr/local/include/X11
- name: make
run: ./build.sh -DUSER_PYTHON_VERSION="3.5.6" -DQT5_BUILD:BOOL="ON" -DQt5_PATH=$(brew --prefix qt)

windows-build:
timeout-minutes: 15
runs-on: windows-2016

#env:
# VCINSTALLDIR: ${{ 'C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/' }}
# Qt5_DIR: ${{ 'Qt\5.13.1\msvc2017_64\lib\cmake\Qt5\' }}
# QTDIR: ${{ 'Qt\5.13.1\msvc2017_64\' }}

steps:

- name: Checkout
uses: actions/checkout@v1

- name: Prepare
working-directory: bin
shell: cmd
run: |
curl -vLo qt-unified-windows-x86-online.exe http://download.qt.io/official_releases/online_installers/qt-unified-windows-x86-online.exe
qt-unified-windows-x86-online.exe --verbose --script ..\scripts\qt.qs
# - name: Configure
# working-directory: bin
# shell: cmd
# run: |
# set CMAKE_PREFIX_PATH=Qt\5.13.1\msvc2017_64
# set QT5DIR=%cd%\Qt\5.13.1\msvc2017_64
# cmake ..\Superbuild -DCMAKE_BUILD_TYPE=Release -G"Visual Studio 15 2017" -Ax64 -DQt5_PATH:PATH="$QT5DIR" -DBUILD_WITH_PYTHON:BOOL=OFF
#
# - name: Compile
# working-directory: bin
# shell: cmd
# run: cmake --build . --config Release -j 3

# - name: Package
# working-directory: bin/SCIRun
# shell: cmd
# run: cmake --build . --config Release --target package

# - name: Release
# uses: softprops/action-gh-release@v1
# if: startsWith(github.ref, 'refs/tags/')
# with:
# files: build/gh-greets-qt_installer.exe
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,19 @@
# This workflow will triage pull requests and apply a label based on the
# paths that are modified in the pull request.
#
# To use this workflow, you will need to set up a .github/labeler.yml
# file with configuration. For more information, see:
# https://github.com/actions/labeler/blob/master/README.md

name: Labeler
on: [pull_request]

jobs:
label:

runs-on: ubuntu-latest

steps:
- uses: actions/labeler@v2
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
@@ -0,0 +1,23 @@
name: Mark stale issues and pull requests

on:
schedule:
- cron: "0 0 * * *"

jobs:
stale:

runs-on: ubuntu-latest

steps:
- uses: actions/stale@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: 'This issue is stale because it has been open 120 days with no activity. Remove stale label or comment or this will be closed in 60 days.'
stale-pr-message: 'This pull request is stale because it has been open 120 days with no activity. Remove stale label or comment or this will be closed in 60 days.'
stale-issue-label: 'no-issue-activity'
stale-pr-label: 'no-pr-activity'
days-before-stale: 120
days-before-close: 60
operations-per-run: 50
exempt-issue-label: 'Bug'
@@ -6,6 +6,7 @@
*.swp
*.vcxproj*
*DS_Store
src/.ccls-cache
src/Documentation/*/*/*.aux
src/Documentation/*/*/*.blg
src/Documentation/*/*/*.bbl
@@ -23,30 +23,24 @@ matrix:
dist: bionic
compiler: gcc
env: PYTHON_VERSION=3.5.6 OSPRAY_BUILD=OFF QT5=ON
- os: osx
osx_image: xcode7.3
env: PYTHON_VERSION=3.5.6 OSPRAY_BUILD=OFF QT5=OFF
- os: osx
osx_image: xcode8.3
env: PYTHON_VERSION=3.5.6 OSPRAY_BUILD=OFF QT5=OFF
# - os: osx
# osx_image: xcode8.3
# env: PYTHON_VERSION=3.5.6 OSPRAY_BUILD=OFF QT5=ON
- os: osx
osx_image: xcode9.4
env: PYTHON_VERSION=3.5.6 OSPRAY_BUILD=OFF QT5=OFF
- os: osx
osx_image: xcode10.1
env: PYTHON_VERSION=3.5.6 OSPRAY_BUILD=OFF QT5=OFF
env: PYTHON_VERSION=3.5.6 OSPRAY_BUILD=OFF QT5=ON
# - os: osx
# osx_image: xcode10.1
# env: PYTHON_VERSION=3.5.6 OSPRAY_BUILD=OFF QT5=ON
- os: osx
osx_image: xcode10.3
env: PYTHON_VERSION=3.5.6 OSPRAY_BUILD=OFF QT5=ON
- os: osx
osx_image: xcode11
env: PYTHON_VERSION=3.5.6 OSPRAY_BUILD=OFF QT5=ON
- os: osx
osx_image: xcode7.2
env: PYTHON_VERSION=3.6.7 OSPRAY_BUILD=OFF QT5=OFF
- os: osx
osx_image: xcode10.1
env: PYTHON_VERSION=3.6.7 OSPRAY_BUILD=OFF QT5=ON
# - os: osx
# osx_image: xcode10.1
# env: PYTHON_VERSION=3.6.7 OSPRAY_BUILD=OFF QT5=ON
- os: osx
osx_image: xcode11
env: PYTHON_VERSION=3.6.7 OSPRAY_BUILD=OFF QT5=ON
@@ -59,12 +53,12 @@ install:
- if [[ "$QT5" = "OFF" && "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install mesa-common-dev libgl1-mesa-dev mesa-utils-extra libglapi-mesa ninja-build libqt4-dev qt4-qmake libqt4-opengl-dev; fi
- if [[ "$QT5" = "ON" && "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install mesa-common-dev libgl1-mesa-dev mesa-utils-extra libglapi-mesa ninja-build qt5-qmake qtbase5-dev libqt5opengl5-dev libqt5svg5-dev; fi
- if [[ "$QT5" = "OFF" && "$TRAVIS_OS_NAME" == "osx" ]]; then travis_wait 30 scripts/getQt4Mac.sh; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install ninja; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install ninja; fi
# TODO: figure out/test ccache
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install ccache; export PATH="/usr/local/opt/ccache/libexec:$PATH"; fi
# Verify qt 5.13, maybe not upgrade
- if [[ "$QT5" = "ON" && "$TRAVIS_OS_NAME" == "osx" ]]; then brew install qt || true; fi
- if [[ "$QT5" = "ON" && "$TRAVIS_OS_NAME" == "osx" ]]; then brew upgrade qt || true; fi
- if [[ "$QT5" = "ON" && "$TRAVIS_OS_NAME" == "osx" ]]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install qt || true; fi
- if [[ "$QT5" = "ON" && "$TRAVIS_OS_NAME" == "osx" ]]; then HOMEBREW_NO_AUTO_UPDATE=1 brew upgrade qt || true; fi

script:
- cd bin
@@ -1,21 +1,21 @@
# For more information, please see: http://software.sci.utah.edu
#
#
# The MIT License
#
#
# Copyright (c) 2015 Scientific Computing and Imaging Institute,
# University of Utah.
#
#
#
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
@@ -24,8 +24,7 @@
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.

CMAKE_MINIMUM_REQUIRED(VERSION 2.8.7 FATAL_ERROR)
#CMAKE_MINIMUM_REQUIRED(VERSION 3.0 FATAL_ERROR)
CMAKE_MINIMUM_REQUIRED(VERSION 3.6 FATAL_ERROR)

IF(POLICY CMP0043)
CMAKE_POLICY(SET CMP0043 OLD)
@@ -37,4 +36,3 @@ ENDIF()
PROJECT(Superbuild)

INCLUDE(${CMAKE_SOURCE_DIR}/Superbuild.cmake)

@@ -44,13 +44,6 @@ ENDIF()

INCLUDE( ExternalProject )

# Compute -G arg for configuring external projects with the same CMake generator:
#if(CMAKE_EXTRA_GENERATOR)
# set(gen "${CMAKE_EXTRA_GENERATOR} - ${CMAKE_GENERATOR}")
#else()
# set(gen "${CMAKE_GENERATOR}" )
#endif()

###########################################
# DETERMINE ARCHITECTURE
# In order for the code to depend on the architecture settings
@@ -99,9 +92,6 @@ OPTION(BUILD_HEADLESS "Build SCIRun without GUI." OFF)
# Configure Qt version

SET(QT5_BUILD_DEFAULT ON)
IF(APPLE) # Until ViewScene works...
SET(QT5_BUILD_DEFAULT OFF)
ENDIF()
OPTION(QT5_BUILD "Qt 5 compatible build" ${QT5_BUILD_DEFAULT})
MARK_AS_ADVANCED(QT5_BUILD)

@@ -132,17 +122,14 @@ ENDIF()
# Configure Qt
IF(NOT BUILD_HEADLESS)
IF (NOT QT5_BUILD)
SET(QT_MIN_VERSION "4.8.1")
SET(QT_MIN_VERSION "4.8.6")
INCLUDE(FindQt4)
FIND_PACKAGE(Qt4 COMPONENTS QtMain QtCore QtGui QtNetwork REQUIRED)
SET(QT_USE_QTOPENGL TRUE)

IF(QT4_FOUND)
MESSAGE(STATUS "QTVERSION=${QTVERSION}")
MESSAGE(STATUS "Found use file: ${QT_USE_FILE}")
IF(APPLE AND ${QTVERSION} VERSION_EQUAL 4.8 AND ${QTVERSION} VERSION_LESS 4.8.5)
MESSAGE(WARNING "Qt 4.8 versions earlier than 4.8.3 contain a bug that disables menu items under some circumstances. Upgrade to a more recent version.")
ENDIF()
ELSE()
MESSAGE(FATAL_ERROR "QT ${QT_MIN_VERSION} or later is required for building the SCIRun GUI")
ENDIF()
@@ -0,0 +1,82 @@
function Controller() {
installer.autoRejectMessageBoxes();
installer.setMessageBoxAutomaticAnswer("installationError", QMessageBox.Retry);
installer.setMessageBoxAutomaticAnswer("installationErrorWithRetry", QMessageBox.Retry);
installer.setMessageBoxAutomaticAnswer("DownloadError", QMessageBox.Retry);
installer.setMessageBoxAutomaticAnswer("archiveDownloadError", QMessageBox.Retry);
installer.installationFinished.connect(function() {
gui.clickButton(buttons.NextButton);
})
}

Controller.prototype.WelcomePageCallback = function() {
gui.clickButton(buttons.NextButton, 5000);
}

Controller.prototype.DynamicTelemetryPluginFormCallback = function() {
gui.currentPageWidget().TelemetryPluginForm.statisticGroupBox.disableStatisticRadioButton.checked = true;
gui.clickButton(buttons.NextButton, 3000);
}

Controller.prototype.CredentialsPageCallback = function() {
gui.clickButton(buttons.NextButton);
}

Controller.prototype.IntroductionPageCallback = function() {
gui.clickButton(buttons.NextButton);
}

Controller.prototype.TargetDirectoryPageCallback = function() {
gui.currentPageWidget().TargetDirectoryLineEdit.setText(installer.value("InstallerDirPath") + "/Qt");
gui.clickButton(buttons.NextButton);
}

Controller.prototype.PerformInstallationPageCallback = function() {
gui.clickButton(buttons.CommitButton);
}

Controller.prototype.ComponentSelectionPageCallback = function() {
var selection = gui.pageWidgetByObjectName("ComponentSelectionPage");
gui.findChild(selection, "Latest releases").checked = true;
gui.findChild(selection, "LTS").checked = false;
gui.findChild(selection, "FetchCategoryButton").click();

var widget = gui.currentPageWidget();
widget.deselectAll();

if (installer.value("os") === "win") {
widget.selectComponent("qt.qt5.5131.win64_msvc2017_64");
} else if (installer.value("os") === "x11") {
widget.selectComponent("qt.qt5.5131.gcc_64");
} else if (installer.value("os") === "macos") {
widget.selectComponent("qt.qt5.5131.clang_64");
}

widget.selectComponent("qt.tools.ifw.31");
widget.selectComponent("qt.tools.openssl");
widget.deselectComponent("qt.license");
widget.deselectComponent("qt.installer");

gui.clickButton(buttons.NextButton);
}

Controller.prototype.LicenseAgreementPageCallback = function() {
gui.currentPageWidget().AcceptLicenseRadioButton.setChecked(true);
gui.clickButton(buttons.NextButton);
}

Controller.prototype.StartMenuDirectoryPageCallback = function() {
gui.clickButton(buttons.NextButton);
}

Controller.prototype.ReadyForInstallationPageCallback = function() {
gui.clickButton(buttons.NextButton);
}

Controller.prototype.FinishedPageCallback = function() {
var checkBoxForm = gui.currentPageWidget().LaunchQtCreatorCheckBoxForm;
if (checkBoxForm && checkBoxForm.launchQtCreatorCheckBox) {
checkBoxForm.launchQtCreatorCheckBox.checked = false;
}
gui.clickButton(buttons.FinishButton);
}

0 comments on commit be1d4c5

Please sign in to comment.
You can’t perform that action at this time.