diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 1efe6cba7..c257612d8 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -2,29 +2,36 @@ name: linux-build on: [push, pull_request] +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: linux-build-gui: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-18.04, ubuntu-latest] + os: [ubuntu-20.04] steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Prepare run: sudo apt-get update && 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: Install Qt - uses: jurplel/install-qt-action@v2 + uses: jurplel/install-qt-action@v3 with: - version: 5.14.2 + version: 5.15.2 target: desktop host: linux install-deps: true - name: Build - run: ./build.sh -DQt5_PATH="${Qt5_Dir}" -j3 + run: | + ./build.sh \ + -DQt5_PATH="${Qt5_Dir}" \ + -j3 continue-on-error: true diff --git a/.github/workflows/mac.yml b/.github/workflows/mac.yml index 220d1fdc3..f438c08eb 100644 --- a/.github/workflows/mac.yml +++ b/.github/workflows/mac.yml @@ -2,29 +2,35 @@ name: mac-build on: [push, pull_request] +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: mac-build-gui: - runs-on: macOS-latest + runs-on: macos-10.15 steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Install Qt - uses: jurplel/install-qt-action@v2 + uses: jurplel/install-qt-action@v3 with: - version: 5.14.2 + version: 5.15.2 target: desktop host: mac install-deps: true - - name: Prepare - run: | - 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: Prepare + # run: | + # 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 -DQt5_PATH="${Qt5_Dir}" + run: | + ./build.sh \ + -DQt5_PATH="${Qt5_Dir}" - name: Package working-directory: bin/Seg3D @@ -34,7 +40,7 @@ jobs: ./repair_package.sh - name: Upload installer - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: Seg3DMacInstaller path: bin/Seg3D/Seg3D2-2.*-Darwin.pkg diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index aa7dab335..d7ec586b0 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -2,32 +2,49 @@ name: windows-build on: [push, pull_request] +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: windows-build-gui: strategy: matrix: - qtversion: [5.12.8, 5.14.2] - runs-on: windows-2016 + qtversion: [5.15.2] + include: + - qtversion: 5.15.2 + qtarch: win64_msvc2019_64 + cmake-generator: "Visual Studio 17 2022" + cmake-arch: x64 + cmake-toolset: v143 + runs-on: windows-2022 steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Install Qt - uses: jurplel/install-qt-action@v2 + uses: jurplel/install-qt-action@v3 with: version: ${{ matrix.qtversion }} target: desktop host: windows - arch: win64_msvc2017_64 + arch: ${{ matrix.qtarch }} install-deps: true - name: Configure working-directory: bin run: | - cmake ..\Superbuild -DCMAKE_BUILD_TYPE=Release -G"Visual Studio 15 2017" -Ax64 -DQt5_PATH:PATH="$env:Qt5_Dir" -DBUILD_WITH_PYTHON:BOOL=OFF + cmake ` + ..\Superbuild ` + -DCMAKE_BUILD_TYPE=Release ` + -G"${{ matrix.cmake-generator }}" ` + -A${{ matrix.cmake-arch }} ` + -T${{ matrix.cmake-toolset }} ` + -DQt5_PATH:PATH="$env:Qt5_Dir" ` + -DBUILD_WITH_PYTHON:BOOL=OFF - name: Compile working-directory: bin @@ -40,7 +57,7 @@ jobs: run: cmake --build . --config Release --target package - name: Upload installer - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: Seg3DWindowsInstaller_${{ matrix.qtversion }} path: bin/Seg3D/Seg3D2-2.*-win64.exe diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index dd9511ec8..000000000 --- a/.travis.yml +++ /dev/null @@ -1,18 +0,0 @@ -os: linux -dist: bionic - -compiler: - - gcc - - clang -before_install: - - sudo apt-get -qq --yes update - # packages for headless build - - sudo apt-get -qq --yes install ninja-build mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev mesa-utils-extra libglapi-mesa libglapi-mesa qt5-qmake qtbase5-dev libqt5opengl5-dev libqt5svg5-dev -script: - - cd bin - - cmake -GNinja -DTRAVIS_BUILD:BOOL=ON -DQt5_PATH=$(dpkg -L qtbase5-dev) ../Superbuild - - travis_wait 70 ninja - -after_success: - - cd Seg3D - - ninja test diff --git a/README.md b/README.md index a29672357..50b34b10a 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,3 @@ Seg3D [build instructions and documentation](http://sciinstitute.github.io/seg3d.pages). -[![Build Status](https://travis-ci.org/SCIInstitute/Seg3D.svg?branch=master)](https://travis-ci.org/SCIInstitute/Seg3D) diff --git a/Superbuild/BoostExternal.cmake b/Superbuild/BoostExternal.cmake index 05284ee82..a72ede5a8 100644 --- a/Superbuild/BoostExternal.cmake +++ b/Superbuild/BoostExternal.cmake @@ -71,10 +71,6 @@ endif() set(boost_GIT_URL "https://github.com/CIBC-Internal/boost.git") -if(TRAVIS_BUILD) - list(APPEND boost_CXX_Flag "-w") -endif() - # TODO: fix install step # # If CMake ever allows overriding the checkout command or adding flags, diff --git a/Superbuild/FreetypeExternal.cmake b/Superbuild/FreetypeExternal.cmake index 9e22e49df..671677658 100644 --- a/Superbuild/FreetypeExternal.cmake +++ b/Superbuild/FreetypeExternal.cmake @@ -27,11 +27,6 @@ set_property(DIRECTORY PROPERTY "EP_BASE" ${ep_base}) set(freetype_GIT_TAG "origin/master") -if(TRAVIS_BUILD) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w") -endif() - # If CMake ever allows overriding the checkout command or adding flags, # git checkout -q will silence message about detached head (harmless). ExternalProject_Add(Freetype_external diff --git a/Superbuild/GlewExternal.cmake b/Superbuild/GlewExternal.cmake index 2aeb21d5b..46d7e4eb8 100644 --- a/Superbuild/GlewExternal.cmake +++ b/Superbuild/GlewExternal.cmake @@ -27,11 +27,6 @@ set_property(DIRECTORY PROPERTY "EP_BASE" ${ep_base}) set(glew_GIT_TAG "origin/master") -if(TRAVIS_BUILD) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w") -endif() - # If CMake ever allows overriding the checkout command or adding flags, # git checkout -q will silence message about detached head (harmless). ExternalProject_Add(Glew_external diff --git a/Superbuild/ITKExternal.cmake b/Superbuild/ITKExternal.cmake index 849217893..30d72cc00 100644 --- a/Superbuild/ITKExternal.cmake +++ b/Superbuild/ITKExternal.cmake @@ -35,16 +35,6 @@ set(itk_ARGS "-DITK_INSTALL_NO_DEVELOPMENT:BOOL=OFF" ) -if(TRAVIS_BUILD) - list(APPEND itk_ARGS - "-Wno-dev" - "-Wno-deprecated" - ) - - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w") -endif() - set(itk_CACHE_ARGS "-DCMAKE_VERBOSE_MAKEFILE:BOOL=${CMAKE_VERBOSE_MAKEFILE}" "-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}" diff --git a/Superbuild/ImplicitFunctionExternal.cmake b/Superbuild/ImplicitFunctionExternal.cmake index 1d070c919..229c11dc0 100644 --- a/Superbuild/ImplicitFunctionExternal.cmake +++ b/Superbuild/ImplicitFunctionExternal.cmake @@ -28,10 +28,6 @@ set_property(DIRECTORY PROPERTY "EP_BASE" ${ep_base}) set(implicitFunction_GIT_TAG "origin/master") set(implicitFunction_DEPENDENCIES "Tetgen_external;Eigen_external") -if(TRAVIS_BUILD) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w") -endif() - # If CMake ever allows overriding the checkout command or adding flags, # git checkout -q will silence message about detached head (harmless). ExternalProject_Add(ImplicitFunction_external diff --git a/Superbuild/LibPNGExternal.cmake b/Superbuild/LibPNGExternal.cmake index c604dda0b..491316f18 100644 --- a/Superbuild/LibPNGExternal.cmake +++ b/Superbuild/LibPNGExternal.cmake @@ -28,11 +28,6 @@ set_property(DIRECTORY PROPERTY "EP_BASE" ${ep_base}) set(libpng_GIT_TAG "origin/master") set(libpng_DEPENDENCIES "Zlib_external") -if(TRAVIS_BUILD) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w") -endif() - # If CMake ever allows overriding the checkout command or adding flags, # git checkout -q will silence message about detached head (harmless). ExternalProject_Add(LibPNG_external diff --git a/Superbuild/SQLiteExternal.cmake b/Superbuild/SQLiteExternal.cmake index bc4462634..45f8f2b65 100644 --- a/Superbuild/SQLiteExternal.cmake +++ b/Superbuild/SQLiteExternal.cmake @@ -27,11 +27,6 @@ set_property(DIRECTORY PROPERTY "EP_BASE" ${ep_base}) set(sqlite_GIT_TAG "origin/master") -if(TRAVIS_BUILD) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w") -endif() - # If CMake ever allows overriding the checkout command or adding flags, # git checkout -q will silence message about detached head (harmless). ExternalProject_Add(SQLite_external diff --git a/Superbuild/Superbuild.cmake b/Superbuild/Superbuild.cmake index cb0a5e5b7..33690a03a 100644 --- a/Superbuild/Superbuild.cmake +++ b/Superbuild/Superbuild.cmake @@ -123,13 +123,6 @@ endif() option(BUILD_MANUAL_TOOLS_ONLY "Build Seg3D library with only manual tools." OFF) -###########################################ß -# Travis CI build needs to be as slim as possible -########################################### - -option(TRAVIS_BUILD "Slim build for Travis CI" OFF) -mark_as_advanced(TRAVIS_BUILD) - set(ENABLED_WARNINGS "-Wall") ########################################### @@ -142,13 +135,12 @@ else() option(DO_ZLIB_MANGLE "Mangle Zlib names to avoid conflicts with Qt5 or other external libraries" ON) endif() -if (TRAVIS_BUILD) - set(QT_MIN_VERSION "5.9") -else() - set(QT_MIN_VERSION "5.12") -endif() - if(SEG3D_BUILD_INTERFACE) + + if(NOT DEFINED QT_MIN_VERSION) + set(QT_MIN_VERSION "5.12") + endif() + set(Qt5_PATH "" CACHE PATH "Path to directory where Qt 5 is installed. Directory should contain lib and bin subdirectories.") #set(CMAKE_AUTOMOC ON) diff --git a/Superbuild/TeemExternal.cmake b/Superbuild/TeemExternal.cmake index 7b762e934..cc21c93b3 100644 --- a/Superbuild/TeemExternal.cmake +++ b/Superbuild/TeemExternal.cmake @@ -28,11 +28,6 @@ set_property(DIRECTORY PROPERTY "EP_BASE" ${ep_base}) set(teem_GIT_TAG "origin/master") set(teem_DEPENDENCIES "Zlib_external;LibPNG_external") -if(TRAVIS_BUILD) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w") -endif() - # If CMake ever allows overriding the checkout command or adding flags, # git checkout -q will silence message about detached head (harmless). ExternalProject_Add(Teem_external diff --git a/Superbuild/TetgenExternal.cmake b/Superbuild/TetgenExternal.cmake index 98cf8eb5a..ad449333f 100644 --- a/Superbuild/TetgenExternal.cmake +++ b/Superbuild/TetgenExternal.cmake @@ -28,26 +28,6 @@ set_property(DIRECTORY PROPERTY "EP_BASE" ${ep_base}) set(TETGEN_LIBRARY "tet") -# if(TRAVIS_BUILD OR ${CMAKE_VERSION} VERSION_GREATER 3.7.2) - # # allowed since CMake 3.7.2 - # # only supporting in CI builds for now, since CMake version is so new - # set(DOWNLOAD_URL "http://tetgen.org/files/tetgen1.4.3.tar.gz http://www.sci.utah.edu/devbuilds/seg3d/tetgen1.4.3.tar.gz") -# else() - # set(DOWNLOAD_URL "http://tetgen.org/files/tetgen1.4.3.tar.gz") -# endif() - -# ExternalProject_Add(Tetgen_external - # URL ${DOWNLOAD_URL} - # PATCH_COMMAND "" - # INSTALL_COMMAND "" - # CMAKE_CACHE_ARGS - # -DCMAKE_VERBOSE_MAKEFILE:BOOL=${CMAKE_VERBOSE_MAKEFILE} - # -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE} - # -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON - # -DTETGEN_LIBRARY:STRING=${TETGEN_LIBRARY} -# ) - - set(tetgen_SVN_URL "https://gforge.sci.utah.edu/svn/tetgen") #set(sci_data_DIR "${CMAKE_BINARY_DIR}/SCIRunData") diff --git a/Superbuild/ZlibExternal.cmake b/Superbuild/ZlibExternal.cmake index fbcaeb5a3..6a834b4e4 100644 --- a/Superbuild/ZlibExternal.cmake +++ b/Superbuild/ZlibExternal.cmake @@ -27,11 +27,6 @@ set_property(DIRECTORY PROPERTY "EP_BASE" ${ep_base}) set(zlib_GIT_TAG "origin/master") -if(TRAVIS_BUILD) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w") -endif() - # If CMake ever allows overriding the checkout command or adding flags, # git checkout -q will silence message about detached head (harmless). ExternalProject_Add(Zlib_external