From f705044a98066e73fa0225e9e95be61f18e4ac00 Mon Sep 17 00:00:00 2001 From: Jan Kleinert Date: Wed, 20 Dec 2023 12:05:35 +0100 Subject: [PATCH] add CI job to test with Gordon surfaces enabled --- .github/actions/build-linux/action.yml | 7 +++++++ .github/workflows/continuous-integration.yml | 14 ++++++++++++-- src/CMakeLists.txt | 1 + 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/.github/actions/build-linux/action.yml b/.github/actions/build-linux/action.yml index d65810975..c9c5aa32c 100644 --- a/.github/actions/build-linux/action.yml +++ b/.github/actions/build-linux/action.yml @@ -29,6 +29,12 @@ inputs: required: false default: "OFF" + #TODO: This should only be used for a transition period before Gordon surfaces are enabled by default + tigl_enable_gordon_surface: + description: "CMake option used to enable Gordon Surface lofting" + required: false + default: "OFF" + build-artifact: descpription: "Set the name for the build artifact stored by this job" required: true @@ -81,6 +87,7 @@ runs: -DTIGL_ENABLE_COVERAGE=${{ inputs.tigl_enable_coverage }} \ -DTIGL_CONCAT_GENERATED_FILES=${{ inputs.tigl_concat_generated_files }} \ -DTIGL_BINDINGS_PYTHON_INTERNAL=${{ inputs.tigl_bindings_python_internal }} \ + -DTIGL_GORDON_SURFACE=${{ inputs.tigl_enable_gordon_surface }} \ -DTIGL_BINDINGS_MATLAB=ON \ -DTIGL_BINDINGS_JAVA=ON \ -DTIGL_NIGHTLY=${{ inputs.tigl_nightly }} diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 68c568cc0..c15686dd7 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -76,6 +76,10 @@ jobs: - config: "Debug" os: "ubuntu-latest" coverage: "ON" + - config: "Debug" + os: "ubuntu-latest" + #TODO: This should only be used for a transition period before Gordon surfaces are enabled by default + gordon_surface: "ON" runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -85,7 +89,9 @@ jobs: tigl_nightly: ${{ inputs.tigl_nightly }} tigl_concat_generated_files: ${{ inputs.tigl_concat_generated_files }} tigl_enable_coverage: ${{ matrix.coverage || 'OFF' }} - build-artifact: build-${{ matrix.os }}-${{ matrix.config }}-nightly-${{ inputs.tigl_nightly }}-concat-${{ inputs.tigl_concat_generated_files }}-cov-${{ matrix.coverage || 'OFF' }} + #TODO: This should only be used for a transition period before Gordon surfaces are enabled by default + tigl_enable_gordon_surface: ${{ matrix.gordon_surface || 'OFF' }} + build-artifact: build-${{ matrix.os }}-${{ matrix.config }}-nightly-${{ inputs.tigl_nightly }}-concat-${{ inputs.tigl_concat_generated_files }}-cov-${{ matrix.coverage || 'OFF' }}-gordon-${{ matrix.gordon_surface || 'OFF' }} test-linux: @@ -104,12 +110,16 @@ jobs: os: "ubuntu-latest" coverage: "ON" unit-tests: false + #TODO: This should only be used for a transition period before Gordon surfaces are enabled by default + - config: "Debug" + os: "ubuntu-latest" + gordon_surface: "ON" runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - uses: ./.github/actions/test-linux with: - build-artifact: build-${{ matrix.os }}-${{ matrix.config }}-nightly-${{ inputs.tigl_nightly }}-concat-${{ inputs.tigl_concat_generated_files }}-cov-${{ matrix.coverage || 'OFF' }} + build-artifact: build-${{ matrix.os }}-${{ matrix.config }}-nightly-${{ inputs.tigl_nightly }}-concat-${{ inputs.tigl_concat_generated_files }}-cov-${{ matrix.coverage || 'OFF' }}-gordon-${{ matrix.gordon_surface || 'OFF' }} coverage: ${{ matrix.coverage == 'ON' || false }} unit-tests: ${{ matrix.unit-tests }} integration-tests: ${{ inputs.integration-tests == 'true' || false }} diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9c720009d..ad2ed88b7 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -82,6 +82,7 @@ add_library(tigl3_objects OBJECT ${TIGL_SRC}) target_compile_features(tigl3_objects PRIVATE cxx_std_11) set_property(TARGET tigl3_objects PROPERTY POSITION_INDEPENDENT_CODE ON) # needed for shared libraries +#TODO: This should only be used for a transition period before Gordon surfaces are enabled by default option(TIGL_GORDON_SURFACE "Loft curve networks using the Gordon surface algorithm (instead of using Coons patches)" OFF) mark_as_advanced(TIGL_GORDON_SURFACE) if (TIGL_GORDON_SURFACE)