diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index adce9a5..f379fad 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -5,13 +5,21 @@ jobs: - job: linux pool: - vmImage: ubuntu-16.04 + vmImage: ubuntu-latest strategy: matrix: linux_64_: CONFIG: linux_64_ UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 + linux_aarch64_: + CONFIG: linux_aarch64_ + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 + linux_ppc64le_: + CONFIG: linux_ppc64le_ + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7 timeoutInMinutes: 360 steps: @@ -32,6 +40,11 @@ jobs: export CI=azure export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then + export IS_PR_BUILD="True" + else + export IS_PR_BUILD="False" + fi .scripts/run_docker_build.sh displayName: Run docker build env: diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 39baad3..d7c37d2 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -11,9 +11,6 @@ jobs: osx_64_: CONFIG: osx_64_ UPLOAD_PACKAGES: 'True' - osx_arm64_: - CONFIG: osx_arm64_ - UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 steps: @@ -23,6 +20,11 @@ jobs: export OSX_FORCE_SDK_DOWNLOAD="1" export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then + export IS_PR_BUILD="True" + else + export IS_PR_BUILD="False" + fi ./.scripts/run_osx_build.sh displayName: Run OSX build env: diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 1fd8ea1..b6ce7ac 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -52,7 +52,7 @@ jobs: - task: CondaEnvironment@1 inputs: - packageSpecs: 'python=3.6 conda-build conda "conda-forge-ci-setup=3" pip' # Optional + packageSpecs: 'python=3.9 conda-build conda "conda-forge-ci-setup=3" pip boa' # Optional installOptions: "-c conda-forge" updateConda: true displayName: Install conda-build and activate environment @@ -86,7 +86,7 @@ jobs: - script: | call activate base - conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml + conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables displayName: Build recipe env: PYTHONUNBUFFERED: 1 @@ -107,4 +107,4 @@ jobs: BINSTAR_TOKEN: $(BINSTAR_TOKEN) FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) - condition: and(succeeded(), not(eq(variables['UPLOAD_PACKAGES'], 'False'))) \ No newline at end of file + condition: and(succeeded(), not(eq(variables['UPLOAD_PACKAGES'], 'False')), not(eq(variables['Build.Reason'], 'PullRequest'))) \ No newline at end of file diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index 70d9281..16eb0e4 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -7,7 +7,7 @@ c_compiler_version: cdt_name: - cos6 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml index 0ee2a3a..d5eafd5 100644 --- a/.ci_support/linux_aarch64_.yaml +++ b/.ci_support/linux_aarch64_.yaml @@ -19,7 +19,7 @@ cxx_compiler: cxx_compiler_version: - '9' docker_image: -- quay.io/condaforge/linux-anvil-aarch64 +- quay.io/condaforge/linux-anvil-comp7 flann: - 1.9.1 pin_run_as_build: diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml index c9411c7..e924562 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -7,7 +7,7 @@ c_compiler_version: cdt_name: - cos7 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cxx_compiler: @@ -15,7 +15,7 @@ cxx_compiler: cxx_compiler_version: - '9' docker_image: -- quay.io/condaforge/linux-anvil-ppc64le +- quay.io/condaforge/linux-anvil-comp7 flann: - 1.9.1 pin_run_as_build: diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index 8f09ab6..93fd007 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -7,7 +7,7 @@ c_compiler: c_compiler_version: - '11' channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml deleted file mode 100644 index 2a359f3..0000000 --- a/.ci_support/osx_arm64_.yaml +++ /dev/null @@ -1,30 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '11.0' -boost_cpp: -- 1.74.0 -c_compiler: -- clang -c_compiler_version: -- '11' -channel_sources: -- conda-forge/label/rust_dev,conda-forge -channel_targets: -- conda-forge main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '11' -flann: -- 1.9.1 -macos_machine: -- arm64-apple-darwin20.0.0 -pin_run_as_build: - boost-cpp: - max_pin: x.x.x - flann: - max_pin: x.x.x -target_platform: -- osx-arm64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version diff --git a/.ci_support/win_64_.yaml b/.ci_support/win_64_.yaml index 86c7a6b..574bec3 100644 --- a/.ci_support/win_64_.yaml +++ b/.ci_support/win_64_.yaml @@ -3,7 +3,7 @@ boost_cpp: c_compiler: - vs2017 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.drone.yml b/.drone.yml deleted file mode 100644 index af15091..0000000 --- a/.drone.yml +++ /dev/null @@ -1,31 +0,0 @@ ---- -kind: pipeline -name: linux_aarch64_ - -platform: - os: linux - arch: arm64 - -steps: -- name: Install and build - image: quay.io/condaforge/linux-anvil-aarch64 - environment: - CONFIG: linux_aarch64_ - UPLOAD_PACKAGES: True - PLATFORM: linux-aarch64 - BINSTAR_TOKEN: - from_secret: BINSTAR_TOKEN - FEEDSTOCK_TOKEN: - from_secret: FEEDSTOCK_TOKEN - STAGING_BINSTAR_TOKEN: - from_secret: STAGING_BINSTAR_TOKEN - commands: - - export FEEDSTOCK_ROOT="$DRONE_WORKSPACE" - - export RECIPE_ROOT="$FEEDSTOCK_ROOT/recipe" - - export CI=drone - - export GIT_BRANCH="$DRONE_BRANCH" - - export FEEDSTOCK_NAME=$(basename ${DRONE_REPO_NAME}) - - sed -i '$ichown -R conda:conda "$FEEDSTOCK_ROOT"' /opt/docker/bin/entrypoint - - /opt/docker/bin/entrypoint $FEEDSTOCK_ROOT/.scripts/build_steps.sh - - echo "Done building" - diff --git a/.gitattributes b/.gitattributes index 9060b27..ce52713 100644 --- a/.gitattributes +++ b/.gitattributes @@ -18,6 +18,7 @@ bld.bat text eol=crlf .gitignore linguist-generated=true .travis.yml linguist-generated=true .scripts/* linguist-generated=true +.woodpecker.yml linguist-generated=true LICENSE.txt linguist-generated=true README.md linguist-generated=true azure-pipelines.yml linguist-generated=true diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 8ad8fd8..8b6142e 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @wolfv \ No newline at end of file +* @traversaro @wolfv \ No newline at end of file diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 99baf86..9008710 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -25,7 +25,8 @@ conda-build: root-dir: ${FEEDSTOCK_ROOT}/build_artifacts CONDARC -BUILD_CMD=build +GET_BOA=boa +BUILD_CMD=mambabuild conda install --yes --quiet "conda-forge-ci-setup=3" conda-build pip ${GET_BOA:-} -c conda-forge @@ -37,8 +38,8 @@ source run_conda_forge_build_setup # make the build number clobber make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" -if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]] && [[ "${BUILD_WITH_CONDA_DEBUG:-0}" != 1 ]]; then - EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" +if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]] && [[ "${HOST_PLATFORM}" != linux-* ]] && [[ "${BUILD_WITH_CONDA_DEBUG:-0}" != 1 ]]; then + EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test" fi @@ -66,7 +67,7 @@ else ( startgroup "Uploading packages" ) 2> /dev/null - if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then + if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" fi diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 44ad3ce..0c6515f 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -52,11 +52,11 @@ if [ -z "${DOCKER_IMAGE}" ]; then echo "WARNING: DOCKER_IMAGE variable not set and shyaml not installed. Trying to parse with coreutils" DOCKER_IMAGE=$(cat .ci_support/${CONFIG}.yaml | grep '^docker_image:$' -A 1 | tail -n 1 | cut -b 3-) if [ "${DOCKER_IMAGE}" = "" ]; then - echo "No docker_image entry found in ${CONFIG}. Falling back to condaforge/linux-anvil-comp7" - DOCKER_IMAGE="condaforge/linux-anvil-comp7" + echo "No docker_image entry found in ${CONFIG}. Falling back to quay.io/condaforge/linux-anvil-comp7" + DOCKER_IMAGE="quay.io/condaforge/linux-anvil-comp7" fi else - DOCKER_IMAGE="$(cat "${FEEDSTOCK_ROOT}/.ci_support/${CONFIG}.yaml" | shyaml get-value docker_image.0 condaforge/linux-anvil-comp7 )" + DOCKER_IMAGE="$(cat "${FEEDSTOCK_ROOT}/.ci_support/${CONFIG}.yaml" | shyaml get-value docker_image.0 quay.io/condaforge/linux-anvil-comp7 )" fi fi @@ -75,12 +75,15 @@ fi ( startgroup "Start Docker" ) 2> /dev/null export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}" +export IS_PR_BUILD="${IS_PR_BUILD:-False}" +docker pull "${DOCKER_IMAGE}" docker run ${DOCKER_RUN_ARGS} \ -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z,delegated \ -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z,delegated \ -e CONFIG \ -e HOST_USER_ID \ -e UPLOAD_PACKAGES \ + -e IS_PR_BUILD \ -e GIT_BRANCH \ -e UPLOAD_ON_BRANCH \ -e CI \ @@ -91,9 +94,9 @@ docker run ${DOCKER_RUN_ARGS} \ -e BINSTAR_TOKEN \ -e FEEDSTOCK_TOKEN \ -e STAGING_BINSTAR_TOKEN \ - $DOCKER_IMAGE \ + "${DOCKER_IMAGE}" \ bash \ - /home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh + "/home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh" # verify that the end of the script was reached test -f "$DONE_CANARY" diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index cbcce72..3dca437 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -4,20 +4,24 @@ source .scripts/logging_utils.sh set -xe +MINIFORGE_HOME=${MINIFORGE_HOME:-${HOME}/miniforge3} + ( startgroup "Installing a fresh version of Miniforge" ) 2> /dev/null MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download" -MINIFORGE_FILE="Miniforge3-MacOSX-x86_64.sh" +MINIFORGE_FILE="Miniforge3-MacOSX-$(uname -m).sh" curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}" -bash $MINIFORGE_FILE -b +rm -rf ${MINIFORGE_HOME} +bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME} ( endgroup "Installing a fresh version of Miniforge" ) 2> /dev/null ( startgroup "Configuring conda" ) 2> /dev/null -BUILD_CMD=build +GET_BOA=boa +BUILD_CMD=mambabuild -source ${HOME}/miniforge3/etc/profile.d/conda.sh +source ${MINIFORGE_HOME}/etc/profile.d/conda.sh conda activate base echo -e "\n\nInstalling conda-forge-ci-setup=3 and conda-build." @@ -27,11 +31,18 @@ conda install -n base --quiet --yes "conda-forge-ci-setup=3" conda-build pip ${G echo -e "\n\nSetting up the condarc and mangling the compiler." setup_conda_rc ./ ./recipe ./.ci_support/${CONFIG}.yaml -mangle_compiler ./ ./recipe .ci_support/${CONFIG}.yaml -echo -e "\n\nMangling homebrew in the CI to avoid conflicts." -/usr/bin/sudo mangle_homebrew -/usr/bin/sudo -k +if [[ "${CI:-}" != "" ]]; then + mangle_compiler ./ ./recipe .ci_support/${CONFIG}.yaml +fi + +if [[ "${CI:-}" != "" ]]; then + echo -e "\n\nMangling homebrew in the CI to avoid conflicts." + /usr/bin/sudo mangle_homebrew + /usr/bin/sudo -k +else + echo -e "\n\nNot mangling homebrew as we are not running in CI" +fi echo -e "\n\nRunning the build setup script." source run_conda_forge_build_setup @@ -57,7 +68,7 @@ validate_recipe_outputs "${FEEDSTOCK_NAME}" ( startgroup "Uploading packages" ) 2> /dev/null -if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then +if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml fi diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 6a7591a..0000000 --- a/.travis.yml +++ /dev/null @@ -1,20 +0,0 @@ -# This file was generated automatically from conda-smithy. To update this configuration, -# update the conda-forge.yml and/or the recipe/meta.yaml. - -language: generic - - - -matrix: - include: - - env: CONFIG=linux_ppc64le_ UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le - os: linux - arch: ppc64le - -script: - - export CI=travis - - export GIT_BRANCH="$TRAVIS_BRANCH" - - export FEEDSTOCK_NAME=$(basename ${TRAVIS_REPO_SLUG}) - - - - if [[ ${PLATFORM} =~ .*linux.* ]]; then ./.scripts/run_docker_build.sh; fi \ No newline at end of file diff --git a/README.md b/README.md index 2cf2cdd..53709ac 100644 --- a/README.md +++ b/README.md @@ -29,21 +29,7 @@ Current build status ==================== - - - - - - - +
Travis - - macOS - -
Drone - - linux - -
@@ -84,13 +70,6 @@ Current build status variant - - -
Azure
osx_arm64 - - variant - -
win_64 @@ -139,7 +118,8 @@ conda search fcl --channel conda-forge About conda-forge ================= -[![Powered by NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](http://numfocus.org) +[![Powered by +NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](https://numfocus.org) conda-forge is a community-led conda channel of installable packages. In order to provide high-quality builds, the process has been automated into the @@ -199,5 +179,6 @@ In order to produce a uniquely identifiable distribution: Feedstock Maintainers ===================== +* [@traversaro](https://github.com/traversaro/) * [@wolfv](https://github.com/wolfv/) diff --git a/build-locally.py b/build-locally.py index 3453cfe..8b74348 100755 --- a/build-locally.py +++ b/build-locally.py @@ -7,15 +7,25 @@ import glob import subprocess from argparse import ArgumentParser +import platform def setup_environment(ns): os.environ["CONFIG"] = ns.config os.environ["UPLOAD_PACKAGES"] = "False" + os.environ["IS_PR_BUILD"] = "True" if ns.debug: os.environ["BUILD_WITH_CONDA_DEBUG"] = "1" if ns.output_id: os.environ["BUILD_OUTPUT_ID"] = ns.output_id + if "MINIFORGE_HOME" not in os.environ: + os.environ["MINIFORGE_HOME"] = os.path.join( + os.path.dirname(__file__), "miniforge3" + ) + if "OSX_SDK_DIR" not in os.environ: + os.environ["OSX_SDK_DIR"] = os.path.join( + os.path.dirname(__file__), "SDKs" + ) def run_docker_build(ns): @@ -23,6 +33,11 @@ def run_docker_build(ns): subprocess.check_call([script]) +def run_osx_build(ns): + script = ".scripts/run_osx_build.sh" + subprocess.check_call([script]) + + def verify_config(ns): valid_configs = { os.path.basename(f)[:-5] for f in glob.glob(".ci_support/*.yaml") @@ -46,10 +61,16 @@ def verify_config(ns): else: raise ValueError("config " + ns.config + " is not valid") # Remove the following, as implemented - if not ns.config.startswith("linux"): + if ns.config.startswith("win"): raise ValueError( - f"only Linux configs currently supported, got {ns.config}" + f"only Linux/macOS configs currently supported, got {ns.config}" ) + elif ns.config.startswith("osx") and platform.system() == "Darwin": + if "OSX_SDK_DIR" not in os.environ: + raise RuntimeError( + "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=/opt'" + "to download the SDK automatically to '/opt/MacOSX.sdk'" + ) def main(args=None): @@ -68,7 +89,12 @@ def main(args=None): verify_config(ns) setup_environment(ns) - run_docker_build(ns) + if ns.config.startswith("linux") or ( + ns.config.startswith("osx") and platform.system() == "Linux" + ): + run_docker_build(ns) + elif ns.config.startswith("osx"): + run_osx_build(ns) if __name__ == "__main__": diff --git a/conda-forge.yml b/conda-forge.yml index cea5359..d5d755b 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -1,4 +1,6 @@ build_platform: {osx_arm64: osx_64} conda_forge_output_validation: true -provider: {linux_aarch64: default, linux_ppc64le: default} +build_platform: + linux_aarch64: linux_64 + linux_ppc64le: linux_64 test_on_native_only: true diff --git a/recipe/553.patch b/recipe/553.patch new file mode 100644 index 0000000..453e6d3 --- /dev/null +++ b/recipe/553.patch @@ -0,0 +1,31 @@ +From e3f8707a98e2adb1b07b0d0dcfcb0f36088f4ab9 Mon Sep 17 00:00:00 2001 +From: Silvio Traversaro +Date: Sat, 13 Nov 2021 15:08:28 +0100 +Subject: [PATCH] Replace non-portable M_PI with constants::pi() + +--- + test/geometry/shape/test_convex.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/test/geometry/shape/test_convex.cpp b/test/geometry/shape/test_convex.cpp +index 1857ce36..78172d02 100644 +--- a/test/geometry/shape/test_convex.cpp ++++ b/test/geometry/shape/test_convex.cpp +@@ -777,7 +777,7 @@ class TessellatedSphere final : public Polytope { + public: + TessellatedSphere() : Polytope(1.0) { + // The angle between the latitude lines measured along the prime meridian. +- const double dphi = M_PI / 8; ++ const double dphi = constants::pi() / 8; + auto slice_height = [dphi](int slice_index) { + // Assumes 1 <= slice_index < 8. + return std::cos(slice_index * dphi); +@@ -790,7 +790,7 @@ class TessellatedSphere final : public Polytope { + vertices_->push_back({0, 0, 1}); + // Now create the bands of vertices between slices 1 & 2, 2 & 3, etc. + // The angle between the longitude lines measured along the equator. +- const double dtheta = 2 * M_PI / 8; ++ const double dtheta = 2 * constants::pi() / 8; + for (int slice = 1; slice < 8; ++slice) { + double z = slice_height(slice); + double r = slice_radius(slice); diff --git a/recipe/fix-win.patch b/recipe/fix-win.patch deleted file mode 100644 index 9cde1a3..0000000 --- a/recipe/fix-win.patch +++ /dev/null @@ -1,117 +0,0 @@ -diff --git a/include/fcl/narrowphase/detail/traversal/octree/collision/octree_collision_traversal_node.h b/include/fcl/narrowphase/detail/traversal/octree/collision/octree_collision_traversal_node.h -index b1224594..54200820 100644 ---- a/include/fcl/narrowphase/detail/traversal/octree/collision/octree_collision_traversal_node.h -+++ b/include/fcl/narrowphase/detail/traversal/octree/collision/octree_collision_traversal_node.h -@@ -39,7 +39,7 @@ - #define FCL_TRAVERSAL_OCTREE_OCTREECOLLISIONTRAVERSALNODE_H - - #include "fcl/config.h" --#if not(FCL_HAVE_OCTOMAP) -+#if !(FCL_HAVE_OCTOMAP) - #error "This header requires fcl to be compiled with octomap support" - #endif - -diff --git a/include/fcl/narrowphase/detail/traversal/octree/collision/octree_mesh_collision_traversal_node.h b/include/fcl/narrowphase/detail/traversal/octree/collision/octree_mesh_collision_traversal_node.h -index 304a9cb1..a5b904c8 100644 ---- a/include/fcl/narrowphase/detail/traversal/octree/collision/octree_mesh_collision_traversal_node.h -+++ b/include/fcl/narrowphase/detail/traversal/octree/collision/octree_mesh_collision_traversal_node.h -@@ -39,7 +39,7 @@ - #define FCL_TRAVERSAL_OCTREE_OCTREEMESHCOLLISIONTRAVERSALNODE_H - - #include "fcl/config.h" --#if not(FCL_HAVE_OCTOMAP) -+#if !(FCL_HAVE_OCTOMAP) - #error "This header requires fcl to be compiled with octomap support" - #endif - -diff --git a/include/fcl/narrowphase/detail/traversal/octree/collision/octree_shape_collision_traversal_node.h b/include/fcl/narrowphase/detail/traversal/octree/collision/octree_shape_collision_traversal_node.h -index 93b53abf..4668dd16 100644 ---- a/include/fcl/narrowphase/detail/traversal/octree/collision/octree_shape_collision_traversal_node.h -+++ b/include/fcl/narrowphase/detail/traversal/octree/collision/octree_shape_collision_traversal_node.h -@@ -39,7 +39,7 @@ - #define FCL_TRAVERSAL_OCTREE_OCTREESHAPECOLLISIONTRAVERSALNODE_H - - #include "fcl/config.h" --#if not(FCL_HAVE_OCTOMAP) -+#if !(FCL_HAVE_OCTOMAP) - #error "This header requires fcl to be compiled with octomap support" - #endif - -diff --git a/include/fcl/narrowphase/detail/traversal/octree/collision/shape_octree_collision_traversal_node.h b/include/fcl/narrowphase/detail/traversal/octree/collision/shape_octree_collision_traversal_node.h -index 147de063..c08ddccb 100644 ---- a/include/fcl/narrowphase/detail/traversal/octree/collision/shape_octree_collision_traversal_node.h -+++ b/include/fcl/narrowphase/detail/traversal/octree/collision/shape_octree_collision_traversal_node.h -@@ -39,7 +39,7 @@ - #define FCL_TRAVERSAL_OCTREE_SHAPEOCTREECOLLISIONTRAVERSALNODE_H - - #include "fcl/config.h" --#if not(FCL_HAVE_OCTOMAP) -+#if !(FCL_HAVE_OCTOMAP) - #error "This header requires fcl to be compiled with octomap support" - #endif - -diff --git a/include/fcl/narrowphase/detail/traversal/octree/distance/octree_distance_traversal_node.h b/include/fcl/narrowphase/detail/traversal/octree/distance/octree_distance_traversal_node.h -index 2df84244..fcef5cc6 100644 ---- a/include/fcl/narrowphase/detail/traversal/octree/distance/octree_distance_traversal_node.h -+++ b/include/fcl/narrowphase/detail/traversal/octree/distance/octree_distance_traversal_node.h -@@ -39,7 +39,7 @@ - #define FCL_TRAVERSAL_OCTREE_OCTREEDISTANCETRAVERSALNODE_H - - #include "fcl/config.h" --#if not(FCL_HAVE_OCTOMAP) -+#if !(FCL_HAVE_OCTOMAP) - #error "This header requires fcl to be compiled with octomap support" - #endif - -diff --git a/include/fcl/narrowphase/detail/traversal/octree/distance/octree_mesh_distance_traversal_node.h b/include/fcl/narrowphase/detail/traversal/octree/distance/octree_mesh_distance_traversal_node.h -index 5ac1cc28..c1a8cc2e 100644 ---- a/include/fcl/narrowphase/detail/traversal/octree/distance/octree_mesh_distance_traversal_node.h -+++ b/include/fcl/narrowphase/detail/traversal/octree/distance/octree_mesh_distance_traversal_node.h -@@ -39,7 +39,7 @@ - #define FCL_TRAVERSAL_OCTREE_OCTREEMESHDISTANCETRAVERSALNODE_H - - #include "fcl/config.h" --#if not(FCL_HAVE_OCTOMAP) -+#if !(FCL_HAVE_OCTOMAP) - #error "This header requires fcl to be compiled with octomap support" - #endif - -diff --git a/include/fcl/narrowphase/detail/traversal/octree/distance/octree_shape_distance_traversal_node.h b/include/fcl/narrowphase/detail/traversal/octree/distance/octree_shape_distance_traversal_node.h -index 482f5f87..bf7abd96 100644 ---- a/include/fcl/narrowphase/detail/traversal/octree/distance/octree_shape_distance_traversal_node.h -+++ b/include/fcl/narrowphase/detail/traversal/octree/distance/octree_shape_distance_traversal_node.h -@@ -39,7 +39,7 @@ - #define FCL_TRAVERSAL_OCTREE_OCTREESHAPEDISTANCETRAVERSALNODE_H - - #include "fcl/config.h" --#if not(FCL_HAVE_OCTOMAP) -+#if !(FCL_HAVE_OCTOMAP) - #error "This header requires fcl to be compiled with octomap support" - #endif - -diff --git a/include/fcl/narrowphase/detail/traversal/octree/distance/shape_octree_distance_traversal_node.h b/include/fcl/narrowphase/detail/traversal/octree/distance/shape_octree_distance_traversal_node.h -index 02b3547b..8b731e16 100644 ---- a/include/fcl/narrowphase/detail/traversal/octree/distance/shape_octree_distance_traversal_node.h -+++ b/include/fcl/narrowphase/detail/traversal/octree/distance/shape_octree_distance_traversal_node.h -@@ -39,7 +39,7 @@ - #define FCL_TRAVERSAL_OCTREE_SHAPEOCTREEDISTANCETRAVERSALNODE_H - - #include "fcl/config.h" --#if not(FCL_HAVE_OCTOMAP) -+#if !(FCL_HAVE_OCTOMAP) - #error "This header requires fcl to be compiled with octomap support" - #endif - -diff --git a/include/fcl/narrowphase/detail/traversal/octree/octree_solver.h b/include/fcl/narrowphase/detail/traversal/octree/octree_solver.h -index 41597425..a10d835f 100644 ---- a/include/fcl/narrowphase/detail/traversal/octree/octree_solver.h -+++ b/include/fcl/narrowphase/detail/traversal/octree/octree_solver.h -@@ -39,7 +39,7 @@ - #define FCL_TRAVERSAL_OCTREE_OCTREESOLVER_H - - #include "fcl/config.h" --#if not(FCL_HAVE_OCTOMAP) -+#if !(FCL_HAVE_OCTOMAP) - #error "This header requires fcl to be compiled with octomap support" - #endif - diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 2bc9bfb..348a173 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,6 +1,6 @@ {% set name = "fcl" %} -{% set version = "0.6.1" %} -{% set sha256 = "c8a68de8d35a4a5cd563411e7577c0dc2c626aba1eef288cb1ca88561f8d8019" %} +{% set version = "0.7.0" %} +{% set sha256 = "90409e940b24045987506a6b239424a4222e2daf648c86dd146cbcb692ebdcbc" %} package: name: {{ name }} @@ -10,10 +10,11 @@ source: url: https://github.com/flexible-collision-library/fcl/archive/{{ version }}.tar.gz sha256: {{ sha256 }} patches: - - fix-win.patch + - win2017_support.patch + - 553.patch build: - number: 3 + number: 0 run_exports: - {{ pin_subpackage(name, max_pin='x.x') }} @@ -67,3 +68,4 @@ about: extra: recipe-maintainers: - wolfv + - traversaro diff --git a/recipe/win2017_support.patch b/recipe/win2017_support.patch new file mode 100644 index 0000000..e42ff8c --- /dev/null +++ b/recipe/win2017_support.patch @@ -0,0 +1,27 @@ +From e7a6374c1ab4491c25e128c0737fa0248d960c81 Mon Sep 17 00:00:00 2001 +From: Silvio Traversaro +Date: Sat, 13 Nov 2021 12:43:11 +0100 +Subject: [PATCH] Add VS2017 support + +--- + src/CMakeLists.txt | 6 ++++++ + 1 file changed, 6 insertions(+) + + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 425724e7..4d5019be 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -114,6 +114,12 @@ target_include_directories(${PROJECT_NAME} INTERFACE + $ + $) + ++# VS2017 support, see https://github.com/conda-forge/fcl-feedstock/pull/11#issuecomment-968054820 ++if(MSVC) ++ target_compile_definitions(${PROJECT_NAME} ++ PUBLIC _ENABLE_EXTENDED_ALIGNED_STORAGE) ++endif() ++ + export(TARGETS ${PROJECT_NAME} + FILE "${PROJECT_BINARY_DIR}/${PROJECT_NAME}-targets.cmake" + )