[Ros-release] Build type and optimizations on the build farm?

Tully Foote tfoote at osrfoundation.org
Thu Jul 18 18:17:54 UTC 2013


I believe the buildfarm already runs Release.

In general you don't want to set the build type from CMake that should be a
setting of the environment so that the person building the packages can
choose what build type they want.  It is very ugly to be required to patch
the source of a repo to change the build type.  As we move toward
supporting cross compilation and leveraging the out of source builds, we
need to get better about not putting build parameters into the source.

The correct place to force this setting for the debians for example is in
the debian/rules file.

Tully


On Thu, Jul 18, 2013 at 9:24 AM, William Woodall
<william at osrfoundation.org>wrote:

> If you set the CMAKE_BUILD_TYPE, you should do it in a already defined
> guard:
>
> if(NOT DEFINED CMAKE_BUILD_TYPE)
>   set(CMAKE_BUILD_TYPE Release)
> endif()
>
> That way it can still be explicitly overridden if desired.
>
>
> On Thu, Jul 18, 2013 at 12:31 AM, Ruben Smits <
> ruben.smits at intermodalics.eu> wrote:
>
>> Hi Austin,
>>
>>
>> On Thu, Jul 18, 2013 at 4:25 AM, Austin Hendrix <
>> ahendrix at willowgarage.com> wrote:
>>
>>> I have a few packages containing realtime controllers that were
>>> previously built with:
>>> set(ROS_BUILD_TYPE Release), which among other things enabled
>>> optimizations as part of the build process.
>>>
>>> Since the catkin doesn't supply a replacement for ROS_BUILD_TYPE, I've
>>> omitted it when catkinizing packages, but I'm discovering now that
>>> packages compiled on the build farm are not sufficiently optimized for
>>> my use case.
>>>
>>> Is there a way to enable optimizations or the Release build type,
>>> either on the farm as a whole, in bloom, or in my packages?
>>>
>>>
>> For plain cmake packages or catkin you can use the CMAKE_BUILD_TYPE
>> variable which takes the exact same values as rosbuilds ROS_BUILD_TYPE
>> variable:
>>
>> set(CMAKE_BUILD_TYPE Release)
>>
>> see http://www.cmake.org/Wiki/CMake_Useful_Variables#Compilers_and_Toolsfor more info
>>
>> Ruben
>>
>>
>>> -Austin
>>> _______________________________________________
>>> Ros-release mailing list
>>> Ros-release at code.ros.org
>>> https://code.ros.org/mailman/listinfo/ros-release
>>>
>>
>>
>>
>> --
>> Ruben Smits, Phd
>> Chief Technology Officer
>> Intermodalics BVBA
>> +32479511786
>> www.intermodalics.eu
>>
>> _______________________________________________
>> Ros-release mailing list
>> Ros-release at code.ros.org
>> https://code.ros.org/mailman/listinfo/ros-release
>>
>>
>
>
> --
> William Woodall
> ROS Development Team
> william at osrfoundation.org
> http://williamjwoodall.com/
>
> _______________________________________________
> Ros-release mailing list
> Ros-release at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-release
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-release/attachments/20130718/34960f4e/attachment-0009.html>


More information about the Ros-release mailing list