-
Notifications
You must be signed in to change notification settings - Fork 7
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, once the artifact has proven to fix the pb
CMakeLists.txt
Outdated
@@ -76,6 +76,7 @@ function(get_poco) | |||
-DENABLE_UTIL:BOOL=OFF | |||
-DENABLE_XML:BOOL=OFF | |||
-DENABLE_ZIP:BOOL=OFF | |||
-DCMAKE_Debug_POSTFIX=d |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alternatively we could use all caps for consistency https://cmake.org/cmake/help/v3.11/variable/CMAKE_DEBUG_POSTFIX.html.
I expect both to have the same effect.
Though I'm fine with the current one if we prefer matching the case of the string representing the build type rather than following a strict "all caps for all CMake variables".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The debug build produced PocoFoundation.dll
on the windows packaging job. Maybe all-caps is mandatory.
Review was conditional on testing outcome. It didn't work and there have been new changes since then.
The lastest build artifact fixes the issue. I've tested building Debug of ros2/examples in an overlay workspace an confirmed it still works on Ubuntu and now Windows using the artifact from the last CI packaging job. The fix overwrites the build and install commands to pass the build type via CI build type Debug
|
additional context available at ros2/ci#148 (comment) |
With this PR I don't see the issue described in #11 in windows However, I have to explicitly use CMake commands to test a debug build on windows. The default generator used when I run To test on windows
|
This looks like a bug. I guess colcon is using the VS 2017 generator by default? |
Following up from offline discussion with @sloretz:
|
I tested b70d08e manually for each of these cases and did not see the issue described by #11
Test steps cd ros2_ws
rm -rf build install
colcon build --cmake-args " -DCMAKE_BUILD_TYPE=RelWithDebInfo"
cd ..
mkdir overlay_ws
git clone https://github.com/ros2/examples.git
colcon build
./install/examples_rclcpp_minimal_composition/lib/examples_rclcpp_minimal_composition/composition_composed
rm -rf build install
colcon build --cmake-args " -DCMAKE_BUILD_TYPE=Debug"
./install/examples_rclcpp_minimal_composition/lib/examples_rclcpp_minimal_composition/composition_composed Here's another windows packaging job CI |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, with 2 nitpicks/questions
Can we use CMAKE_CXX_STANDARD instead of passing -std=c++14
explicitly to cmake ?
CMakeLists.txt
Outdated
@@ -1,25 +1,15 @@ | |||
cmake_minimum_required(VERSION 2.8.3) | |||
cmake_minimum_required(VERSION 3.5) | |||
cmake_policy(SET CMP0048 NEW) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this necessary ? It looks like the default is NEW in CMake 3.5: https://cmake.org/cmake/help/v3.5/policy/CMP0048.html
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oops, thanks. I think I set the policy first, then later upped the minimum required version and didn't check the policy's default.
@mikaelarguedas changed to ci up to
|
We could use the
👍 |
Edit: This PR ups the version of poco to 1.8.0.1 (same as in bionic). It also removes the custom find module by instead installing poco into the same install prefix as poco_vendor.
Old description
More info in this comment.
connects to #11
Running windows packaging job so I can use the artifact to test this patch. I've checked it on Ubuntu and did not see a regression.