[CMake] add_target_properties( tgt COMPILE_FLAGS_${CONF} "abc" )
"Sören Textor [Ditec-GmbH]"
s.textor at ditec-gmbh.de
Wed Jun 26 07:44:18 EDT 2013
problem is that config specific propierties like
COMPILE_FLAGS_DEBUG
still seems not to be evaluated.
Instead of specific link propierties!
Am 26.06.2013 13:41, schrieb Leek, Jim:
>
> Sorry, I don't have a nice clean answer like that for you. I'm too
> new at cmake I guess. I would just fall back on if statements.
>
> If(CMAKE_BUILD_TYPE MATCHES Debug)
>
> set_target_properties( ${tgt} COMPILE_FLAGS_DEBUG "/GA" )
>
> elseif(CMAKE_BUILD_TYPE MATCHES Release)
>
> ...
>
> endif()
>
> *From:*cmake-bounces at cmake.org [mailto:cmake-bounces at cmake.org] *On
> Behalf Of *"Sören Textor [Ditec-GmbH]"
> *Sent:* Wednesday, June 26, 2013 12:28 AM
> *To:* cmake at cmake.org
> *Subject:* Re: [CMake] add_target_properties( tgt
> COMPILE_FLAGS_${CONF} "abc" )
>
> sorry my fault.
>
> add_target_properties is a helper macro that I wrote.
>
> Finally this is what I need:
> set_target_properties( ${tgt} COMPILE_FLAGS_DEBUG "/GA" )
> set_target_properties( ${tgt} COMPILE_FLAGS_RELEASE "/GB" )
> set_target_properties( ${tgt} COMPILE_FLAGS_MYCONFIG1 "/GC" )
> set_target_properties( ${tgt} COMPILE_FLAGS_MYCONFIG1 "/GD" )
>
> And this is what already works:
> set_target_properties( ${tgt} LINK_FLAGS_DEBUG "/Libpath:xxx1" )
> set_target_properties( ${tgt} LINK_FLAGS_RELEASE "/Libpath:xxx2" )
> set_target_properties( ${tgt} LINK_FLAGS_MYCONFIG1 "/Libpath:xxx3" )
> set_target_properties( ${tgt} LINK_FLAGS_MYCONFIG1 "/Libpath:xxx4" )
>
>
>
>
>
> Am 26.06.2013 09:07, schrieb "Sören Textor [Ditec-GmbH]":
>
> okay, it seems that there's a missunderstanding.
>
> The thing I want to do is this:
>
> add_target_properties( ${tgt} COMPILE_FLAGS_DEBUG "/GA" )
>
> add_target_properties( ${tgt} COMPILE_FLAGS_RELEASE "/GB" )
>
> add_target_properties( ${tgt} COMPILE_FLAGS_MYCONFIG1 "/GC" )
>
> add_target_properties( ${tgt} COMPILE_FLAGS_MYCONFIG1 "/GD" )
>
>
>
> like I do already:
>
> add_target_properties( ${tgt} LINK_FLAGS_DEBUG "/Libpath:xxx1" )
>
> add_target_properties( ${tgt} LINK_FLAGS_RELEASE "/Libpath:xxx2" )
>
> add_target_properties( ${tgt} LINK_FLAGS_MYCONFIG1 "/Libpath:xxx3" )
>
> add_target_properties( ${tgt} LINK_FLAGS_MYCONFIG1 "/Libpath:xxx4" )
>
>
>
> The latter orks fine. Thus why it's not possible to obtain the same functionaltity for compile flags?
>
>
>
> SirAnn
>
> protective rights.
>
> Am 26.06.2013 00:39, schrieb Leek, Jim:
>
> I was just messing around with this yesterday. On minGW I had to pass the link flag -static-libgcc to my binary. There were two ways to do this:
>
>
>
> 1) To add a flag to all link lines:
>
> Shared Libraries:
>
>
>
> SET (CMAKE_SHARED_LINKER_FLAGS "abc"
>
> CACHE STRING "Flags used by the linker during the creation of dll's.")
>
>
>
> module linker flags:
>
> SET (CMAKE_MODULE_LINKER_FLAGS "abc"
>
> CACHE STRING "Flags used by the linker during the creation of modules.")
>
>
>
> binary linker flags:
>
> SET (CMAKE_EXE_LINKER_FLAGS "abc"
>
> CACHE STRING "Flags used by the linker during the creation of binaries.")
>
>
>
> 2) To add a flag to just a single target:
>
> SET_TARGET_PROPERTIES( <target name>
>
> PROPERTIES
>
> LINK_FLAGS "abc")
>
>
>
> If just used if statement to decide if how the link flags should be set. There may be a better way to do that.
>
>
>
> To see how to do configuration based compile flags, see this page:
>
> http://www.cmake.org/Wiki/CMake_Useful_Variables
>
>
>
> I added a TESTING build type, and all I had to do was define these variables:
>
> SET(CMAKE_CXX_FLAGS_TESTING "-mfpmath=sse -msse2")
>
> SET(CMAKE_C_FLAGS_TESTING "-mfpmath=sse -msse2")
>
> SET(CMAKE_Fortran_FLAGS_TESTING "-mfpmath=sse -msse2")
>
>
>
> -----Original Message-----
>
> From:cmake-bounces at cmake.org <mailto:cmake-bounces at cmake.org> [mailto:cmake-bounces at cmake.org] On Behalf Of Miller Henry
>
> Sent: Tuesday, June 25, 2013 8:41 AM
>
> To: "Sören Textor [Ditec-GmbH]";cmake at cmake.org <mailto:cmake at cmake.org>
>
> Subject: Re: [CMake] add_target_properties( tgt COMPILE_FLAGS_${CONF} "abc" )
>
>
>
> TARGET_LINK_LIBRARIES(${tgt} stdc++)
>
>
>
> Should do the trick
>
>
>
> -----Original Message-----
>
> From:cmake-bounces at cmake.org <mailto:cmake-bounces at cmake.org> [mailto:cmake-bounces at cmake.org] On Behalf Of "Sören Textor [Ditec-GmbH]"
>
> Sent: Tuesday, June 25, 2013 10:15 AM
>
> To:cmake at cmake.org <mailto:cmake at cmake.org>
>
> Subject: [CMake] add_target_properties( tgt COMPILE_FLAGS_${CONF} "abc" )
>
>
>
> Hello
>
> Is it meanwhile possible to add configuration specfic compiler flags analouge to link flags?
>
>
>
> add_target_properties( ${tgt} COMPILE_FLAGS_${CONF} "abc" )
>
>
>
> add_target_properties( ${tgt} LINK_FLAGS_${CONF} "abc" )
>
>
>
> Best regards
>
> SirAnn
>
>
>
>
>
> --
>
>
>
> Powered bywww.kitware.com <http://www.kitware.com>
>
>
>
> Visit other Kitware open-source projects athttp://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
>
> --
>
>
>
> Powered bywww.kitware.com <http://www.kitware.com>
>
>
>
> Visit other Kitware open-source projects athttp://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
>
>
>
>
>
> --
>
>
>
> Powered bywww.kitware.com <http://www.kitware.com>
>
>
>
> Visit other Kitware open-source projects athttp://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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20130626/723a2b2b/attachment-0001.htm>
More information about the CMake
mailing list