diff --git a/camera_calibration_parsers/CHANGELOG.rst b/camera_calibration_parsers/CHANGELOG.rst index 3ab58ab7..2656ee03 100644 --- a/camera_calibration_parsers/CHANGELOG.rst +++ b/camera_calibration_parsers/CHANGELOG.rst @@ -2,6 +2,9 @@ Changelog for package camera_calibration_parsers ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1.11.14 (2020-04-03) +-------------------- + 1.11.13 (2017-11-05) -------------------- * Use Boost_LIBRARIES instead of Boost_PYTHON_LIBRARY diff --git a/camera_calibration_parsers/package.xml b/camera_calibration_parsers/package.xml index 4f9a7faa..7494ae84 100644 --- a/camera_calibration_parsers/package.xml +++ b/camera_calibration_parsers/package.xml @@ -1,6 +1,6 @@ camera_calibration_parsers - 1.11.13 + 1.11.14 camera_calibration_parsers contains routines for reading and writing camera calibration parameters. diff --git a/camera_info_manager/CHANGELOG.rst b/camera_info_manager/CHANGELOG.rst index cf0dcefc..984eb42f 100644 --- a/camera_info_manager/CHANGELOG.rst +++ b/camera_info_manager/CHANGELOG.rst @@ -2,6 +2,13 @@ Changelog for package camera_info_manager ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1.11.14 (2020-04-03) +-------------------- +* export runtime binaries correctly on Windows (`#116 `_) +* add indentation, and use _WIN32 instead of WIN32 (`#117 `_) +* add DLL import/export macro (`#118 `_) +* Contributors: James Xu + 1.11.13 (2017-11-05) -------------------- * Fix the find_package(catkin) redundancy diff --git a/camera_info_manager/CMakeLists.txt b/camera_info_manager/CMakeLists.txt index bcc873f3..7ba1486e 100644 --- a/camera_info_manager/CMakeLists.txt +++ b/camera_info_manager/CMakeLists.txt @@ -18,7 +18,9 @@ add_library(${PROJECT_NAME} src/camera_info_manager.cpp) target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES}) install(TARGETS ${PROJECT_NAME} - DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} COMPONENT main ) install(DIRECTORY include/${PROJECT_NAME}/ diff --git a/camera_info_manager/include/camera_info_manager/camera_info_manager.h b/camera_info_manager/include/camera_info_manager/camera_info_manager.h index 56bb5d9c..530c485a 100644 --- a/camera_info_manager/include/camera_info_manager/camera_info_manager.h +++ b/camera_info_manager/include/camera_info_manager/camera_info_manager.h @@ -43,6 +43,20 @@ #include #include +#include + +// Import/export for windows dll's and visibility for gcc shared libraries. + +#ifdef ROS_BUILD_SHARED_LIBS // ros is being built around shared libraries + #ifdef camera_info_manager_EXPORTS // we are building a shared lib/dll + #define CAMERA_INFO_MANAGER_DECL ROS_HELPER_EXPORT + #else // we are using shared lib/dll + #define CAMERA_INFO_MANAGER_DECL ROS_HELPER_IMPORT + #endif +#else // ros is being built around static libraries + #define CAMERA_INFO_MANAGER_DECL +#endif + /** @file @brief CameraInfo Manager interface @@ -171,7 +185,7 @@ namespace camera_info_manager */ -class CameraInfoManager +class CAMERA_INFO_MANAGER_DECL CameraInfoManager { public: diff --git a/camera_info_manager/package.xml b/camera_info_manager/package.xml index a7711992..b01941bc 100644 --- a/camera_info_manager/package.xml +++ b/camera_info_manager/package.xml @@ -1,6 +1,6 @@ camera_info_manager - 1.11.13 + 1.11.14 This package provides a C++ interface for camera calibration diff --git a/camera_info_manager/src/camera_info_manager.cpp b/camera_info_manager/src/camera_info_manager.cpp index 71d6ef1d..3395453c 100644 --- a/camera_info_manager/src/camera_info_manager.cpp +++ b/camera_info_manager/src/camera_info_manager.cpp @@ -39,7 +39,14 @@ #include #include #include -#include +#ifdef _WIN32 + #ifndef S_ISDIR + #define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR) + #endif +#else + #include +#endif + #include #include #include diff --git a/image_common/CHANGELOG.rst b/image_common/CHANGELOG.rst index 3b5454c3..37883292 100644 --- a/image_common/CHANGELOG.rst +++ b/image_common/CHANGELOG.rst @@ -2,6 +2,9 @@ Changelog for package image_common ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1.11.14 (2020-04-03) +-------------------- + 1.11.13 (2017-11-05) -------------------- diff --git a/image_common/package.xml b/image_common/package.xml index ce1565b8..b78a7fd5 100644 --- a/image_common/package.xml +++ b/image_common/package.xml @@ -1,6 +1,6 @@ image_common - 1.11.13 + 1.11.14 Common code for working with images in ROS. Patrick Mihelich James Bowman diff --git a/image_transport/CHANGELOG.rst b/image_transport/CHANGELOG.rst index d8f91998..db283bc6 100644 --- a/image_transport/CHANGELOG.rst +++ b/image_transport/CHANGELOG.rst @@ -2,6 +2,12 @@ Changelog for package image_transport ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1.11.14 (2020-04-03) +-------------------- +* export runtime binaries correctly on Windows (`#116 `_) +* add DLL import/export macro (`#118 `_) +* Contributors: James Xu + 1.11.13 (2017-11-05) -------------------- * Disable image publisher plugins by name (`#60 `_) diff --git a/image_transport/CMakeLists.txt b/image_transport/CMakeLists.txt index 6e43f2fd..21a62c75 100644 --- a/image_transport/CMakeLists.txt +++ b/image_transport/CMakeLists.txt @@ -37,12 +37,15 @@ target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES} ) -# Build libimage_transport_plugins +# Build libimage_transport_plugins add_library(${PROJECT_NAME}_plugins src/manifest.cpp src/raw_publisher.cpp) target_link_libraries(${PROJECT_NAME}_plugins ${PROJECT_NAME}) +# Install plugin DLL to ${CATKIN_PACKAGE_LIB_DESTINATION} according to the path in default_plugins.xml install(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}_plugins - DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + RUNTIME DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} COMPONENT main ) install(DIRECTORY include/${PROJECT_NAME}/ diff --git a/image_transport/include/image_transport/camera_common.h b/image_transport/include/image_transport/camera_common.h index 6b205fd3..b82692c6 100644 --- a/image_transport/include/image_transport/camera_common.h +++ b/image_transport/include/image_transport/camera_common.h @@ -36,6 +36,7 @@ #define IMAGE_TRANSPORT_CAMERA_COMMON_H #include +#include "exports.h" namespace image_transport { @@ -45,7 +46,7 @@ namespace image_transport { * \note This function assumes that the name is completely resolved. If the \c * base_topic is remapped the resulting camera info topic will be incorrect. */ -std::string getCameraInfoTopic(const std::string& base_topic); +IMAGE_TRANSPORT_DECL std::string getCameraInfoTopic(const std::string& base_topic); } //namespace image_transport diff --git a/image_transport/include/image_transport/camera_publisher.h b/image_transport/include/image_transport/camera_publisher.h index 222e68ae..d71809d9 100644 --- a/image_transport/include/image_transport/camera_publisher.h +++ b/image_transport/include/image_transport/camera_publisher.h @@ -39,6 +39,7 @@ #include #include #include "image_transport/single_subscriber_publisher.h" +#include "exports.h" namespace image_transport { @@ -59,7 +60,7 @@ class ImageTransport; * associated with that handle will stop being called. Once all CameraPublisher for a * given base topic go out of scope the topic (and all subtopics) will be unadvertised. */ -class CameraPublisher +class IMAGE_TRANSPORT_DECL CameraPublisher { public: CameraPublisher() {} diff --git a/image_transport/include/image_transport/camera_subscriber.h b/image_transport/include/image_transport/camera_subscriber.h index aef447d9..e769ab69 100644 --- a/image_transport/include/image_transport/camera_subscriber.h +++ b/image_transport/include/image_transport/camera_subscriber.h @@ -39,6 +39,7 @@ #include #include #include "image_transport/transport_hints.h" +#include "exports.h" namespace image_transport { @@ -59,7 +60,7 @@ void callback(const sensor_msgs::ImageConstPtr&, const sensor_msgs::CameraInfoCo * associated with that handle will stop being called. Once all CameraSubscriber for a given * topic go out of scope the topic will be unsubscribed. */ -class CameraSubscriber +class IMAGE_TRANSPORT_DECL CameraSubscriber { public: typedef boost::function + +// Import/export for windows dll's and visibility for gcc shared libraries. + +#ifdef ROS_BUILD_SHARED_LIBS // ros is being built around shared libraries + #ifdef image_transport_EXPORTS // we are building a shared lib/dll + #define IMAGE_TRANSPORT_DECL ROS_HELPER_EXPORT + #else // we are using shared lib/dll + #define IMAGE_TRANSPORT_DECL ROS_HELPER_IMPORT + #endif +#else // ros is being built around static libraries + #define IMAGE_TRANSPORT_DECL +#endif + +#endif // IMAGE_TRANSPORT_EXPORTS_H diff --git a/image_transport/include/image_transport/image_transport.h b/image_transport/include/image_transport/image_transport.h index 19579998..9a542e62 100644 --- a/image_transport/include/image_transport/image_transport.h +++ b/image_transport/include/image_transport/image_transport.h @@ -39,6 +39,7 @@ #include "image_transport/subscriber.h" #include "image_transport/camera_publisher.h" #include "image_transport/camera_subscriber.h" +#include "exports.h" namespace image_transport { @@ -48,7 +49,7 @@ namespace image_transport { * ImageTransport is analogous to ros::NodeHandle in that it contains advertise() and * subscribe() functions for creating advertisements and subscriptions of image topics. */ -class ImageTransport +class IMAGE_TRANSPORT_DECL ImageTransport { public: explicit ImageTransport(const ros::NodeHandle& nh); diff --git a/image_transport/include/image_transport/publisher.h b/image_transport/include/image_transport/publisher.h index ec4284d6..6a6c1153 100644 --- a/image_transport/include/image_transport/publisher.h +++ b/image_transport/include/image_transport/publisher.h @@ -40,6 +40,7 @@ #include "image_transport/single_subscriber_publisher.h" #include "image_transport/exception.h" #include "image_transport/loader_fwds.h" +#include "exports.h" namespace image_transport { @@ -60,7 +61,7 @@ namespace image_transport { * associated with that handle will stop being called. Once all Publisher for a * given base topic go out of scope the topic (and all subtopics) will be unadvertised. */ -class Publisher +class IMAGE_TRANSPORT_DECL Publisher { public: Publisher() {} diff --git a/image_transport/include/image_transport/single_subscriber_publisher.h b/image_transport/include/image_transport/single_subscriber_publisher.h index 025a99e3..4168cd78 100644 --- a/image_transport/include/image_transport/single_subscriber_publisher.h +++ b/image_transport/include/image_transport/single_subscriber_publisher.h @@ -38,6 +38,7 @@ #include #include #include +#include "exports.h" namespace image_transport { @@ -45,7 +46,7 @@ namespace image_transport { * \brief Allows publication of an image to a single subscriber. Only available inside * subscriber connection callbacks. */ -class SingleSubscriberPublisher : boost::noncopyable +class IMAGE_TRANSPORT_DECL SingleSubscriberPublisher : boost::noncopyable { public: typedef boost::function GetNumSubscribersFn; diff --git a/image_transport/include/image_transport/subscriber.h b/image_transport/include/image_transport/subscriber.h index f887d59d..22f27223 100644 --- a/image_transport/include/image_transport/subscriber.h +++ b/image_transport/include/image_transport/subscriber.h @@ -40,6 +40,7 @@ #include "image_transport/transport_hints.h" #include "image_transport/exception.h" #include "image_transport/loader_fwds.h" +#include "exports.h" namespace image_transport { @@ -58,7 +59,7 @@ namespace image_transport { * associated with that handle will stop being called. Once all Subscriber for a given * topic go out of scope the topic will be unsubscribed. */ -class Subscriber +class IMAGE_TRANSPORT_DECL Subscriber { public: Subscriber() {} diff --git a/image_transport/package.xml b/image_transport/package.xml index e77d7e40..78742673 100644 --- a/image_transport/package.xml +++ b/image_transport/package.xml @@ -1,6 +1,6 @@ image_transport - 1.11.13 + 1.11.14 image_transport should always be used to subscribe to and publish images. It provides transparent diff --git a/polled_camera/CHANGELOG.rst b/polled_camera/CHANGELOG.rst index be43a8d8..79d83987 100644 --- a/polled_camera/CHANGELOG.rst +++ b/polled_camera/CHANGELOG.rst @@ -2,6 +2,12 @@ Changelog for package polled_camera ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1.11.14 (2020-04-03) +-------------------- +* export runtime binaries correctly on Windows (`#116 `_) +* add DLL import/export macro (`#118 `_) +* Contributors: James Xu + 1.11.13 (2017-11-05) -------------------- diff --git a/polled_camera/CMakeLists.txt b/polled_camera/CMakeLists.txt index ca29988c..eb95f75f 100644 --- a/polled_camera/CMakeLists.txt +++ b/polled_camera/CMakeLists.txt @@ -26,7 +26,9 @@ add_dependencies(${PROJECT_NAME} ${catkin_EXPORTED_TARGETS} ${${PROJECT_NAME}_EX target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES}) install(TARGETS ${PROJECT_NAME} - DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} ) install(DIRECTORY include/${PROJECT_NAME}/ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} diff --git a/polled_camera/include/polled_camera/publication_server.h b/polled_camera/include/polled_camera/publication_server.h index d270e2a4..4bc3619e 100644 --- a/polled_camera/include/polled_camera/publication_server.h +++ b/polled_camera/include/polled_camera/publication_server.h @@ -40,6 +40,20 @@ #include #include "polled_camera/GetPolledImage.h" +#include + +// Import/export for windows dll's and visibility for gcc shared libraries. + +#ifdef ROS_BUILD_SHARED_LIBS // ros is being built around shared libraries + #ifdef polled_camera_EXPORTS // we are building a shared lib/dll + #define POLLED_CAMERA_DECL ROS_HELPER_EXPORT + #else // we are using shared lib/dll + #define POLLED_CAMERA_DECL ROS_HELPER_IMPORT + #endif +#else // ros is being built around static libraries + #define POLLED_CAMERA_DECL +#endif + namespace polled_camera { /** @@ -63,7 +77,7 @@ void callback(polled_camera::GetPolledImage::Request& req, } \endcode */ -class PublicationServer +class POLLED_CAMERA_DECL PublicationServer { public: typedef boost::function polled_camera - 1.11.13 + 1.11.14 polled_camera contains a service and C++ helper classes for implementing a polled