diff --git a/.appveyor.yml b/.appveyor.yml index d2f70f5a4b5d7..6630d7b278df8 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -2,7 +2,7 @@ version: "{build}" image: - - Visual Studio 2017 + - Visual Studio 2019 # - Ubuntu1604 # - Ubuntu1804 @@ -13,13 +13,13 @@ environment: MSVC_DEFAULT_OPTIONS: ON CMAKE_TOOLCHAIN_FILE: -DCMAKE_TOOLCHAIN_FILE="C:\tools\vcpkg\scripts\buildsystems\vcpkg.cmake" matrix: - - CMAKE_GENERATOR: -G"Visual Studio 15 2017 Win64" - CMAKE_TOOLCHAIN: -T"v141" + - CMAKE_GENERATOR: -G"Visual Studio 16 2019" + CMAKE_TOOLCHAIN: -T"v142" # build configuration, i.e. Debug, Release, etc. configuration: - Debug - - Release + # - Release # scripts that are called at very beginning, before repo cloning init: @@ -52,8 +52,10 @@ install: - cmd: vcpkg install --recurse --triplet %VCPKG_ARCH% assimp boost-system boost-filesystem ccd eigen3 fcl # install optional dependencies - #- vcpkg install --recurse --triplet %VCPKG_ARCH% bullet3 flann freeglut nlopt ode opengl osg tinyxml2 urdfdom - #- vcpkg install ipopt:%VCPKG_ARCH% + # 'dart-utils' needs tinyxml2 and boost algorithm/lexical-cast + # and also boost-math to resolve a circular dependency with lexical-cast + - cmd: vcpkg install --recurse --triplet %VCPKG_ARCH% boost-algorithm boost-lexical-cast boost-math bullet3 freeglut ode opengl tinyxml2 + #- vcpkg install --recurse --triplet %VCPKG_ARCH% flann ipopt nlopt osg urdfdom - cmd: vcpkg integrate install - cmd: cd "%APPVEYOR_BUILD_FOLDER%" @@ -63,7 +65,7 @@ install: #------------------------------- - sh: sudo apt-get update - sh: sudo apt-get --yes install build-essential cmake pkg-config git - - sh: sudo apt-get --yes install libeigen3-dev libassimp-dev libccd-dev libfcl-dev libboost-regex-dev libboost-system-dev + - sh: sudo apt-get --yes install libeigen3-dev libassimp-dev libccd-dev libfcl-dev libboost-system-dev - sh: sudo apt-get --yes install libnlopt-dev coinor-libipopt-dev libbullet-dev libflann-dev libtinyxml2-dev liburdfdom-dev libxi-dev libxmu-dev freeglut3-dev libopenscenegraph-dev - sh: sudo apt-get --yes install clang-format-6.0 @@ -76,8 +78,8 @@ build_script: # Windows 10 #------------------ - cmd: mkdir build && cd build - - cmd: cmake %CMAKE_GENERATOR% -DCMAKE_BUILD_TYPE=%configuration% -DDART_MSVC_DEFAULT_OPTIONS="%MSVC_DEFAULT_OPTIONS%" %CMAKE_TOOLCHAIN_FILE% %CMAKE_TOOLCHAIN% .. - # - cmd: cmake --build . --target ALL_BUILD --config %configuration% -- /maxcpucount:4 /verbosity:quiet + - cmd: cmake %CMAKE_GENERATOR% -A x64 -DCMAKE_BUILD_TYPE=%configuration% -DDART_VERBOSE=ON -DDART_MSVC_DEFAULT_OPTIONS="%MSVC_DEFAULT_OPTIONS%" %CMAKE_TOOLCHAIN_FILE% %CMAKE_TOOLCHAIN% .. + # - cmd: cmake --build . --target ALL_BUILD --config %configuration% -- /maxcpucount:4 #------------------------------- # Ubuntu 16.04 LTS && 18.04 LTS diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml index a8cdb13d4191e..00996d3f372ec 100644 --- a/.azure-pipelines.yml +++ b/.azure-pipelines.yml @@ -2,23 +2,23 @@ # Ref: https://docs.microsoft.com/en-us/azure/devops/pipelines jobs: -- job: xenial_gcc_release +- job: xenial_gcc_debug + timeoutInMinutes: 120 pool: vmImage: 'ubuntu-16.04' variables: - OS_NAME: linux COMPILER: gcc - BUILD_TYPE: Release + BUILD_TYPE: Debug BUILD_DIR: $(Build.SourcesDirectory) DOCKERFILE: Dockerfile.ubuntu-xenial steps: - template: .ci/azure-pipelines/docker.yml - job: bionic_gcc_debug + timeoutInMinutes: 120 pool: vmImage: 'ubuntu-16.04' variables: - OS_NAME: linux COMPILER: gcc BUILD_TYPE: Debug BUILD_DIR: $(Build.SourcesDirectory) @@ -26,77 +26,11 @@ jobs: steps: - template: .ci/azure-pipelines/docker.yml -- job: bionic_gcc_dartpy_release - pool: - vmImage: 'ubuntu-16.04' - variables: - OS_NAME: linux - COMPILER: gcc - BUILD_TYPE: Release - BUILD_DARTPY: ON - BUILD_DIR: $(Build.SourcesDirectory) - DOCKERFILE: Dockerfile.ubuntu-bionic - steps: - - template: .ci/azure-pipelines/docker.yml - timeoutInMinutes: 0 - -- job: disco_gcc_debug - pool: - vmImage: 'ubuntu-16.04' - variables: - OS_NAME: linux - COMPILER: gcc - BUILD_TYPE: Debug - BUILD_DIR: $(Build.SourcesDirectory) - DOCKERFILE: Dockerfile.ubuntu-disco - steps: - - template: .ci/azure-pipelines/docker.yml - -- job: disco_gcc_dartpy_release - pool: - vmImage: 'ubuntu-16.04' - variables: - OS_NAME: linux - COMPILER: gcc - BUILD_TYPE: Release - BUILD_DARTPY: ON - BUILD_DIR: $(Build.SourcesDirectory) - DOCKERFILE: Dockerfile.ubuntu-disco - steps: - - template: .ci/azure-pipelines/docker.yml - timeoutInMinutes: 0 - -- job: eoan_gcc_debug +- job: catalina_clang_debug + timeoutInMinutes: 120 pool: - vmImage: 'ubuntu-16.04' + vmImage: 'macOS-10.15' variables: - OS_NAME: linux - COMPILER: gcc - BUILD_TYPE: Debug - BUILD_DIR: $(Build.SourcesDirectory) - DOCKERFILE: Dockerfile.ubuntu-eoan - steps: - - template: .ci/azure-pipelines/docker.yml - -- job: eoan_gcc_dartpy_release - pool: - vmImage: 'ubuntu-16.04' - variables: - OS_NAME: linux - COMPILER: gcc - BUILD_TYPE: Release - BUILD_DARTPY: ON - BUILD_DIR: $(Build.SourcesDirectory) - DOCKERFILE: Dockerfile.ubuntu-eoan - steps: - - template: .ci/azure-pipelines/docker.yml - timeoutInMinutes: 0 - -- job: mojav_clang_debug - pool: - vmImage: 'macOS-10.14' - variables: - OS_NAME: osx BUILD_TYPE: Debug BUILD_DIR: $(Build.SourcesDirectory) steps: @@ -106,54 +40,3 @@ jobs: - script: | '.ci/script.sh' displayName: 'Script' - -- job: mojav_clang_dartpy_release - pool: - vmImage: 'macOS-10.14' - variables: - OS_NAME: osx - BUILD_TYPE: Release - BUILD_DARTPY: ON - BUILD_DIR: $(Build.SourcesDirectory) - steps: - - script: | - '.ci/install.sh' - displayName: 'Install' - - script: | - '.ci/script.sh' - displayName: 'Script' - -- job: windows_vs2019_x64 - pool: - vmImage: 'windows-2019' - timeoutInMinutes: 0 - strategy: - matrix: - # Debug64: - # CONFIGURATION: 'Debug' - Release64: - CONFIGURATION: 'Release' - variables: - VCPKG_INSTALL_ROOT: $(Build.SourcesDirectory)\vcpkg - VCPKG_ARCH: 'x64-windows' - VCPKG_PACKAGES: 'assimp boost-system boost-filesystem ccd eigen3 fcl' - BUILD_TOOLSET_VERSION: '142' - CMAKE_GENERATOR: 'Visual Studio 16 2019' - steps: - - script: | - git clone -q --depth 1 https://github.com/microsoft/vcpkg.git $(VCPKG_INSTALL_ROOT) - $(VCPKG_INSTALL_ROOT)\bootstrap-vcpkg.bat - displayName: 'Install vcpkg' - - script: | - $(VCPKG_INSTALL_ROOT)\vcpkg.exe install --recurse --triplet $(VCPKG_ARCH) $(VCPKG_PACKAGES) - $(VCPKG_INSTALL_ROOT)\vcpkg.exe integrate install - displayName: 'Install dependencies' - - script: | - cmake --version - mkdir build - cd build - cmake .. -G "$(CMAKE_GENERATOR)" -A x64 -DCMAKE_BUILD_TYPE=$(CONFIGURATION) -Wno-dev -T "v$(BUILD_TOOLSET_VERSION),host=x64" -DVCPKG_TARGET_TRIPLET=$(VCPKG_ARCH) -DCMAKE_TOOLCHAIN_FILE="$(VCPKG_INSTALL_ROOT)/scripts/buildsystems/vcpkg.cmake" -DCMAKE_INSTALL_PREFIX="$(Build.BinariesDirectory)/$(REPO_NAME)" -DDART_MSVC_DEFAULT_OPTIONS=ON - cmake --build . --target ALL_BUILD --config $(CONFIGURATION) -- /maxcpucount:4 - displayName: 'Build' - workingDirectory: '$(Build.SourcesDirectory)' - diff --git a/.ci/azure-pipelines/native.yml b/.ci/azure-pipelines/native.yml index aafbdc1f272ea..ad1c9f32d37cf 100644 --- a/.ci/azure-pipelines/native.yml +++ b/.ci/azure-pipelines/native.yml @@ -3,8 +3,8 @@ parameters: steps: - script: | - ./.ci/install.sh + sudo -E ./.ci/install.sh displayName: 'Install' - script: | - ./.ci/script.sh -j${{ parameters.numThreads }} + sudo -E ./.ci/script.sh -j${{ parameters.numThreads }} displayName: 'Script' diff --git a/.ci/docker/Dockerfile.ubuntu-cosmic b/.ci/docker/Dockerfile.ubuntu-cosmic deleted file mode 100644 index b763c1ed02888..0000000000000 --- a/.ci/docker/Dockerfile.ubuntu-cosmic +++ /dev/null @@ -1 +0,0 @@ -FROM ubuntu:cosmic diff --git a/.ci/docker/Dockerfile.ubuntu-disco b/.ci/docker/Dockerfile.ubuntu-disco deleted file mode 100644 index fecc436b8dfe1..0000000000000 --- a/.ci/docker/Dockerfile.ubuntu-disco +++ /dev/null @@ -1 +0,0 @@ -FROM ubuntu:disco diff --git a/.ci/docker/Dockerfile.ubuntu-eoan b/.ci/docker/Dockerfile.ubuntu-eoan deleted file mode 100644 index af943c6977ada..0000000000000 --- a/.ci/docker/Dockerfile.ubuntu-eoan +++ /dev/null @@ -1 +0,0 @@ -FROM ubuntu:eoan diff --git a/.ci/docker/env.list b/.ci/docker/env.list index 6264bf6bdc8ae..d2d3abf971c7a 100644 --- a/.ci/docker/env.list +++ b/.ci/docker/env.list @@ -1,6 +1,5 @@ REPO_SLUG IS_PULL_REQUEST -OS_NAME BUILD_DIR COMPILER @@ -9,5 +8,5 @@ BUILD_TYPE BUILD_DARTPY BUILD_DOCS CODECOV -SUDO +DOCKERFILE BUILD_DARTPY diff --git a/.ci/install.sh b/.ci/install.sh index 2ccc7588dd3cf..5809b08b32c9e 100755 --- a/.ci/install.sh +++ b/.ci/install.sh @@ -1,5 +1,8 @@ #!/usr/bin/env bash set -ex -if [ "$OS_NAME" = "linux" ]; then '.ci/install_linux.sh' ; fi -if [ "$OS_NAME" = "osx" ]; then '.ci/install_osx.sh' ; fi +if [ "${OSTYPE//[0-9.]/}" == "linux-gnu" ]; then + '.ci/install_linux.sh' +elif [ "${OSTYPE//[0-9.]/}" == "darwin" ]; then + '.ci/install_osx.sh' +fi diff --git a/.ci/install_linux.sh b/.ci/install_linux.sh index 6158621c8cb86..74704383f4fad 100755 --- a/.ci/install_linux.sh +++ b/.ci/install_linux.sh @@ -1,13 +1,29 @@ #!/usr/bin/env bash set -ex -$SUDO apt-get -qq update -$SUDO apt-get -y install lsb-release software-properties-common -$SUDO apt-add-repository -y ppa:dartsim/ppa -$SUDO apt-get -qq update +# Sanity checks for required environment variables. +if [ -z "$BUILD_DARTPY" ]; then + echo "Info: Environment variable BUILD_DARTPY is unset. Using OFF by default." + BUILD_DARTPY=OFF +fi + +if [ -z "$BUILD_DOCS" ]; then + echo "Info: Environment variable BUILD_DOCS is unset. Using OFF by default." + BUILD_DOCS=OFF +fi + +if [ -z "$COMPILER" ]; then + echo "Info: Environment variable COMPILER is unset. Using gcc by default." + COMPILER=gcc +fi + +apt-get -qq update +apt-get -y install lsb-release software-properties-common +apt-add-repository -y ppa:dartsim/ppa +apt-get -qq update # Build tools -$SUDO apt-get -y install \ +apt-get install -y --no-install-recommends \ sudo \ build-essential \ cmake \ @@ -15,21 +31,24 @@ $SUDO apt-get -y install \ curl \ git if [ $COMPILER = clang ]; then - $SUDO apt-get -qq -y install clang + apt-get -qq -y install clang fi # Required dependencies -$SUDO apt-get -y install \ +apt-get install -y --no-install-recommends \ libassimp-dev \ libboost-filesystem-dev \ - libboost-regex-dev \ libboost-system-dev \ libccd-dev \ libeigen3-dev \ libfcl-dev +# Required dependencies for building API documentation of DART < 6.10 +apt-get install -y --no-install-recommends \ + libboost-regex-dev + # Optional dependencies -$SUDO apt-get -y install \ +apt-get install -y --no-install-recommends \ freeglut3-dev \ libxi-dev \ libxmu-dev \ @@ -41,58 +60,47 @@ $SUDO apt-get -y install \ liburdfdom-dev \ liburdfdom-headers-dev \ libopenscenegraph-dev -if [ $(lsb_release -sc) = "xenial" ]; then - $SUDO apt-get -y install libnlopt-dev - $SUDO apt-get -y install liboctomap-dev libode-dev -elif [ $(lsb_release -sc) = "bionic" ]; then - $SUDO apt-get -y install libnlopt-dev - $SUDO apt-get -y install liboctomap-dev libode-dev - $SUDO apt-get -y install clang-format-6.0 -elif [ $(lsb_release -sc) = "cosmic" ]; then - $SUDO apt-get -y install libnlopt-cxx-dev - $SUDO apt-get -y install liboctomap-dev libode-dev -elif [ $(lsb_release -sc) = "disco" ]; then - $SUDO apt-get -y install libnlopt-cxx-dev - $SUDO apt-get -y install liboctomap-dev libode-dev -elif [ $(lsb_release -sc) = "eoan" ]; then - $SUDO apt-get -y install libnlopt-cxx-dev - $SUDO apt-get -y install liboctomap-dev libode-dev +if [ $(lsb_release -sc) = "xenial" ] || [ $(lsb_release -sc) = "bionic" ]; then + apt-get install -y --no-install-recommends \ + libnlopt-dev \ + liboctomap-dev \ + libode-dev \ + clang-format-6.0 +elif [ $(lsb_release -sc) = "focal" ]; then + apt-get install -y --no-install-recommends \ + libnlopt-cxx-dev \ + liboctomap-dev \ + libode-dev \ + clang-format-6.0 +elif [ $(lsb_release -sc) = "groovy" ]; then + apt-get install -y --no-install-recommends \ + libnlopt-cxx-dev \ + liboctomap-dev \ + libode-dev else echo -e "$(lsb_release -sc) is not supported." exit 1 fi if [ "$BUILD_DARTPY" = "ON" ]; then - $SUDO apt-get -y install python3-dev python3-numpy - $SUDO apt-get -y install python3-pip -y - $SUDO pip3 install pytest -U + apt-get install -y --no-install-recommends \ + python3-dev \ + python3-numpy \ + python3-pip \ + python3-setuptools + pip3 install pytest -U - if [ $(lsb_release -sc) = "xenial" ]; then - git clone https://github.com/pybind/pybind11 -b 'v2.2.4' --single-branch --depth 1 + if [ $(lsb_release -sc) = "xenial" ] || [ $(lsb_release -sc) = "bionic" ]; then + git clone https://github.com/pybind/pybind11 -b 'v2.3.0' --single-branch --depth 1 cd pybind11 mkdir build cd build cmake .. -DCMAKE_BUILD_TYPE=Release -DPYBIND11_TEST=OFF make -j4 - $SUDO make install + make install cd ../.. - elif [ $(lsb_release -sc) = "bionic" ]; then - git clone https://github.com/pybind/pybind11 -b 'v2.2.4' --single-branch --depth 1 - cd pybind11 - mkdir build - cd build - cmake .. -DCMAKE_BUILD_TYPE=Release -DPYBIND11_TEST=OFF - make -j4 - $SUDO make install - cd ../.. - elif [ $(lsb_release -sc) = "cosmic" ]; then - $SUDO apt-get -y install pybind11-dev python3 libpython3-dev python3-pytest \ - python3-distutils - elif [ $(lsb_release -sc) = "disco" ]; then - $SUDO apt-get -y install pybind11-dev python3 libpython3-dev python3-pytest \ - python3-distutils - elif [ $(lsb_release -sc) = "eoan" ]; then - $SUDO apt-get -y install pybind11-dev python3 libpython3-dev python3-pytest \ + elif [ $(lsb_release -sc) = "focal" ] || [ $(lsb_release -sc) = "groovy" ]; then + apt-get -y install pybind11-dev python3 libpython3-dev python3-pytest \ python3-distutils else echo -e "$(lsb_release -sc) is not supported." @@ -100,8 +108,8 @@ if [ "$BUILD_DARTPY" = "ON" ]; then fi fi -$SUDO apt-get -y install lcov +apt-get install -y --no-install-recommends lcov if [ $BUILD_DOCS = "ON" ]; then - $SUDO apt-get -qq -y install doxygen + apt-get install -y --no-install-recommends doxygen fi diff --git a/.ci/install_osx.sh b/.ci/install_osx.sh index 13c5e927cd6de..1955659596ec9 100755 --- a/.ci/install_osx.sh +++ b/.ci/install_osx.sh @@ -2,6 +2,7 @@ set -ex brew update > /dev/null -brew bundle +brew bundle || brew bundle +brew install open-scene-graph --HEAD # install master branch until 3.7.0 is released -pip3 install -U pytest +pip3 install -U numpy pytest diff --git a/.ci/script.sh b/.ci/script.sh index cdfc6f8b03498..a1ac9ff9c5fcb 100755 --- a/.ci/script.sh +++ b/.ci/script.sh @@ -7,6 +7,16 @@ if [ -z "$BUILD_TYPE" ]; then exit 1 fi +if [ -z "$RUN_TESTS" ]; then + echo "Info: Environment variable RUN_TESTS is unset. Using ON by default." + RUN_TESTS=ON +fi + +if [ -z "$RUN_INSTALL_TEST" ]; then + echo "Info: Environment variable RUN_INSTALL_TEST is unset. Using ON by default." + RUN_INSTALL_TEST=ON +fi + if [ -z "$BUILD_DARTPY" ]; then echo "Info: Environment variable BUILD_DARTPY is unset. Using OFF by default." BUILD_DARTPY=OFF @@ -17,14 +27,19 @@ if [ -z "$BUILD_DOCS" ]; then BUILD_DOCS=OFF fi +if [ -z "$COMPILER" ]; then + echo "Info: Environment variable COMPILER is unset. Using gcc by default." + COMPILER=gcc +fi + if [ -z "$CODECOV" ]; then echo "Info: Environment variable CODECOV is unset. Using OFF by default." CODECOV=OFF fi -if [ -z "$OS_NAME" ]; then - echo "Error: Environment variable OS_NAME is unset." - exit 1 +if [ -z "$BUILD_DIR" ]; then + echo "Error: Environment variable BUILD_DIR is unset. Using $PWD by default." + BUILD_DIR=$PWD fi # Set number of threads for parallel build @@ -64,7 +79,7 @@ fi mkdir build && cd build -if [ "$OS_NAME" = "linux" ]; then +if [ "$OSTYPE" = "linux-gnu" ]; then install_prefix_option="-DCMAKE_INSTALL_PREFIX=/usr/" fi @@ -83,34 +98,36 @@ if [ "$BUILD_DARTPY" = "ON" ]; then else if [ "$CODECOV" = "ON" ]; then make -j$num_threads all tests - else + elif [ "$RUN_TESTS" = "ON" ]; then make -j$num_threads all tutorials examples tests fi - if [ "$OS_NAME" = "linux" ] && [ $(lsb_release -sc) = "bionic" ]; then + if [ "$OSTYPE" = "linux-gnu" ] && [ $(lsb_release -sc) = "bionic" ]; then make check-format fi if [ $CODECOV = "ON" ]; then make -j$num_threads codecov - else + elif [ "$RUN_TESTS" = "ON" ]; then ctest --output-on-failure -j$num_threads fi fi -# Make sure we can install with no issues -$SUDO make -j$num_threads install +if [ "$RUN_INSTALL_TEST" = "ON" ]; then + # Make sure we can install with no issues + make -j$num_threads install -if [ "$BUILD_DARTPY" = "ON" ]; then - # Run a python example (experimental) if [ "$BUILD_DARTPY" = "ON" ]; then - cd $BUILD_DIR/python/examples/hello_world - python3 main.py + # Run a python example (experimental) + if [ "$BUILD_DARTPY" = "ON" ]; then + cd $BUILD_DIR/python/examples/hello_world + python3 main.py + fi + else + # Build an example using installed DART + cd $BUILD_DIR/examples/hello_world + mkdir build && cd build + cmake .. + make -j$num_threads fi -else - # Build an example using installed DART - cd $BUILD_DIR/examples/hello_world - mkdir build && cd build - cmake .. - make -j$num_threads fi diff --git a/.ci/travis/docs_versions.txt b/.ci/travis/docs_versions.txt index 1919d1944a5ab..b5bc5d09eeeff 100644 --- a/.ci/travis/docs_versions.txt +++ b/.ci/travis/docs_versions.txt @@ -1,5 +1,5 @@ DART 6 -v6.9.2 +v6.9.3 v6.8.5 v6.7.3 v6.6.2 diff --git a/.travis.yml b/.travis.yml index 33792fa04bf84..43ad6f5ad4815 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,7 +11,6 @@ env: global: - REPO_SLUG=$TRAVIS_REPO_SLUG - IS_PULL_REQUEST=$TRAVIS_PULL_REQUEST - - OS_NAME=$TRAVIS_OS_NAME - BUILD_DIR=$TRAVIS_BUILD_DIR - BUILD_DARTPY=OFF - CODECOV=OFF @@ -22,9 +21,8 @@ matrix: - os: linux env: - BUILD_NAME=XENIAL_DEBUG_CODECOV - - SUDO=sudo - BUILD_TYPE=Debug - - COMPILER=GCC + - COMPILER=gcc - CODECOV=ON - os: linux @@ -32,74 +30,31 @@ matrix: - BUILD_NAME=XENIAL_32BIT_DEBUG_CODECOV - DOCKERFILE="Dockerfile.ubuntu-xenial-32bit" - BUILD_TYPE=Release # TODO: Tests fail in debug mode - - COMPILER=GCC - - CODECOV=ON - services: docker - - - os: linux - env: - - BUILD_NAME=BIONIC_RELEASE - - DOCKERFILE="Dockerfile.ubuntu-bionic" - - BUILD_TYPE=Release - - COMPILER=GCC - services: docker - - - os: linux - env: - - BUILD_NAME=DISCO_RELEASE - - DOCKERFILE="Dockerfile.ubuntu-disco" - - BUILD_TYPE=Release - - COMPILER=GCC - services: docker - - - os: linux - env: - - BUILD_NAME=EOAN_RELEASE - - DOCKERFILE="Dockerfile.ubuntu-eoan" - - BUILD_TYPE=Release - - COMPILER=GCC + - COMPILER=gcc services: docker - - os: osx - osx_image: xcode10.2 - compiler: clang - env: - - BUILD_NAME=XCODE102_RELEASE - - BUILD_TYPE=Release - - COMPILER=CLANG - - os: linux env: - BUILD_DOCS=ON - DOCKERFILE="Dockerfile.ubuntu-bionic" - BUILD_TYPE=Release - - COMPILER=GCC + - COMPILER=gcc services: docker - allow_failures: - - os: linux - env: - - BUILD_NAME=EOAN_RELEASE - - DOCKERFILE="Dockerfile.ubuntu-eoan" - - BUILD_TYPE=Release - - COMPILER=GCC - services: docker - - install: - if [ -n "$DOCKERFILE" ]; then docker build -t "${DOCKERFILE,,}" -f ".ci/docker/$DOCKERFILE" .; docker run -itd -v $TRAVIS_BUILD_DIR:$TRAVIS_BUILD_DIR --env-file .ci/docker/env.list --name dart-docker "${DOCKERFILE,,}"; docker exec dart-docker /bin/sh -c "cd $TRAVIS_BUILD_DIR && ./.ci/install.sh"; else - '.ci/install.sh'; + sudo -E .ci/install.sh; fi script: - if [ -n "$DOCKERFILE" ]; then docker exec dart-docker /bin/sh -c "cd $TRAVIS_BUILD_DIR && ./.ci/script.sh"; else - '.ci/script.sh'; + sudo -E .ci/script.sh; fi deploy: diff --git a/Brewfile b/Brewfile index 48b5f5bd55a59..7975d8d8bd557 100644 --- a/Brewfile +++ b/Brewfile @@ -15,7 +15,7 @@ brew 'libccd' #brew 'nlopt' brew 'octomap' brew 'ode' -brew 'open-scene-graph' +#brew 'open-scene-graph' # disabled until 3.7.0 is released #brew 'pagmo' # disabled to reduce the build time brew 'tinyxml2' brew 'urdfdom' diff --git a/CHANGELOG.md b/CHANGELOG.md index 94460f5e947e2..6131ca35f71d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,11 @@ ## DART 6 -### [DART 6.9.3 XXXXX] +### [DART 6.9.3 (2020-08-26)](https://github.com/dartsim/dart/milestone/61?closed=1) * Dynamics - * Update the Properties version of a BodyNode when moved to a new Skeleton: [#1445](https://github.com/dartsim/dart/pull/1445) - * Fixed incorrect implicit joint damping/spring force computation in inverse dynamics: : [#1451](https://github.com/dartsim/dart/pull/1451) + * Changed to update the Properties version of a BodyNode when moved to a new Skeleton: [#1445](https://github.com/dartsim/dart/pull/1445) + * Fixed incorrect implicit joint damping/spring force computation in inverse dynamics: [#1451](https://github.com/dartsim/dart/pull/1451) ### [DART 6.9.2 (2019-08-16)](https://github.com/dartsim/dart/milestone/60?closed=1) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1ecf89e77f64f..e2c925ec8b2b6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -61,7 +61,7 @@ endif() # If you change the version, please update the tag in package.xml. set(DART_MAJOR_VERSION "6") set(DART_MINOR_VERSION "9") -set(DART_PATCH_VERSION "2") +set(DART_PATCH_VERSION "3") set(DART_VERSION "${DART_MAJOR_VERSION}.${DART_MINOR_VERSION}.${DART_PATCH_VERSION}") set(DART_PKG_DESC "Dynamic Animation and Robotics Toolkit.") set(DART_PKG_EXTERNAL_DEPS "eigen, ccd, fcl, assimp, boost") diff --git a/cmake/DARTFindBullet.cmake b/cmake/DARTFindBullet.cmake index e3946cf3b13f4..b99c32a3df9c9 100644 --- a/cmake/DARTFindBullet.cmake +++ b/cmake/DARTFindBullet.cmake @@ -12,9 +12,19 @@ find_package(Bullet COMPONENTS BulletMath BulletCollision MODULE QUIET) if((BULLET_FOUND OR Bullet_FOUND) AND NOT TARGET Bullet) + if(WIN32 AND "optimized" IN_LIST BULLET_LIBRARIES + AND "debug" IN_LIST BULLET_LIBRARIES) + cmake_parse_arguments(BULLET_INTERFACE_LIBRARIES "" "" "debug;optimized" + ${BULLET_LIBRARIES}) + set(BULLET_INTERFACE_LIBRARIES + $<$:${BULLET_INTERFACE_LIBRARIES_debug}> + $<$>:${BULLET_INTERFACE_LIBRARIES_optimized}>) + else() + set(BULLET_INTERFACE_LIBRARIES ${BULLET_LIBRARIES}) + endif() add_library(Bullet INTERFACE IMPORTED) set_target_properties(Bullet PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${BULLET_INCLUDE_DIRS}" - INTERFACE_LINK_LIBRARIES "${BULLET_LIBRARIES}" + INTERFACE_LINK_LIBRARIES "${BULLET_INTERFACE_LIBRARIES}" ) endif() diff --git a/cmake/Findfcl.cmake b/cmake/Findfcl.cmake index 145bfc3fc4aea..e49de2cadb2f9 100644 --- a/cmake/Findfcl.cmake +++ b/cmake/Findfcl.cmake @@ -13,9 +13,6 @@ # FCL_INCLUDE_DIRS # FCL_LIBRARIES # FCL_VERSION -# -# and the following targets: -# fcl find_package(PkgConfig QUIET) @@ -23,17 +20,11 @@ find_package(PkgConfig QUIET) pkg_check_modules(PC_FCL fcl QUIET) # Include directories -if(PC_FCL_VERSION VERSION_LESS 0.6.0) - find_path(FCL_INCLUDE_DIRS - NAMES fcl/collision.h - HINTS ${PC_FCL_INCLUDEDIR} - PATHS "${CMAKE_INSTALL_PREFIX}/include") -else() - find_path(FCL_INCLUDE_DIRS - NAMES fcl/narrowphase/collision.h - HINTS ${PC_FCL_INCLUDEDIR} - PATHS "${CMAKE_INSTALL_PREFIX}/include") -endif() +find_path(FCL_INCLUDE_DIRS + NAMES fcl/collision.h # for FCL < 0.6 + NAMES fcl/narrowphase/collision.h + HINTS ${PC_FCL_INCLUDEDIR} + PATHS "${CMAKE_INSTALL_PREFIX}/include") # Libraries if(MSVC) diff --git a/package.xml b/package.xml index 766e26602175d..85aec55205ca6 100644 --- a/package.xml +++ b/package.xml @@ -4,7 +4,7 @@ a Catkin workspace. Catkin is not required to build DART. For more information, see: http://ros.org/reps/rep-0136.html --> dartsim - 6.9.2 + 6.9.3 DART (Dynamic Animation and Robotics Toolkit) is a collaborative, cross-platform, open source library created by the Georgia Tech Graphics