diff --git a/CMakeLists.txt b/CMakeLists.txt index 32b9f9f..b03e386 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,19 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") add_compile_options(-Wall -Wextra -Wpedantic) endif() +if(WIN32) + add_compile_definitions( + # For math constants + # https://docs.microsoft.com/en-us/cpp/c-runtime-library/math-constants?view=vs-2019 + _USE_MATH_DEFINES + # Minimize Windows namespace collision + NOMINMAX + WIN32_LEAN_AND_MEAN + ) + # set the same behavior for windows as it is on linux + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) +endif() + ############################################################################## # Find dependencies ############################################################################## @@ -17,6 +30,10 @@ endif() find_package(ament_cmake REQUIRED) find_package(pluginlib REQUIRED) find_package(rclcpp REQUIRED) + +if(WIN32 AND POLICY CMP0167) + cmake_policy(SET CMP0167 NEW) +endif() find_package(Boost QUIET COMPONENTS headers) if(NOT Boost_headers_FOUND) find_package(Boost REQUIRED) diff --git a/include/filters/median.hpp b/include/filters/median.hpp index 77a7691..7dd2273 100644 --- a/include/filters/median.hpp +++ b/include/filters/median.hpp @@ -165,7 +165,7 @@ bool MedianFilter::update(const T & data_in, T & data_out) for (size_t row = 0; row < length; ++row) { temp_storage_[row] = (*data_storage_)[row]; } - data_out = median(&temp_storage_[0], length); + data_out = median(&temp_storage_[0], static_cast(length)); return true; } diff --git a/test/test_realtime_circular_buffer.cpp b/test/test_realtime_circular_buffer.cpp index 34b3ca3..f525b62 100644 --- a/test/test_realtime_circular_buffer.cpp +++ b/test/test_realtime_circular_buffer.cpp @@ -28,10 +28,9 @@ */ #include -#include #include -#include + #include "filters/realtime_circular_buffer.hpp" TEST(RealtimeCircularBuffer, InitializationScalar)