diff --git a/.github/workflows/assets.yaml b/.github/workflows/assets.yaml index 1837dd65..63c061af 100644 --- a/.github/workflows/assets.yaml +++ b/.github/workflows/assets.yaml @@ -32,6 +32,7 @@ jobs: run: | python -m cibuildwheel --output-dir wheelhouse env: + CIBW_ENVIRONMENT_LINUX: LIBQASM_CONAN_BUILD_PATTERNS="m4/* bison/* flex/*" CIBW_BEFORE_ALL_LINUX: ${{ (matrix.os == 'ubuntu-24.04-arm') && 'yum install -y java-11-openjdk' || ':' }} - uses: actions/upload-artifact@v4 with: diff --git a/setup.py b/setup.py index a17d00df..40c29a00 100755 --- a/setup.py +++ b/setup.py @@ -93,6 +93,11 @@ def run(self): with local.cwd(root_dir): build_type = os.environ.get('CMAKE_BUILD_TYPE', 'Release') build_tests = os.environ.get('LIBQASM_BUILD_TESTS', 'False') + # Optional Conan build patterns to force source builds (e.g. m4/flex/bison in manylinux). + extra_build_patterns = [ + pattern for pattern in os.environ.get('LIBQASM_CONAN_BUILD_PATTERNS', '').split() + if pattern + ] cmd = local['conan']['profile']['detect']['--force'] cmd & FG @@ -116,6 +121,8 @@ def run(self): ['-b']['missing'] ['-tf'][''] ) + for pattern in extra_build_patterns: + cmd = cmd['-b'][pattern] if build_tests == 'True': cmd = cmd['-c']['tools.build:skip_test=False'] if platform.system() == 'Darwin':