1. 14 Jul, 2017 1 commit
    • Brad King's avatar
      Diagnose object library self-reference · d89e10cd
      Brad King authored
      The code
      
          add_library(A OBJECT a.c)
          target_sources(A PRIVATE $<TARGET_OBJECTS:A>)
      
      used to crash CMake via infinite recursion while evaluating the
      generator expression.  Then the change in commit v3.9.0-rc1~266^2~1
      (cmGeneratorTarget: Replace source classifier implementation,
      2017-04-07) avoided the infinite recursion because GetKindedSources now
      creates a map entry and initializes it once.  If it is called again on
      the same target during that initialization, the partially computed
      results are returned.  This is still wrong but does not crash.
      Detect and diagnose this case instead.
      
      Co-Author: Ben Boeckel <ben.boeckel@kitware.com>
      Fixes: #16578
      d89e10cd
  2. 12 Jul, 2017 3 commits
  3. 11 Jul, 2017 6 commits
  4. 10 Jul, 2017 6 commits
  5. 07 Jul, 2017 4 commits
    • Brad King's avatar
      9b9a57e1
    • Brad King's avatar
    • Brad King's avatar
      find_package: Restore longer message when config files were considered · e7730d78
      Brad King authored
      Since commit v3.9.0-rc1~58^2 (find_package: shorten output for missing
      package in config mode, 2017-05-09) we print only the one line
      
          - Could NOT find Foo (missing: Foo_DIR)
      
      when package Foo cannot be found in CONFIG mode and it is not REQUIRED.
      However, in the case that package configuration files were found but not
      used, this one line message leaves out important information.  This can
      happen when a package configuration file sets `Foo_FOUND` to `FALSE` or
      when its package version file does not match the requested version.
      Restore the longer message in these cases.  Otherwise a seemingly valid
      explicit `Foo_DIR` setting appears to be silently ignored even if it was
      considered.
      
      Fixes: #17029
      e7730d78
    • Brad King's avatar
      Autogen: Skip generated files for compatibility with CMake 3.8 · 9a34e95a
      Brad King authored
      The change in commit v3.9.0-rc1~464^2~8 (Autogen: Add AUTOMOC/UIC
      support for generated source files, 2017-03-02) changes behavior of
      existing projects that may not expect `AUTOGEN` on generated files and
      do not yet set `SKIP_AUTOGEN` on them.  Disable the behavior change for
      now to fix the regression for CMake 3.9.  We can restore it later with a
      policy.
      
      In order to keep the implementation and tests working, add an
      undocumented property we can use in the tests to enable the behavior
      before the policy is introduced.
      
      Fixes: #17031
      Issue: #16186
      9a34e95a
  6. 06 Jul, 2017 2 commits
  7. 05 Jul, 2017 2 commits
  8. 02 Jul, 2017 1 commit
  9. 30 Jun, 2017 5 commits
  10. 29 Jun, 2017 2 commits
  11. 28 Jun, 2017 7 commits
    • Brad King's avatar
      594b0f80
    • Ian Hojnicki's avatar
    • Brad King's avatar
      VS: Fix GenerateDebugInformation values for v140 and v141 toolsets · ae44496e
      Brad King authored
      When VS 2015 was first released, its new v140 toolset came with a
      `link.xml` file that changed the `GenerateDebugInformation` boolean
      (`false` and `true`) value from earlier toolsets to an enumeration
      consisting of the possible values `No`, `Debug`, and `DebugFastLink`.
      
      We first adapted to this in commit v3.4.2~2^2 (VS: Fix VS 2015 .vcxproj
      file value for GenerateDebugInformation, 2016-01-08), but that broke
      older toolsets that still expected the boolean.  Then commit
      v3.6.0-rc1~295^2~1 (VS: Fix VS 2015 .vcxproj debug setting for older
      toolsets, 2016-02-24) added a hack to fix up the value based on the
      toolset in use.  Several follow-up commits fixed this for more older
      toolsets because our flag table was at the time based on the generator
      in use rather than the toolset in use.
      
      Since commit v3.8.0-rc1~396^2 (VS: Choose flag map based on the toolset
      name, 2016-10-17) we use a flag table based on the toolset, so the fixup
      hack should not be needed.  We had to keep it around only due to our
      default value for GenerateDebugInformation (`false` or `No`) still being
      based on the generator instead of the toolset.
      
      A VS 2015 update was released that changed the v140 toolset `link.xml`
      file back to using `false` and `true` for the `GenerateDebugInformation`
      enumeration variants previously known as `No` and `Debug`.  In order to
      know which pair to use, we need to parse the `link.xml` file for the
      current toolset.
      
      Switch back to using `false` and `true` unconditionally in our
      `GenerateDebugInformation` flag table entries and default value.  With
      that plus the toolset-based flag table, we now get incorrect values for
      `GenerateDebugInformation` only when using a v140 toolset from an older
      VS 2015 installation.  Detect this case by parsing `link.xml` and add
      special logic to convert `false` and `true` to `No` and `Debug` to
      satisfy the older toolset specification.
      Inspired-by: default avatarIan Hojnicki <nullref@live.com>
      Fixes: #17020
      ae44496e
    • Ian Hojnicki's avatar
      VS: Fix GenerateDebugInformation flag map text for v141 toolsets · 27bef160
      Ian Hojnicki authored
      Update the help text to match that from v141's link.xml file.
      27bef160
    • Ian Hojnicki's avatar
      17a397c2
    • Brad King's avatar
      Merge branch 'curl-haiku' into release-3.9 · 9807a0ce
      Brad King authored
      9807a0ce
    • Jérôme Duval's avatar
      curl: Fix build on Haiku · e7936751
      Jérôme Duval authored
      On Haiku the network functions are in libnetwork, so use it when it
      exists.
      e7936751
  12. 27 Jun, 2017 1 commit