1. 15 Apr, 2016 1 commit
  2. 05 Apr, 2016 7 commits
  3. 01 Apr, 2016 3 commits
    • Brad King's avatar
    • Brad King's avatar
      Rename local target lookup methods to clarify purpose · 0e44f489
      Brad King authored
      Rename methods:
      * `cmMakefile::Find{ => LocalNonAlias}Target`
      * `cmLocalGenerator::Find{ => LocalNonAlias}GeneratorTarget`
      These names clarify that they are for directory-local target names
      and do not consider alias targets.
    • Brad King's avatar
      Fix lookup of an ALIAS target outside aliased target's directory (#16044) · bc30f8b5
      Brad King authored
      Refactoring in commit v3.5.0-rc1~272^2~11 (cmTarget: Implement ALIAS in
      terms of name mapping, 2015-10-25) accidentally introduced logic that
      assumes ALIAS targets always reference targets in their own directory.
      Fix this and add a test case.
      The configure-step fix is that `cmMakefile::FindTarget` should not consider
      aliases.  The purpose of this method is just to look up targets local to
      a directory.  Since ALIAS and normal targets share a namespace we know a
      locally defined target will never collide with an ALIAS target anyway.
      The method has 3 call sites, and this change is safe for all of them:
      * `cmInstallCommand::HandleTargetsMode`: Rejects aliases before the call.
      * `cmFLTKWrapUICommand::FinalPass`: Should never have considered aliases.
      * `cmMakefile::FindTargetToUse`: Falls back to a global lookup anyway.
      The generate-step fix is that `cmLocalGenerator::FindGeneratorTarget`
      should not consider aliases.  This method is the generate-step
      equivalent to the above.  The method has 2 call sites, and this change
      is safe for both of them:
      * `cmInstallTargetGenerator::Compute`: Never uses an alias target name.
      * `cmLocalGenerator::FindGeneratorTargetToUse`: Falls back to global lookup.
      Reported-by: default avatarMatteo Settenvini <matteo@member.fsf.org>
  4. 31 Mar, 2016 2 commits
  5. 28 Mar, 2016 2 commits
    • Brad King's avatar
    • Gregor Jasny's avatar
      Xcode: Fixup XCTest bundle location for Xcode 7.3 · a364d251
      Gregor Jasny authored and Brad King's avatar Brad King committed
      Prior to Xcode 7.3 a XCTest bundle was built like an ordinary
      bundle. But starting with Xcode 7.3 it is implicitely built as
      a plugin for the test host. It looks like in that case the
      'Build Products Path' is ignored.
      This patch simply sets the CMake target output path to the value
      Xcode expects internally to get a matching view of both.
      The command:
        xcodebuild -showBuildSettings -target CocoaExampleTests -configuration Debug
      Output with Xcode 7.2:
        TARGET_BUILD_DIR = .../Tests/XCTest/Debug
      Output with Xcode 7.3
        TARGET_BUILD_DIR = .../Tests/XCTest/Debug/CocoaExample.app/Contents/PlugIns
      Signed-off-by: Gregor Jasny's avatarGregor Jasny <gjasny@googlemail.com>
  6. 24 Mar, 2016 1 commit
  7. 23 Mar, 2016 2 commits
    • Brad King's avatar
    • Yves Frederix's avatar
      Avoid occasional use-after-free when a variable watch is executed · c6104028
      Yves Frederix authored and Brad King's avatar Brad King committed
      Re-lookup a variable value when an associated VariableWatch is executed
      in cmMakefile::GetDefinition.
      This fixes a problem with 'def' sometimes becoming invalid due to memory
      reallocation inside an std::vector. In this case, the problem was that
      if the call to VariableAccessed actually executed a callback function,
      the internal state of the makefile has changed due to the associated
      function scope being pushed. This in turn implies that a new
      cmDefinitions instance was pushed in cmMakefile::VarTree. As
      cmLinkedTree is based on an std::vector, this push can have triggered
      reallocation of its internal memory buffer. However, as the value of
      'def', which was computed on method entry, actually points to a property
      of one of the cmDefinitions instances in cmMakefile::VarTree,
      reallocation can invalidate the value of 'def' so that it cannot simply
      be returned at the end of the function. The solution implemented here is
      to simply lookup the value of 'def' again.
  8. 22 Mar, 2016 2 commits
  9. 21 Mar, 2016 2 commits
  10. 18 Mar, 2016 2 commits
  11. 17 Mar, 2016 4 commits
  12. 15 Mar, 2016 4 commits
  13. 08 Mar, 2016 1 commit
  14. 07 Mar, 2016 4 commits
  15. 24 Feb, 2016 2 commits
  16. 19 Feb, 2016 1 commit