diff --git a/camera_calibration_parsers/CHANGELOG.rst b/camera_calibration_parsers/CHANGELOG.rst index 3ab58ab7..9ee228d7 100644 --- a/camera_calibration_parsers/CHANGELOG.rst +++ b/camera_calibration_parsers/CHANGELOG.rst @@ -2,6 +2,22 @@ Changelog for package camera_calibration_parsers ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1.12.0 (2020-04-03) +------------------- +* Noetic release image_common (`#155 `_) + * noetic - Porting Python to Python3 + Signed-off-by: ahcorde + * Updated cmake_minimum_required to 3.0.2 + Signed-off-by: ahcorde + * changed diskutils.core for setuptools + Signed-off-by: ahcorde + * ported to noetic image_transport tutorial + Signed-off-by: ahcorde +* Contributors: Alejandro Hernández Cordero + +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/CMakeLists.txt b/camera_calibration_parsers/CMakeLists.txt index b70b8530..4f081879 100644 --- a/camera_calibration_parsers/CMakeLists.txt +++ b/camera_calibration_parsers/CMakeLists.txt @@ -1,14 +1,10 @@ -cmake_minimum_required(VERSION 2.8) +cmake_minimum_required(VERSION 3.0.2) project(camera_calibration_parsers) find_package(catkin REQUIRED sensor_msgs rosconsole roscpp roscpp_serialization) find_package(PythonLibs REQUIRED) -if(PYTHONLIBS_VERSION_STRING VERSION_LESS 3) - find_package(Boost REQUIRED COMPONENTS filesystem python) -else() - find_package(Boost REQUIRED COMPONENTS filesystem python3) -endif() +find_package(Boost REQUIRED COMPONENTS filesystem python) include_directories(include ${catkin_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${PYTHON_INCLUDE_DIRS}) catkin_python_setup() diff --git a/camera_calibration_parsers/package.xml b/camera_calibration_parsers/package.xml index 4f9a7faa..06599e0d 100644 --- a/camera_calibration_parsers/package.xml +++ b/camera_calibration_parsers/package.xml @@ -1,6 +1,6 @@ camera_calibration_parsers - 1.11.13 + 1.12.0 camera_calibration_parsers contains routines for reading and writing camera calibration parameters. diff --git a/camera_calibration_parsers/setup.py b/camera_calibration_parsers/setup.py index 07d1142b..d8a0816a 100644 --- a/camera_calibration_parsers/setup.py +++ b/camera_calibration_parsers/setup.py @@ -1,8 +1,9 @@ # ! DO NOT MANUALLY INVOKE THIS setup.py, USE CATKIN INSTEAD -from distutils.core import setup from catkin_pkg.python_setup import generate_distutils_setup +from setuptools import setup + # fetch values from package.xml setup_args = generate_distutils_setup( packages=['camera_calibration_parsers'], diff --git a/camera_calibration_parsers/src/parse_wrapper.cpp b/camera_calibration_parsers/src/parse_wrapper.cpp index 6a99faa5..e7c627ef 100644 --- a/camera_calibration_parsers/src/parse_wrapper.cpp +++ b/camera_calibration_parsers/src/parse_wrapper.cpp @@ -63,7 +63,11 @@ boost::python::tuple readCalibrationWrapper(const std::string& file_name) sensor_msgs::CameraInfo camera_info; bool result = readCalibration(file_name, camera_name, camera_info); std::string cam_info = to_python(camera_info); - return boost::python::make_tuple(result, camera_name, cam_info); + PyObject * cam_info_py = PyBytes_FromStringAndSize(cam_info.c_str(), cam_info.size()); + return boost::python::make_tuple( + result, + camera_name, + boost::python::object(boost::python::handle<>(cam_info_py))); } BOOST_PYTHON_MODULE(camera_calibration_parsers_wrapper) diff --git a/camera_calibration_parsers/test/parser.py b/camera_calibration_parsers/test/parser.py index 2d0af4ca..887e15be 100644 --- a/camera_calibration_parsers/test/parser.py +++ b/camera_calibration_parsers/test/parser.py @@ -44,7 +44,7 @@ def test_ini(self): for dir in [ '', './']: p = subprocess.Popen('rosrun camera_calibration_parsers convert $(rospack find camera_calibration_parsers)/test/%s %s%s' % (files[0], dir, files[1]), shell=True, stderr=subprocess.PIPE) out, err = p.communicate() - self.assertEqual(err, '') + self.assertEqual(err, b'') def test_readCalibration(self): script_dir = os.path.dirname(os.path.realpath(__file__)) diff --git a/camera_info_manager/CHANGELOG.rst b/camera_info_manager/CHANGELOG.rst index cf0dcefc..8846a743 100644 --- a/camera_info_manager/CHANGELOG.rst +++ b/camera_info_manager/CHANGELOG.rst @@ -2,6 +2,26 @@ Changelog for package camera_info_manager ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1.12.0 (2020-04-03) +------------------- +* Noetic release image_common (`#155 `_) + * noetic - Porting Python to Python3 + Signed-off-by: ahcorde + * Updated cmake_minimum_required to 3.0.2 + Signed-off-by: ahcorde + * changed diskutils.core for setuptools + Signed-off-by: ahcorde + * ported to noetic image_transport tutorial + Signed-off-by: ahcorde +* Contributors: Alejandro Hernández Cordero + +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..ddf9d1f3 100644 --- a/camera_info_manager/CMakeLists.txt +++ b/camera_info_manager/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8) +cmake_minimum_required(VERSION 3.0.2) project(camera_info_manager) find_package(catkin REQUIRED COMPONENTS camera_calibration_parsers image_transport roscpp roslib sensor_msgs) @@ -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..f6a70e17 100644 --- a/camera_info_manager/package.xml +++ b/camera_info_manager/package.xml @@ -1,6 +1,6 @@ camera_info_manager - 1.11.13 + 1.12.0 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..55942fda 100644 --- a/image_common/CHANGELOG.rst +++ b/image_common/CHANGELOG.rst @@ -2,6 +2,14 @@ Changelog for package image_common ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1.12.0 (2020-04-03) +------------------- +* Noetic release image_common (`#155 `_) +* Contributors: Alejandro Hernández Cordero + +1.11.14 (2020-04-03) +-------------------- + 1.11.13 (2017-11-05) -------------------- diff --git a/image_common/CMakeLists.txt b/image_common/CMakeLists.txt index 9b8a748e..79f13bee 100644 --- a/image_common/CMakeLists.txt +++ b/image_common/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.3) +cmake_minimum_required(VERSION 3.0.2) project(image_common) find_package(catkin REQUIRED) catkin_metapackage() diff --git a/image_common/package.xml b/image_common/package.xml index ce1565b8..a57ed704 100644 --- a/image_common/package.xml +++ b/image_common/package.xml @@ -1,6 +1,6 @@ image_common - 1.11.13 + 1.12.0 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..191e9aa4 100644 --- a/image_transport/CHANGELOG.rst +++ b/image_transport/CHANGELOG.rst @@ -2,6 +2,17 @@ Changelog for package image_transport ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1.12.0 (2020-04-03) +------------------- +* Noetic release image_common (`#155 `_) +* Contributors: Alejandro Hernández Cordero + +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..578205b8 100644 --- a/image_transport/CMakeLists.txt +++ b/image_transport/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.3) +cmake_minimum_required(VERSION 3.0.2) project(image_transport) find_package(catkin REQUIRED @@ -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..227b45ea 100644 --- a/image_transport/package.xml +++ b/image_transport/package.xml @@ -1,6 +1,6 @@ image_transport - 1.11.13 + 1.12.0 image_transport should always be used to subscribe to and publish images. It provides transparent diff --git a/image_transport/tutorial/CMakeLists.txt b/image_transport/tutorial/CMakeLists.txt index ed5f28fe..191edc45 100644 --- a/image_transport/tutorial/CMakeLists.txt +++ b/image_transport/tutorial/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8) +cmake_minimum_required(VERSION 3.0.2) project(image_transport_tutorial) find_package(catkin REQUIRED COMPONENTS cv_bridge image_transport message_generation sensor_msgs) diff --git a/image_transport/tutorial/src/my_publisher.cpp b/image_transport/tutorial/src/my_publisher.cpp index 701dbddf..acb45ed6 100644 --- a/image_transport/tutorial/src/my_publisher.cpp +++ b/image_transport/tutorial/src/my_publisher.cpp @@ -10,7 +10,7 @@ int main(int argc, char** argv) image_transport::ImageTransport it(nh); image_transport::Publisher pub = it.advertise("camera/image", 1); - cv::Mat image = cv::imread(argv[1], CV_LOAD_IMAGE_COLOR); + cv::Mat image = cv::imread(argv[1], cv::IMREAD_COLOR); sensor_msgs::ImagePtr msg = cv_bridge::CvImage(std_msgs::Header(), "bgr8", image).toImageMsg(); ros::Rate loop_rate(5); diff --git a/polled_camera/CHANGELOG.rst b/polled_camera/CHANGELOG.rst index be43a8d8..345e1a34 100644 --- a/polled_camera/CHANGELOG.rst +++ b/polled_camera/CHANGELOG.rst @@ -2,6 +2,17 @@ Changelog for package polled_camera ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1.12.0 (2020-04-03) +------------------- +* Noetic release image_common (`#155 `_) +* Contributors: Alejandro Hernández Cordero + +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..9e2645d6 100644 --- a/polled_camera/CMakeLists.txt +++ b/polled_camera/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8) +cmake_minimum_required(VERSION 3.0.2) project(polled_camera) # generate the server @@ -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.12.0 polled_camera contains a service and C++ helper classes for implementing a polled