1. 19 Dec, 2013 1 commit
  2. 27 Nov, 2013 1 commit
  3. 20 Sep, 2013 1 commit
    • Ben Boeckel's avatar
      cmTestGenerator: Evaluate generator expressions in test properties · d331292c
      Ben Boeckel authored and Brad King's avatar Brad King committed
      This is useful for cases like:
      
        add_test(NAME mytest COMMAND mydriver $<TARGET_FILE:myexe>)
        set_tests_properties(mytest PROPERTIES
          REQUIRED_FILES "$<TARGET_FILE:myexe>"
          WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/$<CONFIGURATION>"
          )
      
      In this example we require the actual test executable to exist to
      run the test in addition to the test driver at argv[0].  Also the
      $<CONFIGURATION> expression improves over \${CTEST_CONFIGURATION_TYPE}
      because the latter is not normalized for case-sensitive filesystems.
      d331292c
  4. 28 Aug, 2013 1 commit
  5. 13 Aug, 2013 1 commit
  6. 02 Aug, 2013 1 commit
    • Stephen Kelly's avatar
      Add the ALIAS target concept for libraries and executables. · 370bf554
      Stephen Kelly authored
      * The ALIAS name must match a validity regex.
      * Executables and libraries may be aliased.
      * An ALIAS acts immutable. It can not be used as the lhs
        of target_link_libraries or other commands.
      * An ALIAS can be used with add_custom_command, add_custom_target,
        and add_test in the same way regular targets can.
      * The target of an ALIAS can be retrieved with the ALIASED_TARGET
        target property.
      * An ALIAS does not appear in the generated buildsystem. It
        is kept separate from cmMakefile::Targets for that reason.
      * A target may have multiple aliases.
      * An ALIAS target may not itself have an alias.
      * An IMPORTED target may not have an alias.
      * An ALIAS may not be exported or imported.
      370bf554
  7. 24 Jul, 2013 1 commit
  8. 28 Jun, 2013 1 commit
  9. 12 Jun, 2013 1 commit
  10. 16 May, 2013 1 commit
  11. 12 Mar, 2013 1 commit
  12. 23 Feb, 2013 1 commit
    • Stephen Kelly's avatar
      Expand includes and defines transitively in 'external' genexes. · 7e707444
      Stephen Kelly authored
      This means that we can use expressions of the form
      
       $<TARGET_PROPERTY:foo,INTERFACE_INCLUDE_DIRECTORIES>
      
      to get a list of the interface include directories of foo, including
      those coming from dependencies.
      
      We can't have a test of a target which has a single include directory in
      its INCLUDE_DIRECTORIES because the shell on the MSYS platforms transforms
      a single include directory to include a prefix, which is not what the test
      expects. We test a target with two directories instead as a means to
      test a target with no link dependencies.
      7e707444
  13. 31 Jan, 2013 1 commit
  14. 27 Jan, 2013 1 commit
  15. 04 Jan, 2013 2 commits
    • Stephen Kelly's avatar
      Add the TARGET_NAME generator expression. · b0c8f73e
      Stephen Kelly authored
      It will be used as a preprocessing marker.
      b0c8f73e
    • Stephen Kelly's avatar
      GenEx: Add expressions to specify build- or install-only values · b2f1700b
      Stephen Kelly authored
      This is for specifying INCLUDE_DIRECTORIES relevant to the build-location
      or the install location for example:
      
       set_property(TARGET foo PROPERTY
         INTERFACE_INCLUDE_DIRECTORIES
         "$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR};${CMAKE_CURRENT_SOURCE_DIR}>"
         "$<INSTALL_INTERFACE:${CMAKE_INSTALL_PREFIX}/include>"
       )
      
      A 'bar' target can then use:
      
       set_property(TARGET bar PROPERTY
         INCLUDE_DIRECTORIES
         "$<TARGET_PROPERTY:foo,INTERFACE_INCLUDE_DIRECTORIES>"
       )
      
      and it will work whether foo is in the same project, or an imported target
      from an installation location, or an imported target from a build location
      generated by the export() command.
      
      Because the generator expressions are only evaluated at build-time, these
      new expressions are equivalent to the ZeroNode and OneNode.
      
      The GeneratorExpression test is split into parts. Some shells can't run
      the custom command as it is getting too long.
      b2f1700b
  16. 05 Nov, 2012 1 commit
  17. 20 Oct, 2012 1 commit
    • Stephen Kelly's avatar
      GenEx: Test early determination of AND and OR · 4bacff7a
      Stephen Kelly authored
      It should be possible for example to do this:
      
       "$<AND:${FOO},$<BOOL:${TGT}>,$<BOOL:$<TARGET_PROPERTY:${TGT},PROP>"
      
      such that it works simliarly to the C code:
      
       if (foo && tgt && tgt->prop())
         {
         }
      
      The example of generator expression code is a little bit contrived as
      it could be written other ways with the same functionality. Nevertheless,
      as these cases already work and are intentional, test for them.
      4bacff7a
  18. 17 Oct, 2012 3 commits
  19. 09 Oct, 2012 3 commits
  20. 28 Sep, 2012 1 commit
  21. 15 Aug, 2012 2 commits
    • Brad King's avatar
      Add $<CONFIG:...> boolean query generator expression · 9d9f6167
      Brad King authored
      This expression evaluates to '1' or '0' to indicate whether the build
      configuration for which the expression is evaluated matches tha named
      configuration.  In combination with the "$<0:...>" and "$<1:...>"
      expressions this allows per-configuration content to be generated.
      9d9f6167
    • Brad King's avatar
      Add boolean generator expressions · ebf05abd
      Brad King authored
      Add generator expressions that combine and use boolean test results:
      
       $<0:...>         = empty string (ignores "...")
       $<1:...>         = content of "..."
       $<AND:?[,?]...>  = '1' if all '?' are '1', else '0'
       $<OR:?[,?]...>   = '0' if all '?' are '0', else '1'
       $<NOT:?>         = '0' if '?' is '1', else '1'
      
      These will be useful to evaluate (future) boolean query expressions and
      condition content on the results.  Include tests and documentation.
      ebf05abd