diff --git a/.github/workflows/build-test-package.yml b/.github/workflows/build-test-package.yml index 24012938..a2573253 100644 --- a/.github/workflows/build-test-package.yml +++ b/.github/workflows/build-test-package.yml @@ -8,26 +8,26 @@ jobs: strategy: max-parallel: 3 matrix: - os: [ubuntu-18.04, windows-2019, macos-10.15] + os: [ubuntu-20.04, windows-2019, macos-10.15] include: - - os: ubuntu-18.04 + - os: ubuntu-20.04 c-compiler: "gcc" cxx-compiler: "g++" - itk-git-tag: "v5.2.0" + itk-git-tag: "v5.3rc03" cmake-build-type: "MinSizeRel" - os: windows-2019 c-compiler: "cl.exe" cxx-compiler: "cl.exe" - itk-git-tag: "v5.2.0" + itk-git-tag: "v5.3rc03" cmake-build-type: "Release" - os: macos-10.15 c-compiler: "clang" cxx-compiler: "clang++" - itk-git-tag: "v5.2.0" + itk-git-tag: "v5.3rc03" cmake-build-type: "MinSizeRel" steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 - name: Set up Python 3.8 uses: actions/setup-python@v2 @@ -135,9 +135,9 @@ jobs: strategy: max-parallel: 2 matrix: - python-version: [36, 37, 38, 39] + python-version: [37, 38, 39, 310] include: - - itk-python-git-tag: "v5.2.0" + - itk-python-git-tag: "v5.3rc03" steps: - uses: actions/checkout@v2 @@ -173,7 +173,7 @@ jobs: max-parallel: 2 matrix: include: - - itk-python-git-tag: "v5.2.0" + - itk-python-git-tag: "v5.3rc03" steps: - uses: actions/checkout@v2 @@ -207,9 +207,9 @@ jobs: strategy: max-parallel: 2 matrix: - python-version-minor: [6, 7, 8, 9] + python-version-minor: [7, 8, 9, 10] include: - - itk-python-git-tag: "v5.2.0" + - itk-python-git-tag: "v5.3rc03" steps: - name: Get specific version of CMake, Ninja @@ -253,77 +253,12 @@ jobs: name: WindowsWheel3.${{ matrix.python-version-minor }} path: ../../im/dist - build-linux-opencl-python-packages: - runs-on: ubuntu-18.04 - strategy: - max-parallel: 2 - matrix: - python-version: [36, 37, 38, 39] - include: - - itk-python-git-tag: "v5.2.0" - - steps: - - uses: actions/checkout@v2 - - - name: 'Free up disk space' - run: | - # Workaround for https://github.com/actions/virtual-environments/issues/709 - df -h - sudo apt-get clean - sudo rm -rf "/usr/local/share/boost" - sudo rm -rf "$AGENT_TOOLSDIRECTORY" - df -h - - - name: 'Build 🐍 Python 📦 package' - run: | - export ITK_PACKAGE_VERSION=${{ matrix.itk-python-git-tag }} - ./wrapping/dockcross-manylinux-download-cache.sh - ./wrapping/dockcross-manylinux-build-module-wheels-opencl.sh cp${{ matrix.python-version }} - - - name: Publish Python package as GitHub Artifact - uses: actions/upload-artifact@v1 - with: - name: LinuxOpenCLWheel${{ matrix.python-version }} - path: dist - - build-macos-opencl-python-packages: - runs-on: macos-10.15 - strategy: - max-parallel: 2 - matrix: - include: - - itk-python-git-tag: "v5.2.0" - - steps: - - uses: actions/checkout@v2 - - - name: Get specific version of CMake, Ninja - uses: lukka/get-cmake@v3.18.3 - - - name: 'Fetch build script' - run: | - curl -L https://raw.githubusercontent.com/InsightSoftwareConsortium/ITKPythonPackage/master/scripts/macpython-download-cache-and-build-module-wheels.sh -O - chmod u+x macpython-download-cache-and-build-module-wheels.sh - - - name: 'Build 🐍 Python 📦 package' - run: | - export ITK_PACKAGE_VERSION=${{ matrix.itk-python-git-tag }} - export MACOSX_DEPLOYMENT_TARGET=10.9 - export ELASTIX_USE_OPENCL=1 - ./macpython-download-cache-and-build-module-wheels.sh - - - name: Publish Python package as GitHub Artifact - uses: actions/upload-artifact@v1 - with: - name: MacOSOpenCLWheels - path: dist - publish-python-packages-to-pypi: needs: - build-linux-python-packages - build-macos-python-packages - build-windows-python-packages - runs-on: ubuntu-18.04 + runs-on: ubuntu-20.04 steps: - name: Download Python Packages @@ -345,30 +280,3 @@ jobs: with: user: __token__ password: ${{ secrets.pypi_password }} - - publish-opencl-python-packages-to-pypi: - needs: - - build-linux-opencl-python-packages - - build-macos-opencl-python-packages - runs-on: ubuntu-18.04 - - steps: - - name: Download Python Packages - uses: actions/download-artifact@v2 - - - name: Prepare packages for upload - run: | - ls -R - for d in */; do - mv ${d}/*.whl . - done - mkdir dist - mv itk_elastix_opencl-*.whl dist/ - ls dist - - - name: Publish 🐍 Python 📦 package to PyPI - if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') - uses: pypa/gh-action-pypi-publish@master - with: - user: __token__ - password: ${{ secrets.opencl_pypi_password }} diff --git a/CMakeLists.txt b/CMakeLists.txt index 6ddc70a0..81d13c4c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10.2) +cmake_minimum_required(VERSION 3.16.3) project(Elastix) # To ease enablement with Python packaging @@ -40,7 +40,7 @@ set(_itk_build_testing ${BUILD_TESTING}) set(_itk_build_shared ${BUILD_SHARED_LIBS}) set(BUILD_SHARED_LIBS OFF) set(elastix_GIT_REPOSITORY "https://github.com/SuperElastix/elastix.git") -set(elastix_GIT_TAG "3816950f157753ad3763cfe3988f49f788eb38c2") +set(elastix_GIT_TAG "a0cf5235691ab0e7416600ed29db5abf2ff8ffe2") FetchContent_Declare( elx GIT_REPOSITORY ${elastix_GIT_REPOSITORY} @@ -80,6 +80,19 @@ set(BUILD_TESTING ${_itk_build_testing}) set(BUILD_SHARED_LIBS ${_itk_build_shared}) +if(ITK_WRAP_PYTHON) # Python wrapping is enabled + get_property(multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) + if(multi_config) + if(NOT (CMAKE_CONFIGURATION_TYPES STREQUAL "Release")) + message(WARNING "Python wrapping of ITKElastix is known not to work with RelWithDebInfo configuration. Release is recommended. Your CMAKE_CONFIGURATION_TYPES: ${CMAKE_CONFIGURATION_TYPES}") + endif() + else() + if(NOT (CMAKE_BUILD_TYPE STREQUAL "Release")) + message(WARNING "Python wrapping of ITKElastix is known not to work with RelWithDebInfo configuration. Release is recommended. Your CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}") + endif() + endif() +endif() + if(NOT ITK_SOURCE_DIR) find_package(ITK REQUIRED) list(APPEND CMAKE_MODULE_PATH ${ITK_CMAKE_DIR}) diff --git a/setup.py b/setup.py index 6dac6c0a..769bf2fa 100644 --- a/setup.py +++ b/setup.py @@ -18,7 +18,7 @@ setup( name=package_name, - version='0.13.0', + version='0.14.0', author='Insight Software Consortium', author_email='itk+community@discourse.itk.org', packages=['itk'], @@ -49,6 +49,6 @@ keywords='ITK InsightToolkit', url=r'https://itk.org/', install_requires=[ - r'itk>=5.2.0' + r'itk>=5.3rc3' ] )