[CMake] Append to property COMPILE_DEFINITIONS

Florian Lindner mailinglists at xgm.de
Mon Jul 17 23:21:08 EDT 2017


Am 18.07.2017 um 10:59 schrieb Craig Scott:
> You appear to be setting a GLOBAL property where you probably meant DIRECTORY. You could also consider setting the
> target property instead rather than applying it to all targets (unless that's what you want).

I tried to set the property on all targets, therefore I thought GLOBAL is the right thing.

However,

set_property(DIRECTORY "${CMAKE_SOURCE_DIR}/src" APPEND
  PROPERTY COMPILE_DEFINITIONS "-DFOO")

hasn't had any effect either.

set_property(TARGET testprecice APPEND
  PROPERTY COMPILE_DEFINITIONS "FOO")

works. But setting it on all targets is exactly what I want. How can I do that?

Best,
Florian

> 
> 
> On Tue, Jul 18, 2017 at 12:56 PM, Florian Lindner <mailinglists at xgm.de <mailto:mailinglists at xgm.de>> wrote:
> 
>     Hello,
> 
>     I want to add compile definitions. Since I want to use generator expressions, I can't use add_definitions, but have to
>     use the COMPILE_DEFINITIONS property, but neither:
> 
>     set_property(GLOBAL APPEND
>       PROPERTY COMPILE_DEFINITIONS "-DFOO")
> 
>     for testing
> 
>     or
> 
>     set_property(GLOBAL APPEND
>       PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:Debug>:-DDebug>)
> 
>     which should be final result, produces any -DFOO compiler switches.
> 
>     I also tried placing it before and after the add_executable call.
> 
>     What is wrong with that call?
> 
>     Thanks,
>     Florian
>     --
> 
>     Powered by www.kitware.com <http://www.kitware.com>
> 
>     Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>     <http://www.cmake.org/Wiki/CMake_FAQ>
> 
>     Kitware offers various services to support the CMake community. For more information on each offering, please visit:
> 
>     CMake Support: http://cmake.org/cmake/help/support.html <http://cmake.org/cmake/help/support.html>
>     CMake Consulting: http://cmake.org/cmake/help/consulting.html <http://cmake.org/cmake/help/consulting.html>
>     CMake Training Courses: http://cmake.org/cmake/help/training.html <http://cmake.org/cmake/help/training.html>
> 
>     Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>     <http://www.kitware.com/opensource/opensource.html>
> 
>     Follow this link to subscribe/unsubscribe:
>     http://public.kitware.com/mailman/listinfo/cmake <http://public.kitware.com/mailman/listinfo/cmake>
> 
> 
> 
> 
> -- 
> Craig Scott
> Melbourne, Australia
> https://crascit.com


More information about the CMake mailing list