[CMake] How to set compiler flags?

David Aldrich David.Aldrich at EU.NEC.COM
Wed Sep 29 04:38:57 EDT 2010


Hi Michael

> > [...] So I now use add_definitions instead:
> >
> > add_definitions( "-Wall -m64 -O3" )
> >
> > Is there a better way of doing this?
> 
> Don't do this at all, and adhere to the flags.

Thanks for your advice.

> Doesn't the DEBUG variant of the flags, e.g. CMAKE_CXX_FLAGS_DEBUG, and
> other related variables - perhaps in connection with CMAKE_BUILD_TYPE -
> work for you?

Regarding CMAKE_CXX_FLAGS and CMAKE_CXX_FLAGS_RELEASE, is CMAKE_CXX_FLAGS used if no build type is specified and CMAKE_CXX_FLAGS_RELEASE used if the build type is "Release"?

If that is so, I plan to assign my desired release options to CMAKE_CXX_FLAGS_RELEASE and assign that variable to CMAKE_CXX_FLAGS. That way, a release build will happen by default (no build type specified) or if "Release" is specified. I can handle debug builds using CMAKE_CXX_FLAGS_DEBUG.

Am I understanding correctly?

Best regards 

David 


> -----Original Message-----
> From: cmake-bounces at cmake.org [mailto:cmake-bounces at cmake.org] On Behalf Of
> Michael Hertling
> Sent: 29 September 2010 02:15
> To: cmake at cmake.org
> Subject: Re: [CMake] How to set compiler flags?
> 
> On 09/28/2010 05:35 PM, David Aldrich wrote:
> > Hi
> >
> > I am writing CMakeLists.txt files for my C++ application. Initially I set
> the C++ compiler flags by setting CMAKE_CXX_FLAGS:
> >
> > set( CMAKE_CXX_FLAGS "-Wall -m64 -O3 " )
> >
> > Then I realised that those flags get passed to the linker as well, which
> seemed a bit untidy. [...]
> 
> But possibly necessary:
> 
> <http://www.cmake.org/pipermail/cmake/2010-July/038083.html>
> 
> et seq.
> 
> > [...] So I now use add_definitions instead:
> >
> > add_definitions( "-Wall -m64 -O3" )
> >
> > Is there a better way of doing this?
> 
> Don't do this at all, and adhere to the flags.
> 
> > My CMakeLists.txt files only handle a release build currently. If you could
> give me a hint for how to go on to add a debug build option, I would be
> grateful.
> 
> Doesn't the DEBUG variant of the flags, e.g. CMAKE_CXX_FLAGS_DEBUG, and
> other related variables - perhaps in connection with CMAKE_BUILD_TYPE -
> work for you?
> 
> Regards,
> 
> Michael
> _______________________________________________
> Powered by www.kitware.com
> 
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
> 
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
> 
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
> 
> 
>  Click
> https://www.mailcontrol.com/sr/g!Zu+tz8WoHTndxI!oX7Uq0JINmXjwVqUAeEJxkrmVZ0jY
> kyJOOpuMF6ri4kt+pzfxoBRqvSue5ICd5VsZuQpQ==  to report this email as spam.


More information about the CMake mailing list