[CMake] CMake 2.8.10-rc1 ready for testing!

Stephen Kelly steveire at gmail.com
Thu Oct 4 06:40:04 EDT 2012


Robert Dailey wrote:

> Could we get a list of all the new generator expressions? Is there
> 2.8.10 documentation online somewhere that might have them documented?

I don't think there's generated html docs, but here's the new addition to 
the INCLUDE_DIRECTORIES target property documentation:


       Contents of INCLUDE_DIRECTORIES may use "generator expressions" with
       the syntax "$<...>".  Generator expressions are evaluted during build
       system generation to produce information specific to each build
       configuration.  Valid expressions are:

         $<0:...>                  = empty string (ignores "...")
         $<1:...>                  = content of "..."
         $<CONFIG:cfg>             = '1' if config is "cfg", else '0'
         $<CONFIGURATION>          = configuration name
         $<BOOL:...>               = '1' if the '...' is true, else '0'
         $<STREQUAL:a,b>           = '1' if a is STREQUAL b, else '0'
         $<ANGLE-R>                = A literal '>'. Used to compare strings 
                                     which contain a '>' for example.
         $<COMMA>                  = A literal ','. Used to compare strings 
                                     which contain a ',' for example.
         $<TARGET_FILE:tgt>        = main file (.exe, .so.1.2, .a)
         $<TARGET_LINKER_FILE:tgt> = file used to link (.a, .lib, .so)
         $<TARGET_SONAME_FILE:tgt> = file with soname (.so.3)

       where "tgt" is the name of a target.  Target file expressions produce
       a full path, but _DIR and _NAME versions can produce the directory 
       and file name components:

         $<TARGET_FILE_DIR:tgt>/$<TARGET_FILE_NAME:tgt>
         $<TARGET_LINKER_FILE_DIR:tgt>/$<TARGET_LINKER_FILE_NAME:tgt>
         $<TARGET_SONAME_FILE_DIR:tgt>/$<TARGET_SONAME_FILE_NAME:tgt>

       

         $<TARGET_PROPERTY:tgt,prop>   = The value of the property prop

       on the target tgt.  Note that tgt is not added as a dependency of

       the target this expression is evaluated on.

       Boolean expressions:

         $<AND:?[,?]...>           = '1' if all '?' are '1', else '0'
         $<OR:?[,?]...>            = '0' if all '?' are '0', else '1'
         $<NOT:?>                  = '0' if '?' is '1', else '1'

       where '?' is always either '0' or '1'.

       Expressions with an implicit 'this' target:

         $<TARGET_PROPERTY:prop>   = The value of the property prop on

       the target on which the generator expression is evaluated.


*********

Thanks,

Steve.




More information about the CMake mailing list