Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add automatic generation of conda binary packages for Windows, macOS and Linux in robotology channel #652

Merged
merged 13 commits into from
Mar 24, 2021
Merged
112 changes: 112 additions & 0 deletions .github/workflows/generate-conda-packages.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
name: Generate conda packages
# This action automatically generate conda packages for the packages in the robotology-superbuild
# Check doc/conda-recipe-generation.md for more info

on:
workflow_dispatch:
schedule:
# Run the job once a week
- cron: '0 0 * * 2'

jobs:
generate-conda-packages:
name: "Generate conda packages @${{ matrix.os }}"
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
conda_platform: linux-64
- os: macos-latest
conda_platform: osx-64
- os: windows-2019
conda_platform: win-64

steps:
- uses: actions/checkout@v2

- uses: conda-incubator/setup-miniconda@v2
with:
mamba-version: "*"
channels: conda-forge
channel-priority: true
python-version: "3.8"

- name: Install files to enable compilation of mex files [Conda/Linux]
if: contains(matrix.os, 'ubuntu')
run: |
curl -L -O https://github.com/robotology/robotology-vcpkg-ports/releases/download/storage/msdk_R2020b_mexa64.zip
unzip msdk_R2020b_mexa64.zip
rm msdk_R2020b_mexa64.zip
echo "GHA_Matlab_ROOT_DIR=${GITHUB_WORKSPACE}/msdk_R2020b_mexa64" >> $GITHUB_ENV
echo "GHA_Matlab_MEX_EXTENSION=mexa64" >> $GITHUB_ENV

- name: Install files to enable compilation of mex files [Conda/macOS]
if: contains(matrix.os, 'macos')
run: |
curl -L -O https://github.com/robotology/robotology-vcpkg-ports/releases/download/storage/msdk_R2020a_mexmaci64.zip
unzip msdk_R2020a_mexmaci64.zip
rm msdk_R2020a_mexmaci64.zip
echo "GHA_Matlab_ROOT_DIR=${GITHUB_WORKSPACE}/msdk_R2020a_mexmaci64" >> $GITHUB_ENV
echo "GHA_Matlab_MEX_EXTENSION=mexmaci64" >> $GITHUB_ENV

- name: Install files to enable compilation of mex files [Conda/Windows]
if: contains(matrix.os, 'windows')
shell: bash
run: |
curl -L -O https://github.com/robotology/robotology-vcpkg-ports/releases/download/storage/msdk_R2020a_mexw64.zip
unzip msdk_R2020a_mexw64.zip
rm msdk_R2020a_mexw64.zip
echo "GHA_Matlab_ROOT_DIR=${GITHUB_WORKSPACE}/msdk_R2020a_mexw64" >> $GITHUB_ENV
echo "GHA_Matlab_MEX_EXTENSION=mexw64" >> $GITHUB_ENV

# Python 3.8 is required by https://github.com/Anaconda-Platform/anaconda-client/pull/551
- name: Dependencies for conda recipes generation and upload
shell: bash -l {0}
run: |
mamba install pyyaml jinja2 conda-build ninja anaconda-client
python -m pip install git+https://github.com/wolfv/multisheller.git@0cc03c68d0c68d2f9cf7b07ddb68afa531419a6d

- name: Generate recipes [Linux&macOS]
if: contains(matrix.os, 'macos') || contains(matrix.os, 'ubuntu')
shell: bash -l {0}
run: |
mkdir build
cd build
cmake -GNinja -C ${GITHUB_WORKSPACE}/.ci/initial-cache.gh.cmake -DYCM_EP_ADDITIONAL_CMAKE_ARGS:STRING="-DMatlab_ROOT_DIR:PATH=${GHA_Matlab_ROOT_DIR} -DMatlab_MEX_EXTENSION:STRING=${GHA_Matlab_MEX_EXTENSION}" -DROBOTOLOGY_USES_MATLAB:BOOL=ON -DROBOTOLOGY_PROJECT_TAGS=LatestRelease -DROBOTOLOGY_GENERATE_CONDA_RECIPES:BOOL=ON ..

- name: Generate recipes [Windows]
if: contains(matrix.os, 'windows')
shell: bash -l {0}
run: |
mkdir build
cd build
cmake -G"Visual Studio 16 2019" -C ${GITHUB_WORKSPACE}/.ci/initial-cache.gh.cmake -DYCM_EP_ADDITIONAL_CMAKE_ARGS:STRING="-DMatlab_ROOT_DIR:PATH=${GHA_Matlab_ROOT_DIR} -DMatlab_MEX_EXTENSION:STRING=${GHA_Matlab_MEX_EXTENSION}" -DROBOTOLOGY_USES_MATLAB:BOOL=ON -DROBOTOLOGY_PROJECT_TAGS=LatestRelease -DROBOTOLOGY_GENERATE_CONDA_RECIPES:BOOL=ON ..

# Disable options not tested on Conda for now
# Reference issue: https://github.com/robotology/robotology-superbuild/issues/563
- name: Disable options not supported in conda
shell: bash -l {0}
run: |
# Cleanup recipes
rm -rf build/conda/generated_recipes
# Re-generate
cd build
cmake -DROBOTOLOGY_USES_OCTAVE:BOOL=OFF -DROBOTOLOGY_USES_PYTHON:BOOL=OFF .

- name: Build conda packages
shell: bash -l {0}
run: |
cd build/conda/generated_recipes
conda build -m ${GITHUB_WORKSPACE}/conda/conda_build_config.yml .
- name: Upload conda packages
shell: bash -l {0}
env:
ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
run: |
cd ${CONDA_PREFIX}/conda-bld/${{ matrix.conda_platform}}/
ls *.tar.bz2
anaconda upload --skip-existing *.tar.bz2


10 changes: 10 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,15 @@ include(RobotologySuperbuildOptions)
set(YCM_FOLDER src)
set(YCM_COMPONENT core)
set(YCM_MINIMUM_VERSION 0.11.1)

# Include logic for generating Conda recipes (by default it is disabled) and exit
if(ROBOTOLOGY_GENERATE_CONDA_RECIPES)
message(STATUS "ROBOTOLOGY_GENERATE_CONDA_RECIPES CMake option enabled, generating conda recipes.")
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/conda/cmake")
include(RobotologySuperbuildGenerateCondaRecipes)
return()
endif()

include(YCMBootstrap)

include(FindOrBuildPackage)
Expand All @@ -44,6 +53,7 @@ include(YCMEPHelper)
# depending on which profiles are enabled
include(RobotologySuperbuildLogic)


if(ROBOTOLOGY_USES_MATLAB)
# The following line is to properly configure the matlab and simulink software installed by the superbuild
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/template/startup_robotology_superbuild.m.in ${CMAKE_BINARY_DIR}/startup_robotology_superbuild.m)
Expand Down
3 changes: 3 additions & 0 deletions cmake/BuildCppAD.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,6 @@ ycm_ep_helper(CppAD TYPE GIT
TAG master
COMPONENT external
FOLDER src)

set(CppAD_CONDA_PKG_NAME cppad)
set(CppAD_CONDA_PKG_CONDA_FORGE_OVERRIDE ON)
2 changes: 2 additions & 0 deletions cmake/BuildGazeboYARPPlugins.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,5 @@ ycm_ep_helper(GazeboYARPPlugins TYPE GIT
DEPENDS YARP
gazebo
CMAKE_ARGS -DGAZEBO_YARP_PLUGINS_HAS_OPENCV:BOOL=ON)

set(GazeboYARPPlugins_CONDA_DEPENDENCIES opencv gazebo)
14 changes: 14 additions & 0 deletions cmake/BuildICUB.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ include(FindOrBuildPackage)
find_or_build_package(YARP QUIET)

set(ICUB_DEPENDS "")
list(APPEND ICUB_DEPENDS YCM)
list(APPEND ICUB_DEPENDS YARP)

if(ROBOTOLOGY_ENABLE_ICUB_HEAD)
Expand Down Expand Up @@ -81,3 +82,16 @@ ycm_ep_helper(ICUB TYPE GIT
-DENABLE_icubmod_socketcan:BOOL=${ENABLE_icubmod_socketcan}
-DICUB_USE_icub_firmware_shared:BOOL=${ROBOTOLOGY_ENABLE_ICUB_HEAD}
-DICUBMAIN_COMPILE_SIMULATORS:BOOL=${ICUBMAIN_COMPILE_SIMULATORS})

# Options related to generation of conda binary packages
set(ICUB_CONDA_DEPENDENCIES ace opencv gsl ipopt libode qt sdl)
if(NOT (APPLE OR WIN32))
list(APPEND ICUB_CONDA_DEPENDENCIES libdc1394)
endif()

if(NOT APPLE)
list(APPEND ICUB_CONDA_DEPENDENCIES freeglut)
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've often seen "UNIX AND NOT APPLE" - not sure which one is better.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

UNIX AND NOT APPLE is typically used to include *bsd systems, as conda-forge do not support any *bsd or similar target at the moment I think it is more clear to indicate it as "do something if we are on linux". If conda-forge will ever support other non-Linux targets (such as WebAssembly ( pyodide/pyodide#795 ), that would be a dream!) we will eventually fix this.

list(APPEND ICUB_CONDA_DEPENDENCIES libglu)
endif()
2 changes: 2 additions & 0 deletions cmake/BuildLieGroupControllers.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,5 @@ ycm_ep_helper(LieGroupControllers TYPE GIT
COMPONENT dynamics
FOLDER src
DEPENDS manif)

set(LieGroupControllers_CONDA_DEPENDENCIES eigen)
2 changes: 2 additions & 0 deletions cmake/BuildOsqpEigen.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,5 @@ ycm_ep_helper(OsqpEigen TYPE GIT
FOLDER src
CMAKE_ARGS -DBUILD_TESTING:BOOL=OFF
DEPENDS osqp)

set(OsqpEigen_CONDA_DEPENDENCIES "eigen")
2 changes: 2 additions & 0 deletions cmake/BuildUnicyclePlanner.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,5 @@ ycm_ep_helper(UnicyclePlanner TYPE GIT
COMPONENT dynamics
FOLDER src
DEPENDS iDynTree)

set(UnicyclePlanner_CONDA_DEPENDENCIES eigen)
2 changes: 2 additions & 0 deletions cmake/BuildWBToolbox.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,5 @@ ycm_ep_helper(WBToolbox TYPE GIT
iDynTree
qpOASES
BlockFactory)

set(WBToolbox_CONDA_DEPENDENCIES eigen)
10 changes: 2 additions & 8 deletions cmake/BuildYARP.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,6 @@
include(YCMEPHelper)
include(FindOrBuildPackage)

find_package(ACE QUIET)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Out of interest, doesn't that break non-conda builds?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACE needs to be installed in the system on all platforms supported by the robotology-superbuild. In general, in the superbuild build files there were a few of these find_package for dependencies that are not handled by the superbuild, but to avoid problems in the conda recipe generation process I just removed them for now, so that eventually we can add them back consistently for all packages.

find_package(SQLite QUIET)
find_package(Eigen3 QUIET)

set(YARP_OPTIONAL_DEPS "")
if(ROBOTOLOGY_ENABLE_ROBOT_TESTING)
find_or_build_package(RobotTestingFramework QUIET)
Expand All @@ -17,8 +13,6 @@ endif()

# Workaround for https://github.com/robotology/robotology-superbuild/issues/377
if(NOT APPLE)
find_package(SQLite QUIET)
list(APPEND YARP_OPTIONAL_DEPS SQLite)
set(YARP_OPTIONAL_CMAKE_ARGS "")
else()
set(YARP_OPTIONAL_CMAKE_ARGS "-DYARP_USE_SYSTEM_SQLite:BOOL=OFF")
Expand Down Expand Up @@ -51,8 +45,6 @@ ycm_ep_helper(YARP TYPE GIT
COMPONENT core
FOLDER src
DEPENDS YCM
ACE
Eigen3
${YARP_OPTIONAL_DEPS}
CMAKE_ARGS -DYARP_COMPILE_GUIS:BOOL=ON
-DYARP_USE_SYSTEM_SQLite:BOOL=ON
Expand Down Expand Up @@ -89,3 +81,5 @@ ycm_ep_helper(YARP TYPE GIT
-DCREATE_LUA:BOOL=${ROBOTOLOGY_USES_LUA}
-DENABLE_yarpmod_usbCamera:BOOL=${ENABLE_USBCAMERA}
${YARP_OPTIONAL_CMAKE_ARGS})

set(YARP_CONDA_DEPENDENCIES ace opencv tinyxml qt eigen sdl sdl2 sqlite libjpeg-turbo)
2 changes: 2 additions & 0 deletions cmake/Buildbipedal-locomotion-framework.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,5 @@ ycm_ep_helper(bipedal-locomotion-framework TYPE GIT
-DFRAMEWORK_USE_casadi:BOOL=${ROBOTOLOGY_ENABLE_DYNAMICS_FULL_DEPS}
-DFRAMEWORK_USE_LieGroupControllers:BOOL=${ROBOTOLOGY_ENABLE_DYNAMICS_FULL_DEPS}
DEPENDS ${bipedal-locomotion-framework_DEPENDS})

set(bipedal-locomotion-framework_CONDA_DEPENDENCIES eigen)
3 changes: 3 additions & 0 deletions cmake/Buildblocktest-yarp-plugins.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,6 @@ ycm_ep_helper(blocktest-yarp-plugins TYPE GIT
DEPENDS YARP
blocktestcore
CMAKE_CACHE_ARGS -DENABLE_MSVC_WARNINGS:BOOL=OFF)

set(blocktest-yarp-plugins_CONDA_DEPENDENCIES boost-cpp)
set(blocktest-yarp-plugins_CONDA_VERSION "1.1.0.1")
3 changes: 3 additions & 0 deletions cmake/Buildblocktestcore.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,6 @@ ycm_ep_helper(blocktestcore TYPE GIT
FOLDER src
CMAKE_CACHE_ARGS -DENABLE_MSVC_WARNINGS:BOOL=OFF
DEPENDS YCM)

set(blocktestcore_CONDA_DEPENDENCIES qt boost-cpp)
set(blocktestcore_CONDA_VERSION "2.3.0.1")
3 changes: 3 additions & 0 deletions cmake/Buildcasadi.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,6 @@ ycm_ep_helper(casadi TYPE GIT
-DLIB_PREFIX:PATH=lib
-DBIN_PREFIX:PATH=bin
DEPENDS osqp)

set(casadi_CONDA_PKG_NAME casadi)
set(casadi_CONDA_PKG_CONDA_FORGE_OVERRIDE ON)
2 changes: 2 additions & 0 deletions cmake/Buildhuman-dynamics-estimation.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,5 @@ ycm_ep_helper(human-dynamics-estimation TYPE GIT
wearables
osqp
OsqpEigen)

set(human-dynamics-estimation_CONDA_DEPENDENCIES eigen)
2 changes: 2 additions & 0 deletions cmake/BuildiDynTree.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,5 @@ ycm_ep_helper(iDynTree TYPE GIT
-DIDYNTREE_USES_PYTHON:BOOL=${ROBOTOLOGY_USES_PYTHON}
-DIDYNTREE_USES_OCTAVE:BOOL=${ROBOTOLOGY_USES_OCTAVE}
DEPENDS ${iDynTree_DEPENDS})

set(iDynTree_CONDA_DEPENDENCIES libxml2 ipopt eigen qt irrlicht)
2 changes: 2 additions & 0 deletions cmake/Buildicub-basic-demos.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,5 @@ ycm_ep_helper(icub-basic-demos TYPE GIT
DEPENDS YARP
ICUB
ICUBcontrib)

set(icub-basic-demos_CONDA_DEPENDENCIES opencv qt)
5 changes: 4 additions & 1 deletion cmake/Buildicub_firmware_shared.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,11 @@
include(YCMEPHelper)
include(FindOrBuildPackage)

find_or_build_package(YCM QUIET)

ycm_ep_helper(icub_firmware_shared TYPE GIT
STYLE GITHUB
REPOSITORY robotology/icub-firmware-shared.git
COMPONENT iCub
FOLDER src)
FOLDER src
DEPENDS YCM)
3 changes: 3 additions & 0 deletions cmake/Buildmanif.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,6 @@ ycm_ep_helper(manif TYPE GIT
COMPONENT external
FOLDER src
CMAKE_ARGS -DBUILD_TESTING:BOOL=OFF -DBUILD_EXAMPLES:BOOL=OFF)

set(manif_CONDA_PKG_NAME manif)
set(manif_CONDA_PKG_CONDA_FORGE_OVERRIDE ON)
2 changes: 2 additions & 0 deletions cmake/Buildmatio-cpp.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,5 @@ ycm_ep_helper(matio-cpp TYPE GIT
COMPONENT dynamics
FOLDER src
CMAKE_ARGS -DBUILD_TESTING:BOOL=OFF)

set(matio-cpp_CONDA_DEPENDENCIES "libmatio")
3 changes: 3 additions & 0 deletions cmake/Buildosqp.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,6 @@ ycm_ep_helper(osqp TYPE GIT
COMPONENT external
FOLDER src
CMAKE_ARGS -DUNITTESTS:BOOL=OFF)

set(osqp_CONDA_PKG_NAME libosqp)
set(osqp_CONDA_PKG_CONDA_FORGE_OVERRIDE ON)
3 changes: 3 additions & 0 deletions cmake/Buildqhull.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,6 @@ ycm_ep_helper(qhull TYPE GIT
COMPONENT external
FOLDER src
CMAKE_ARGS -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON)

set(qhull_CONDA_PKG_NAME qhull)
set(qhull_CONDA_PKG_CONDA_FORGE_OVERRIDE ON)
2 changes: 2 additions & 0 deletions cmake/BuildqpOASES.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,5 @@ ycm_ep_helper(qpOASES TYPE GIT
COMPONENT external
FOLDER src
CMAKE_ARGS -DQPOASES_BUILD_BINDINGS_MATLAB:BOOL=OFF)

set(qpOASES_CONDA_PKG_NAME "qpoases")
4 changes: 3 additions & 1 deletion cmake/Buildwalking-controllers.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,10 @@ list(APPEND walking-controllers_DEPENDS ICUBcontrib)

ycm_ep_helper(walking-controllers TYPE GIT
STYLE GITHUB
REPOSITORY robotology/walking-controllers
REPOSITORY robotology/walking-controllers.git
TAG master
COMPONENT dynamics
FOLDER src
DEPENDS ${walking-controllers_DEPENDS})

set(walking-controllers_CONDA_DEPENDENCIES "eigen")
3 changes: 3 additions & 0 deletions cmake/Buildwalking-teleoperation.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,6 @@ ycm_ep_helper(walking-teleoperation TYPE GIT
DEPENDS iDynTree
ICUB
YARP)

set(walking-teleoperation_CONDA_DEPENDENCIES "eigen")
set(walking-teleoperation_CONDA_VERSION "0.0.1")
2 changes: 2 additions & 0 deletions cmake/Buildwhole-body-estimators.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,5 @@ ycm_ep_helper(whole-body-estimators TYPE GIT
COMPONENT dynamics
FOLDER src
DEPENDS ${whole-body-estimators_DEPENDS})

set(whole-body-estimators_CONDA_DEPENDENCIES "eigen")
10 changes: 8 additions & 2 deletions cmake/RobotologySuperbuildOptions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -67,16 +67,19 @@ if(NOT CMAKE_CONFIGURATION_TYPES)
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS ${ROBOTOLOGY_BUILD_TYPES})
endif()

set(ROBOTOLOGY_PROJECT_TAGS "Stable" CACHE STRING "The tags to be used for the robotology projects: Stable, Unstable or Custom. This can be changed only before the first configuration.")
set(ROBOTOLOGY_PROJECT_TAGS "Stable" CACHE STRING "The tags to be used for the robotology projects: Stable, Unstable, LatestRelease or Custom. This can be changed only before the first configuration.")
mark_as_advanced(ROBOTOLOGY_PROJECT_TAGS)
set(ROBOTOLOGY_PROJECT_TAGS_CUSTOM_FILE CACHE FILEPATH "If ROBOTOLOGY_PROJECT_TAGS is custom, this file will be loaded to specify the tags of the projects to use.")
mark_as_advanced(ROBOTOLOGY_PROJECT_TAGS_CUSTOM_FILE)
set_property(CACHE ROBOTOLOGY_PROJECT_TAGS PROPERTY STRINGS "Stable" "Unstable" "Custom")
set_property(CACHE ROBOTOLOGY_PROJECT_TAGS PROPERTY STRINGS "Stable" "Unstable" "LatestRelease" "Custom")

if(ROBOTOLOGY_PROJECT_TAGS STREQUAL "Stable")
include(ProjectsTagsStable)
elseif(ROBOTOLOGY_PROJECT_TAGS STREQUAL "Unstable")
include(ProjectsTagsUnstable)
elseif(ROBOTOLOGY_PROJECT_TAGS STREQUAL "LatestRelease")
include(YCMLoadVcsYamlInfo)
ycm_load_vcs_yaml_info(YAML_FILE ${PROJECT_SOURCE_DIR}/releases/latest.releases.yaml VERBOSE)
elseif(ROBOTOLOGY_PROJECT_TAGS STREQUAL "Custom")
if(ROBOTOLOGY_PROJECT_TAGS_CUSTOM_FILE MATCHES ".yaml$" OR
ROBOTOLOGY_PROJECT_TAGS_CUSTOM_FILE MATCHES ".repos$")
Expand All @@ -88,3 +91,6 @@ elseif(ROBOTOLOGY_PROJECT_TAGS STREQUAL "Custom")
else()
message(FATAL_ERROR "The ROBOTOLOGY_PROJECT_TAGS variable can be Stable, Unstable or Custom. ${ROBOTOLOGY_PROJECT_TAGS} value is not supported.")
endif()

option(ROBOTOLOGY_GENERATE_CONDA_RECIPES "If enabled, generate conda recipes instead of building the superbuild. This should not be used by end users." OFF)
mark_as_advanced(ROBOTOLOGY_GENERATE_CONDA_RECIPES)
7 changes: 7 additions & 0 deletions conda/cmake/CondaGenerationOptions.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# This number needs to be increased at each full rebuild,
# to ensure that binaries belonging to different rebuilds
# can be distinguished even if the version number is the same
set(CONDA_BUILD_NUMBER 0)

# For more conda generation options, check the specific project Build<CMakeProject>.cmake
# file for variables that start with `<CMakeProject>_CONDA`
Empty file.
Loading