Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ensure that orocos_kdl_vendor doesn't accidentally find itself. #27

Merged
merged 1 commit into from
May 7, 2024

Conversation

clalancette
Copy link
Contributor

When initially building the orocos_kdl_vendor package (on platforms where it actually builds), it turns out that it places a valid cmake configuration in the build directory. In turn, that means that a subsequent rebuild will find this configuration in the build directory, and throw the rest of the logic off. This only seems to be a problem with CMake 3.29 and later, though I can't say exactly why at the moment.

Workaround this problem by writing the configuration out to a temporary file, and then moving it into the final place with the final name.

This is the final fix needed to allow us to upgrade Windows to OpenSSL 3.3.0; see ros-infrastructure/ros2-cookbooks#68 for details.

When initially building the orocos_kdl_vendor package (on platforms
where it actually builds), it turns out that it places a
valid cmake configuration in the build directory.  In turn,
that means that a subsequent rebuild will find this configuration
in the build directory, and throw the rest of the logic off.
This only seems to be a problem with CMake 3.29 and later, though
I can't say exactly why at the moment.

Workaround this problem by writing the configuration out to a
temporary file, and then moving it into the final place with
the final name.

Signed-off-by: Chris Lalancette <clalancette@gmail.com>
@clalancette
Copy link
Contributor Author

CI:

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Windows Build Status
  • Windows Debug Build Status

@clalancette
Copy link
Contributor Author

The warnings in CI are unrelated to this change, as none of the failed tests use orocos_kdl_vendor at all. Thus, going ahead and merging this one in.

@clalancette clalancette merged commit 7aad6d1 into rolling May 7, 2024
2 checks passed
@delete-merged-branch delete-merged-branch bot deleted the clalancette/windows-patch branch May 7, 2024 12:15
@clalancette
Copy link
Contributor Author

@Mergifyio backport jazzy

Copy link

mergify bot commented May 7, 2024

backport jazzy

✅ Backports have been created

mergify bot pushed a commit that referenced this pull request May 7, 2024
When initially building the orocos_kdl_vendor package (on platforms
where it actually builds), it turns out that it places a
valid cmake configuration in the build directory.  In turn,
that means that a subsequent rebuild will find this configuration
in the build directory, and throw the rest of the logic off.
This only seems to be a problem with CMake 3.29 and later, though
I can't say exactly why at the moment.

Workaround this problem by writing the configuration out to a
temporary file, and then moving it into the final place with
the final name.

Signed-off-by: Chris Lalancette <clalancette@gmail.com>
(cherry picked from commit 7aad6d1)
ahcorde pushed a commit that referenced this pull request May 8, 2024
…#28)

When initially building the orocos_kdl_vendor package (on platforms
where it actually builds), it turns out that it places a
valid cmake configuration in the build directory.  In turn,
that means that a subsequent rebuild will find this configuration
in the build directory, and throw the rest of the logic off.
This only seems to be a problem with CMake 3.29 and later, though
I can't say exactly why at the moment.

Workaround this problem by writing the configuration out to a
temporary file, and then moving it into the final place with
the final name.

Signed-off-by: Chris Lalancette <clalancette@gmail.com>
(cherry picked from commit 7aad6d1)

Co-authored-by: Chris Lalancette <clalancette@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

None yet

2 participants