1. 13 Aug, 2013 1 commit
  2. 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
  3. 17 Jan, 2013 1 commit
    • Stephen Kelly's avatar
      Add the $<TARGET_POLICY> expression · 6c8d8afe
      Stephen Kelly authored
      This new expression allows checking how a policy was set when a target
      was created.  That information is only recorded for a subset of policies,
      so a whitelist is used.
      6c8d8afe
  4. 07 Dec, 2012 1 commit
    • Brad King's avatar
      Add policy CMP0019 to skip include/link variable re-expansion · 711b63f7
      Brad King authored
      Historically CMake has always expanded ${} variable references in the
      values given to include_directories(), link_directories(), and
      link_libraries().  This has been unnecessary since general ${}
      evaluation syntax was added to the language a LONG time ago, but has
      remained for compatibility with VERY early CMake versions.
      
      For a long time the re-expansion was a lightweight operation because it
      was only processed once at the directory level and the fast-path of
      cmMakefile::ExpandVariablesInString was usually taken because values did
      not have any '$' in them.  Then commit d899eb71 (Call
      ExpandVariablesInString for each target's INCLUDE_DIRECTORIES,
      2012-02-22) made the operation a bit heavier because the expansion is
      now needed on a per-target basis.  In the future we will support
      generator expressions in INCLUDE_DIRECTORIES with $<> syntax, so the
      fast-path in cmMakefile::ExpandVariablesInString will no longer be taken
      and re-expansion will be very expensive.
      
      Add policy CMP0019 to skip the re-expansion altogether in NEW behavior.
      In OLD behavior perform the expansion but improve the fast-path
      heuristic to match ${} but not $<>.  If the policy is not set then warn
      if expansion actually does anything.  We expect this to be encountered
      very rarely in practice.
      711b63f7
  5. 15 Aug, 2012 1 commit
    • 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
  6. 20 Jun, 2012 1 commit
    • Brad King's avatar
      Do not crash on SHARED library without language (#13324) · 56148fd2
      Brad King authored
      Since commit e1409ac5 (Support building shared libraries or modules
      without soname, 2012-04-22) CMake crashes on the code
      
       add_library(foo SHARED foo.nolang)
      
      because the logic to lookup the language's soname flag was moved from
      cmTarget::GetLibraryNames to cmMakefile::GetSONameFlag without its check
      for a NULL language.  Restore the check for NULL.
      
      Add RunCMake.Languages test to cover language error cases like this one.
      56148fd2
  7. 12 Mar, 2012 1 commit