1. 01 Dec, 2014 14 commits
  2. 29 Nov, 2014 3 commits
    • Stephen Kelly's avatar
    • Stephen Kelly's avatar
      Export: Disallow export of targets with INTERFACE_SOURCES · e1348056
      Stephen Kelly authored
      This can be allowed in the next release, but it needs to have some
      features present and tested such as
      
      * Ensuring that relative paths do not appear in the generated property.
      * Ensuring that paths to the source or build directories do not appear.
      * Generating a check in the file for CMake 3.1 or later so that the
          resulting property will be consumed.
      * Ensuring that any referenced targets are part of an export set and
          generating a check for them.
      * INSTALL_INTERFACE and BUILD_INTERFACE content.
      
      All of these checks are already done for INTERFACE_INCLUDE_DIRECTORIES,
      but it is too late to add them for INTERFACE_SOURCES for CMake 3.1.
      As the checks introduce some new error conditions, it is better to
      disallow exporting fully for this case and introduce proper error
      conditions later instead of policies.
      e1348056
    • Stephen Kelly's avatar
      cmTarget: Don't allow relative paths in INTERFACE_SOURCES · bb5905bb
      Stephen Kelly authored
      Follow the pattern of checks that are made for INTERFACE_INCLUDE_DIRECTORIES.
      Existence is already checked by cmSourceFile::GetFullPath.  Add a check
      to disallow relative paths in source directories. Otherwise code such as
      
       target_sources(lib1 INTERFACE foo.cpp)
      
      would fail if consumed by a target in a different directory.
      
      Unlike the INTERFACE_INCLUDE_DIRECTORIES behavior, we don't care whether
      the entry comes from an IMPORTED target or not.  In the include directories
      case, the directory for a non-imported target might not exist yet but
      might be created.  In the sources case, a file which does not yet
      exist in the filesystem must be explicitly marked with the GENERATED
      property.
      
      Adjust existing tests and add a new test for the error.
      bb5905bb
  3. 26 Nov, 2014 8 commits
    • Brad King's avatar
      d7e4bd34
    • Brad King's avatar
      Fix lookup of source names after conversion to their actual case (#15259) · 84d124e8
      Brad King authored
      Since commit v3.1.0-rc1~688^2~15 (cmTarget: Add a method to obtain list of
      filenames for sources, 2014-03-17) we have code paths that lookup sources by
      strings containing their own full path after normalization to the actual case
      on disk.  This fails in the case that a cmSourceFile has already been created
      with a different case in the filename.  The comparison of the directory works
      because it is always normalized.  Only the comparison of the file name fails.
      
      Fix this by using a case-insensitive comparison of source file names on
      platforms that do not have case-sensitive filesystems.
      84d124e8
    • Stephen Kelly's avatar
      Genex: Fix evaluation context propagation for TARGET_OBJECTS. · 672f1001
      Stephen Kelly authored
      Extract a new method to encapsulate the requirements of evaluating
      dependent-expressions, namely, propagation of the
      EvaluateForBuildsystem setting, which is missing from the
      getLinkedTargetsContent implementation.
      
      Commit v3.1.0-rc1~688^2 (Genex: Only evaluate TARGET_OBJECTS to determine
      target sources., 2014-03-20) introduced an error case for use of
      TARGET_OBJECTS outside of the context of generating the buildsystem,
      as the path to object files may be dependent on buildsystem
      variables (See bug #15226).
      
      Commit v3.1.0-rc1~314^2 (Allow INTERFACE_SOURCES to specify
      $<TARGET_OBJECTS> (#14970), 2014-07-09) made it possible to
      propagate such content to dependent targets.
      
      While that commit propagated the EvaluateForBuildsystem setting
      for the case of a TARGET_PROPERTY expression, as generated for
      direct dependencies of a target in
      cmTargetInternals::AddInterfaceEntries, it did not add propagation
      for content from further transitive target dependencies, as determined
      by getLinkedTargetsContent.
      672f1001
    • Brad King's avatar
      f70f6acd
    • Ben Boeckel's avatar
      Revert "ClearMatches: Only clear matches which were actually set" (#15261) · 7d674b5f
      Ben Boeckel authored and Brad King's avatar Brad King committed
      This reverts commit v3.1.0-rc1~557^2~2 (ClearMatches: Only clear matches
      which were actually set, 2014-03-12).  The optimization did not track
      the match count in the same scope as the variables, allowing possible
      inconsistency.
      
      Resolve conflicts in Source/cmIfCommand.cxx, Source/cmMakefile.cxx,
      and Source/cmMakefile.h by moving the changes to the new location
      of the code involved.
      7d674b5f
    • Brad King's avatar
      b3d9702c
    • Brad King's avatar
      Merge branch 'C-features-Wundef' into release · d2f2a2e2
      Brad King authored
      d2f2a2e2
    • Christopher Gittner's avatar
      FindwxWidgets: Add versions 3.0.1 and 3.0.2 · 75dee2f2
      Christopher Gittner authored and Brad King's avatar Brad King committed
      75dee2f2
  4. 25 Nov, 2014 4 commits
  5. 23 Nov, 2014 1 commit
  6. 20 Nov, 2014 5 commits
  7. 19 Nov, 2014 4 commits
  8. 18 Nov, 2014 1 commit