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 basic test for YarpRobotLoggerDevice #862

Merged
merged 16 commits into from
Sep 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 12 additions & 9 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ env:
vcpkg_robotology_TAG: v0.11.0
YCM_TAG: v0.15.3
YARP_TAG: v3.8.0
iDynTree_TAG: v12.2.1
iDynTree_TAG: v12.3.3
CasADi_TAG: 3.5.5.2
manif_TAG: 0.0.5
matioCpp_TAG: v0.2.0
matioCpp_TAG: v0.2.5
LieGroupControllers_TAG: v0.2.0
osqp_TAG: v0.6.2
osqp_TAG: v0.6.3
OsqpEigen_TAG: v0.7.0
tomlplusplus_TAG: v3.0.1
icub_models_TAG: v2.4.0
Expand Down Expand Up @@ -115,14 +115,17 @@ jobs:
sudo apt-get install librealsense2-dev

# Get the number of cores
- name: Get number of cores to speed up cmake build [Windows]
- name: Get number of cores to speed up cmake build and test to skip [Windows]
if: matrix.os == 'windows-2019'
run: |
echo "NUM_CORES_FOR_CMAKE_BUILD=$((Get-CimInstance Win32_ComputerSystem).NumberOfLogicalProcessors)" >> $env:GITHUB_ENV
echo "BLF_TEST_TO_SKIP=YarpRobotLoggerDeviceUnitTests" >> $env:GITHUB_ENV

- name: Get number of cores to speed up cmake build [Ubuntu]
- name: Get number of cores to speed up cmake build and test to suppress [Ubuntu]
if: startsWith(matrix.os, 'ubuntu')
run: echo "NUM_CORES_FOR_CMAKE_BUILD=`nproc --all`" >> $GITHUB_ENV
run: |
echo "NUM_CORES_FOR_CMAKE_BUILD=`nproc --all`" >> $GITHUB_ENV
echo "BLF_TEST_TO_SKIP=" >> $env:GITHUB_ENV

- name: Cache Source-based Dependencies
id: cache-source-deps
Expand Down Expand Up @@ -156,7 +159,7 @@ jobs:
mkdir -p build
cd build
cmake -A x64 -DCMAKE_TOOLCHAIN_FILE=${VCPKG_INSTALLATION_ROOT}/scripts/buildsystems/vcpkg.cmake \
-DCMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/install/deps -DYARP_COMPILE_GUIS:BOOL=OFF \
-DCMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/install/deps -DYARP_COMPILE_GUIS:BOOL=OFF -DYARP_COMPILE_ALL_FAKE_DEVICES:BOOL=ON \
-DCMAKE_INSTALL_PREFIX=${GITHUB_WORKSPACE}/install/deps ..
cmake --build . --config ${{ matrix.build_type }} --target INSTALL -j${{env.NUM_CORES_FOR_CMAKE_BUILD}}
# Workaround for https://github.com/robotology-dependencies/robotology-vcpkg-binary-ports/issues/3
Expand Down Expand Up @@ -347,7 +350,7 @@ jobs:
git checkout ${YARP_TAG}
mkdir -p build
cd build
cmake -DCMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/install/deps -DCMAKE_INSTALL_PREFIX=${GITHUB_WORKSPACE}/install/deps ..
cmake -DCMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/install/deps -DCMAKE_INSTALL_PREFIX=${GITHUB_WORKSPACE}/install/deps -DYARP_COMPILE_ALL_FAKE_DEVICES:BOOL=ON ..
cmake --build . --config ${{ matrix.build_type }} --target install -j${{env.NUM_CORES_FOR_CMAKE_BUILD}}

# iDynTree
Expand Down Expand Up @@ -551,4 +554,4 @@ jobs:
run: |
cd build
export PATH=$PATH:/d/a/bipedal-locomotion-framework/bipedal-locomotion-framework/install/bin:/d/a/bipedal-locomotion-framework/bipedal-locomotion-framework/install/deps/bin:/c/robotology/vcpkg/installed/x64-windows/bin:/c/robotology/vcpkg/installed/x64-windows/debug/bin
ctest --output-on-failure -C ${{ matrix.build_type }} -j${{env.NUM_CORES_FOR_CMAKE_BUILD}} .
ctest -E "${BLF_TEST_TO_SKIP}" --output-on-failure -C ${{ matrix.build_type }} -j${{env.NUM_CORES_FOR_CMAKE_BUILD}} .
2 changes: 1 addition & 1 deletion .github/workflows/gh-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
python3 ./generate_website.py --mcss_path ${GITHUB_WORKSPACE}/m.css/documentation/doxygen.py

- name: Archive artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: site
path: docs/site
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ All notable changes to this project are documented in this file.
## [unreleased]
### Added
- Add `USE_SYSTEM_tiny-process-library` CMake option to use `tiny-process-library` found in system (https://github.com/ami-iit/bipedal-locomotion-framework/pull/891)
- Add the test for the `YarpRobotLoggerDevice` (https://github.com/ami-iit/bipedal-locomotion-framework/pull/862)
- Implement low-pass filter for estimated friction torques in `JointTorqueControlDevice` (https://github.com/ami-iit/bipedal-locomotion-framework/pull/892)

### Changed
Expand Down
4 changes: 2 additions & 2 deletions cmake/BipedalLocomotionFrameworkDependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,10 @@ find_package(rclcpp 16.0.0 QUIET)
checkandset_dependency(rclcpp MINIMUM_VERSION 16.0.0)
dependency_classifier(rclcpp MINIMUM_VERSION 16.0.0 IS_USED ${FRAMEWORK_USE_rclcpp} PUBLIC)

find_package(YARP 3.7.0 COMPONENTS companion profiler dev os idl_tools QUIET)
find_package(YARP 3.7.0 COMPONENTS companion profiler dev os idl_tools robotinterface QUIET)
checkandset_dependency(YARP MINIMUM_VERSION 3.7.0)
dependency_classifier(YARP MINIMUM_VERSION 3.7.0 IS_USED ${FRAMEWORK_USE_YARP}
COMPONENTS companion profiler dev os idl_tools PUBLIC)
COMPONENTS companion profiler dev os idl_tools robotinterface PUBLIC)

find_package(Qhull QUIET)
checkandset_dependency(Qhull MINIMUM_VERSION)
Expand Down
247 changes: 247 additions & 0 deletions cmake/valgrind-linux.supp
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,22 @@
fun:_ZNK3tbb10interface78internal15task_arena_base16internal_executeERNS1_13delegate_baseE
}

{
<ubuntu-20.04-opencv-aruco-tbb-ci>
Memcheck:Leak
match-leak-kinds: possible
fun:calloc
fun:allocate_dtv
fun:_dl_allocate_tls
fun:allocate_stack
fun:pthread_create@@GLIBC_2.2.5
obj:/usr/lib/x86_64-linux-gnu/libtbb.so.2
obj:/usr/lib/x86_64-linux-gnu/libtbb.so.2
obj:/usr/lib/x86_64-linux-gnu/libtbb.so.2
fun:start_thread
fun:clone
}

{
<ubuntu-20.04-_dl_init-libgobject-libglib>
Memcheck:Leak
Expand Down Expand Up @@ -166,3 +182,234 @@
fun:_dl_init
obj:/usr/lib/x86_64-linux-gnu/ld-2.31.so
}

{
<yarp-3.8-yarp-robotinterface-1>
Memcheck:Leak
match-leak-kinds: definite
fun:malloc
fun:strdup
fun:_ZN4yarp14robotinterface4impl15XMLReaderFileV37Private17readRobotFromFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
fun:_ZN4yarp14robotinterface4impl15XMLReaderFileV316getRobotFromFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_2os10SearchableEb
fun:_ZN4yarp14robotinterface9XMLReader16getRobotFromFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_2os10SearchableE
fun:_ZL22CATCH2_INTERNAL_TEST_0v
fun:_ZN5Catch10RunContext20invokeActiveTestCaseEv
fun:_ZN5Catch10RunContext14runCurrentTestERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_
fun:_ZN5Catch10RunContext7runTestERKNS_14TestCaseHandleE
fun:_ZN5Catch7Session11runInternalEv
fun:_ZN5Catch7Session3runEv
fun:main
}

{
<yarp-3.8-yarp-robotinterface-2>
Memcheck:Leak
match-leak-kinds: possible
fun:malloc
fun:allocate_dtv_entry
fun:allocate_and_init
fun:tls_get_addr_tail.isra.0
fun:__tls_get_addr
fun:_ZN6spdlog7details2os9thread_idEv
fun:_ZN6spdlog7details7log_msgC1ENS_10source_locEN3fmt2v617basic_string_viewIcEENS_5level10level_enumES6_
fun:_ZN6spdlog6logger3logIJPKcEEEvNS_10source_locENS_5level10level_enumEN3fmt2v617basic_string_viewIcEEDpRKT_
fun:_ZN17BipedalLocomotion21YarpRobotLoggerDevice4openERN4yarp2os10SearchableE
fun:_ZN4yarp3dev10PolyDriver8coreOpenERNS_2os10SearchableE
fun:_ZN4yarp3dev10PolyDriver4openERNS_2os10SearchableE
fun:_ZN4yarp14robotinterface6Device4openEv
fun:_ZN4yarp14robotinterface5Robot7Private11openDevicesEv
fun:_ZN4yarp14robotinterface5Robot10enterPhaseENS0_11ActionPhaseE
}

{
<yarp-3.8-yarp-robotinterface-3>
Memcheck:Leak
match-leak-kinds: possible
fun:malloc
fun:allocate_dtv_entry
fun:allocate_and_init
fun:tls_get_addr_tail.isra.0
fun:__tls_get_addr
obj:/usr/lib/x86_64-linux-gnu/libgnutls.so.30.27.0
obj:/usr/lib/x86_64-linux-gnu/libgnutls.so.30.27.0
fun:_dl_fini
fun:__run_exit_handlers
fun:exit
fun:(below main)
}

{
<yarp-3.8-yarp-robotinterface-4>
Memcheck:Leak
match-leak-kinds: possible
fun:malloc
fun:_dl_resize_dtv
fun:_dl_update_slotinfo
fun:update_get_addr
fun:__tls_get_addr
fun:_ZN6spdlog7details2os9thread_idEv
fun:_ZN6spdlog7details7log_msgC1ENS_10source_locEN3fmt2v617basic_string_viewIcEENS_5level10level_enumES6_
fun:_ZN6spdlog6logger3logIJPKcEEEvNS_10source_locENS_5level10level_enumEN3fmt2v617basic_string_viewIcEEDpRKT_
fun:_ZN17BipedalLocomotion21YarpRobotLoggerDevice4openERN4yarp2os10SearchableE
fun:_ZN4yarp3dev10PolyDriver8coreOpenERNS_2os10SearchableE
fun:_ZN4yarp3dev10PolyDriver4openERNS_2os10SearchableE
fun:_ZN4yarp14robotinterface6Device4openEv
}

{
<yarp-3.8-yarp-robotinterface-5>
Memcheck:Leak
match-leak-kinds: definite
fun:_Znwm
fun:_ZN4yarp14robotinterface9XMLReader16getRobotFromFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_2os10SearchableE
fun:_ZL22CATCH2_INTERNAL_TEST_0v
fun:_ZN5Catch10RunContext20invokeActiveTestCaseEv
fun:_ZN5Catch10RunContext14runCurrentTestERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_
fun:_ZN5Catch10RunContext7runTestERKNS_14TestCaseHandleE
fun:_ZN5Catch7Session11runInternalEv
fun:_ZN5Catch7Session3runEv
fun:main
}

{
<yarp-3.8-yarp-robotinterface-6>
Memcheck:Leak
match-leak-kinds: definite
fun:malloc
fun:strdup
fun:_ZN4yarp14robotinterface4impl15XMLReaderFileV37Private17readRobotFromFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
fun:_ZN4yarp14robotinterface4impl15XMLReaderFileV316getRobotFromFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_2os10SearchableEb
fun:_ZN4yarp14robotinterface9XMLReader16getRobotFromFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_2os10SearchableE
fun:_ZL22CATCH2_INTERNAL_TEST_0v
fun:_ZNK5Catch21TestInvokerAsFunction6invokeEv
fun:_ZNK5Catch14TestCaseHandle6invokeEv
fun:_ZN5Catch10RunContext20invokeActiveTestCaseEv
fun:_ZN5Catch10RunContext14runCurrentTestERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_
fun:_ZN5Catch10RunContext7runTestERKNS_14TestCaseHandleE
fun:_ZN5Catch12_GLOBAL__N_19TestGroup7executeEv
}

{
<yarp-3.8-yarp-robotinterface-7>
Memcheck:Leak
match-leak-kinds: possible
fun:malloc
fun:allocate_dtv_entry
fun:allocate_and_init
fun:tls_get_addr_tail.isra.0
fun:__tls_get_addr
fun:_ZN6spdlog7details2os9thread_idEv
fun:_ZN6spdlog7details7log_msgC1ENS_10source_locEN3fmt2v617basic_string_viewIcEENS_5level10level_enumES6_
fun:_ZN6spdlog6logger3logIJPKcEEEvNS_10source_locENS_5level10level_enumEN3fmt2v617basic_string_viewIcEEDpRKT_
fun:_ZN6spdlog6logger3logIJPKcEEEvNS_5level10level_enumEN3fmt2v617basic_string_viewIcEEDpRKT_
fun:_ZN6spdlog6logger4infoIJPKcEEEvN3fmt2v617basic_string_viewIcEEDpRKT_
fun:_ZN17BipedalLocomotion21YarpRobotLoggerDevice4openERN4yarp2os10SearchableE
fun:_ZN4yarp3dev10PolyDriver8coreOpenERNS_2os10SearchableE
fun:_ZN4yarp3dev10PolyDriver4openERNS_2os10SearchableE
fun:_ZN4yarp14robotinterface6Device4openEv
}

{
<yarp-3.8-yarp-robotinterface-8>
Memcheck:Leak
match-leak-kinds: possible
fun:malloc
fun:_dl_resize_dtv
fun:_dl_update_slotinfo
fun:update_get_addr
fun:__tls_get_addr
fun:_ZN6spdlog7details2os9thread_idEv
fun:_ZN6spdlog7details7log_msgC1ENS_10source_locEN3fmt2v617basic_string_viewIcEENS_5level10level_enumES6_
fun:_ZN6spdlog6logger3logIJPKcEEEvNS_10source_locENS_5level10level_enumEN3fmt2v617basic_string_viewIcEEDpRKT_
fun:_ZN6spdlog6logger3logIJPKcEEEvNS_5level10level_enumEN3fmt2v617basic_string_viewIcEEDpRKT_
fun:_ZN6spdlog6logger4infoIJPKcEEEvN3fmt2v617basic_string_viewIcEEDpRKT_
fun:_ZN17BipedalLocomotion21YarpRobotLoggerDevice4openERN4yarp2os10SearchableE
fun:_ZN4yarp3dev10PolyDriver8coreOpenERNS_2os10SearchableE
}

{
<yarp-3.8-yarp-robotinterface-9>
Memcheck:Leak
match-leak-kinds: definite
fun:_Znwm
fun:_ZN4yarp14robotinterface9XMLReader16getRobotFromFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_2os10SearchableE
fun:_ZL22CATCH2_INTERNAL_TEST_0v
fun:_ZNK5Catch21TestInvokerAsFunction6invokeEv
fun:_ZNK5Catch14TestCaseHandle6invokeEv
fun:_ZN5Catch10RunContext20invokeActiveTestCaseEv
fun:_ZN5Catch10RunContext14runCurrentTestERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_
fun:_ZN5Catch10RunContext7runTestERKNS_14TestCaseHandleE
fun:_ZN5Catch12_GLOBAL__N_19TestGroup7executeEv
fun:_ZN5Catch7Session11runInternalEv
fun:_ZN5Catch7Session3runEv
fun:_ZN5Catch7Session3runIcEEiiPKPKT_
}

{
<yarp-3.8-yarp-robotinterface-10>
Memcheck:Leak
match-leak-kinds: definite
fun:malloc
fun:strdup
fun:_ZN4yarp14robotinterface4impl15XMLReaderFileV37Private17readRobotFromFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
fun:_ZN4yarp14robotinterface4impl15XMLReaderFileV316getRobotFromFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_2os10SearchableEb
fun:_ZN4yarp14robotinterface9XMLReader16getRobotFromFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_2os10SearchableE
fun:_ZL22CATCH2_INTERNAL_TEST_0v
fun:_ZN5Catch10RunContext20invokeActiveTestCaseEv
fun:_ZN5Catch10RunContext14runCurrentTestEv
fun:_ZN5Catch10RunContext7runTestERKNS_14TestCaseHandleE
fun:_ZN5Catch7Session11runInternalEv
fun:_ZN5Catch7Session3runEv
fun:main
}

{
<yarp-3.8-yarp-robotinterface-11>
Memcheck:Leak
match-leak-kinds: definite
fun:_Znwm
fun:_ZN4yarp14robotinterface9XMLReader16getRobotFromFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_2os10SearchableE
fun:_ZL22CATCH2_INTERNAL_TEST_0v
fun:_ZN5Catch10RunContext20invokeActiveTestCaseEv
fun:_ZN5Catch10RunContext14runCurrentTestEv
fun:_ZN5Catch10RunContext7runTestERKNS_14TestCaseHandleE
fun:_ZN5Catch7Session11runInternalEv
fun:_ZN5Catch7Session3runEv
fun:main
}

{
<yarp-3.8-yarp-robotinterface-12>
Memcheck:Leak
match-leak-kinds: definite
fun:malloc
fun:strdup
fun:_ZN4yarp14robotinterface4impl15XMLReaderFileV37Private17readRobotFromFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
fun:_ZN4yarp14robotinterface4impl15XMLReaderFileV316getRobotFromFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_2os10SearchableEb
fun:_ZN4yarp14robotinterface9XMLReader16getRobotFromFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_2os10SearchableE
fun:_ZL22CATCH2_INTERNAL_TEST_0v
fun:_ZNK5Catch12_GLOBAL__N_121TestInvokerAsFunction6invokeEv
fun:_ZNK5Catch14TestCaseHandle6invokeEv
fun:_ZN5Catch10RunContext20invokeActiveTestCaseEv
fun:_ZN5Catch10RunContext14runCurrentTestEv
fun:_ZN5Catch10RunContext7runTestERKNS_14TestCaseHandleE
fun:_ZN5Catch12_GLOBAL__N_19TestGroup7executeEv
}

{
<yarp-3.8-yarp-robotinterface-13>
Memcheck:Leak
match-leak-kinds: definite
fun:_Znwm
fun:_ZN4yarp14robotinterface9XMLReader16getRobotFromFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_2os10SearchableE
fun:_ZL22CATCH2_INTERNAL_TEST_0v
fun:_ZNK5Catch12_GLOBAL__N_121TestInvokerAsFunction6invokeEv
fun:_ZNK5Catch14TestCaseHandle6invokeEv
fun:_ZN5Catch10RunContext20invokeActiveTestCaseEv
fun:_ZN5Catch10RunContext14runCurrentTestEv
fun:_ZN5Catch10RunContext7runTestERKNS_14TestCaseHandleE
fun:_ZN5Catch12_GLOBAL__N_19TestGroup7executeEv
fun:_ZN5Catch7Session11runInternalEv
fun:_ZN5Catch7Session3runEv
fun:_ZN5Catch7Session3runIcEEiiPKPKT_
}
4 changes: 4 additions & 0 deletions devices/YarpRobotLoggerDevice/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -62,5 +62,9 @@ if(FRAMEWORK_COMPILE_YarpRobotLoggerDevice)
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
DESTINATION "${CMAKE_INSTALL_BINDIR}")

# This test only works on Linux, see https://github.com/ami-iit/bipedal-locomotion-framework/issues/873
if(NOT (WIN32 OR APPLE))
add_subdirectory(tests)
endif()
endif()

2 changes: 1 addition & 1 deletion devices/YarpRobotLoggerDevice/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ To use the logger, launch the `yarprobotinterface` with the `launch-yarp-robot-l
```console
yarprobotinterface --config launch-yarp-robot-logger.xml
```
When you close the yarprobotinterface, the logger will save the logged data in a mat file. Additionally, a md file will contain information about the software version in the robot setup. If video recording is enabled, a mp4 file with the video recording will also be generated.
When you close the yarprobotinterface, the logger will save the logged data in a mat file. Additionally, a md file will contain information about the software version in the robot setup. If video recording is enabled, a mp4 file with the video recording will also be generated. All these files will be saved in the working directory in which `yarprobotinterface` has been launched.

## How to log exogenous data
The `YarpRobotLoggerDevice` can also log exogenous data, i.e., data not directly provided by the robot sensors and actuators. To do this:
Expand Down
14 changes: 14 additions & 0 deletions devices/YarpRobotLoggerDevice/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Copyright (C) 2024 Istituto Italiano di Tecnologia (IIT). All rights reserved.
# This software may be modified and distributed under the terms of the
# BSD-3-Clause license.

add_bipedal_test(
NAME YarpRobotLoggerDevice
SOURCES YarpRobotLoggerDeviceTest.cpp
LINKS YARP::YARP_robotinterface matioCpp::matioCpp BipedalLocomotion::TextLogging)

if(TARGET YarpRobotLoggerDeviceUnitTests)
target_compile_definitions(YarpRobotLoggerDeviceUnitTests PRIVATE CMAKE_CURRENT_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}")
target_compile_definitions(YarpRobotLoggerDeviceUnitTests PRIVATE CMAKE_BINARY_DIR="${CMAKE_BINARY_DIR}")
target_compile_definitions(YarpRobotLoggerDeviceUnitTests PRIVATE YARP_DATA_INSTALL_DIR_FULL="${YARP_DATA_INSTALL_DIR_FULL}")
endif()
Loading
Loading