diff --git a/CMakeLists.txt b/CMakeLists.txt index ebd3ccdda164f474cf0362e7c8b17f45c4aa019f..0009ecf4bd4b23b4969d5eb1f86719f5dbc0173a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -141,6 +141,9 @@ SET(HDRS_SENSOR SET(HDRS_STATE_BLOCK include/${PROJECT_NAME}/state_block/local_parametrization_polyline_extreme.h ) +SET(HDRS_UTILS + include/${PROJECT_NAME}/utils/load_laser.h + ) # ============ SOURCES ============ SET(SRCS_CAPTURE @@ -164,6 +167,9 @@ SET(SRCS_SENSOR SET(SRCS_STATE_BLOCK src/state_block/local_parametrization_polyline_extreme.cpp ) +SET(SRCS_UTILS + src/utils/load_laser.cpp + ) # ============ OPTIONAL ============ # falko @@ -221,6 +227,7 @@ ADD_LIBRARY(${PLUGIN_NAME} ${SRCS_PROCESSOR} ${SRCS_SENSOR} ${SRCS_STATE_BLOCK} + ${SRCS_UTILS} ) # Set compiler options @@ -299,6 +306,8 @@ INSTALL(FILES ${HDRS_SENSOR} DESTINATION ${INCLUDE_INSTALL_DIR}/${PROJECT_NAME}/sensor) INSTALL(FILES ${HDRS_STATE_BLOCK} DESTINATION ${INCLUDE_INSTALL_DIR}/${PROJECT_NAME}/state_block) +INSTALL(FILES ${HDRS_UTILS} + DESTINATION ${INCLUDE_INSTALL_DIR}/${PROJECT_NAME}/utils) INSTALL(FILES "${WOLF_CONFIG_DIR}/config.h" DESTINATION ${INCLUDE_INSTALL_DIR}/${PROJECT_NAME}/internal) diff --git a/include/laser/utils/load_laser.h b/include/laser/utils/load_laser.h new file mode 100644 index 0000000000000000000000000000000000000000..5abdfaf2695f406e22806ad0ae87c721c74ea5fb --- /dev/null +++ b/include/laser/utils/load_laser.h @@ -0,0 +1,51 @@ +// WOLF - Copyright (C) 2020,2021,2022,2023 +// Institut de Robòtica i Informà tica Industrial, CSIC-UPC. +// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and +// Joan Vallvé Navarro (jvallve@iri.upc.edu) +// All rights reserved. +// +// This file is part of WOLF: http://www.iri.upc.edu/wolf +// WOLF is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. + +#pragma once + +namespace wolf +{ +// This class is just to force the .so to be easily loaded in tests +class LoadLaser +{ + public: + static bool aux_var; +}; + +#ifdef __GNUC__ +#define WOLF_UNUSED __attribute__((used)) +#elif defined _MSC_VER +#pragma warning(disable : Cxxxxx) +#define WOLF_UNUSED +#elif defined(__LCLINT__) +#define WOLF_UNUSED /*@unused@*/ +#elif defined(__cplusplus) +#define WOLF_UNUSED +#else +#define UNUSED(x) x +#endif + +#define WOLF_LOAD_LASER \ + namespace \ + { \ + const bool WOLF_UNUSED aux_var_laser = wolf::LoadLaser::aux_var; \ + } + +} // namespace wolf diff --git a/src/utils/load_laser.cpp b/src/utils/load_laser.cpp new file mode 100644 index 0000000000000000000000000000000000000000..6c33ca373bd0d155c9327459ca11f304cca84fa6 --- /dev/null +++ b/src/utils/load_laser.cpp @@ -0,0 +1,26 @@ +// WOLF - Copyright (C) 2020,2021,2022,2023 +// Institut de Robòtica i Informà tica Industrial, CSIC-UPC. +// Authors: Joan Solà Ortega (jsola@iri.upc.edu) and +// Joan Vallvé Navarro (jvallve@iri.upc.edu) +// All rights reserved. +// +// This file is part of WOLF: http://www.iri.upc.edu/wolf +// WOLF is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. + +#include "laser/utils/load_laser.h" + +namespace wolf +{ +bool LoadLaser::aux_var = true; +} // namespace wolf diff --git a/test/gtest_processor_odom_icp.cpp b/test/gtest_processor_odom_icp.cpp index aaf6868bb7ec5b616f1c54550cbc0af089dbf164..bc99f846efdc781596ce87abd91bbcdc9b3c1cc9 100644 --- a/test/gtest_processor_odom_icp.cpp +++ b/test/gtest_processor_odom_icp.cpp @@ -17,12 +17,6 @@ // // You should have received a copy of the GNU Lesser General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. -/** - * \file gtest_processor_odom_icp.cpp - * - * Created on: Aug 6, 2019 - * \author: jsola - */ #include "laser/internal/config.h"