-
Notifications
You must be signed in to change notification settings - Fork 486
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
Add support to compile the gazebo executable on Windows #2864
Conversation
If any user is interested in use the gazebo command in an existing installation of Gazebo, I also added it in a standalone repo at https://github.com/traversaro/gazebo-command-windows . |
I just realized that the option |
@osrf-jenkins run tests please |
For making the |
880fbc9
to
9c119a0
Compare
The MR has been merged, and this PR has been updated to correctly handle the |
Enabling the test_fixture has triggered some linking errors:
|
Are this problems related to this CI in particular, or they affect also the |
I ran a testing build of gazebo11 branch yesterday, seems fine. Seems to me that the error is coming from these lines. I can find a bit of time new week to give it a look if you don't have time before Silvio. |
Interesting, indeed in my compilation I did not enable the Gazebo tests, I can try to check it with conda-provided dependencies. |
9c119a0
to
7de761c
Compare
I did not find the exact error, but I noticed an error that could be related: basically the |
Bingo: https://build.osrfoundation.org/job/gazebo-ci-pr_any-windows7-amd64/3074/ . Thanks Silvio. |
All the versions of Gazebo available on Windows provide the two separate binaries
gzserver
andgzclient
, but do not provide the unified commandgazebo
that is commonly used by users and in documentation, examples and ROS launch files. This PR add supports for compiling thegazebo
command also on Windows.To do so, to avoid meddling with the low level Windows
CreateProcess
API, we used the MIT licensedtiny-process-library
. However, this additional dependency is added only on Windows, and by default on Windows is automatically downloaded and compiled using the CMake's FetchContent module, to ensure that all existing Windows documentation and build script will continue to work. To useFetchContent
, the minimum required version of CMake on Windows is increment to CMake 3.11, but this should not be on Windows were there is no system-provided CMake and the CMake version installed is quite recent. However, if it is necessary to avoid the use of FetchContent I can vendortiny-process-library
in a more old-style way by simply adding its files in thedeps/tiny-process-library
directory.However, a
USE_EXTERNAL_TINY_PROCESS_LIBRARY
CMake option is added to permit to use a system-providedtiny-process-library
, to simplify the life of package maintainers on Windows.To clarify further, this PR should not influence in any way the behavior of Gazebo on non-Windows platforms.