In Windows builds explicitly set CL environment variable to /DROS_BUILD_SHARED_LIBS=1
#39
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
ROS_BUILD_SHARED_LIBS is always defined in CMake by catkin, if ROS (1) is build as shared library . However, some packages are not passing compilation flags from CMake to other build systems (such as qmake), so we enable it explicitly via the CL environment variable, see https://learn.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170 .
I could only define this if the package name is
ros-noetic-qt-gui-cpp
, but I tought it was useful to have this also for other packages for similar problems, and anyhow it should not be problematic for other packages.Fix RoboStack/ros-noetic#331 .