[CMake] Adding definitions to compile one file ?
Vania Joloboff
vania.joloboff at inria.fr
Thu Jan 21 09:26:58 EST 2016
HI Petr
Thanks for the suggestion.
But this will erase the existing compile definitions, won't it ?
So may be I should do a get_property first,
append my new definitions and reset the property ?
I'll try anyway...
Vania
On 01/21/2016 03:21 PM, Petr Kmoch wrote:
> Hi Vania.
>
> For your case, it's best to forget about the
> not-as-convenient-as-they-could-be convenience functions
> set_*_properties, and just invoke set_property:
>
> set_property(
> SOURCE source.cpp
> PROPERTY COMPILE_DEFINITIONS
> VAR1=${MY_VAR1} VAR2=${MY_VAR2}
> )
>
> Petr
>
> On Thu, Jan 21, 2016 at 3:14 PM, Vania Joloboff
> <vania.joloboff at inria.fr <mailto:vania.joloboff at inria.fr>> wrote:
>
> Hi
>
> I want to add two definitions to compile one specific files
> in addition to the global definitions.
> I have the following problem. If I use
>
> set_source_files_properties(source.cpp
> PROPERTIES
> COMPILE_DEFINITIONS VAR1=${MY_VAR1} VAR2=${MY_VAR2} )
>
> then I get error message incorrect number of arguments for
> set_source_files_properties
>
> If I put
> set_source_files_properties(source.cpp
> PROPERTIES COMPILE_DEFINITIONS "VAR1=${MY_VAR1} VAR2=${MY_VAR2}" )
>
> then it generates strangely enough the compile command
>
> /usr/bin/c++ -DVAR1="path1 VAR2=path2" ... source.cpp
>
> with the double quotes as above, which gives a weird value to VAR1
> and no value to VAR2
>
> If I use twice set_source_files_properties
> the first one is overwritten by the second
> and I only get the definition of VAR2
>
> What am I supposed to do ?
>
> Thankx
>
> PS I am using cmake 3.2.2 on Linux Mint.
>
> --
>
> 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
>
> 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
> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> CMake Training Courses: http://cmake.org/cmake/help/training.html
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/cmake
>
>
More information about the CMake
mailing list