Skip to content
Snippets Groups Projects
  1. Feb 01, 2023
  2. Jan 28, 2023
  3. Jan 27, 2023
  4. Jan 26, 2023
  5. Jan 25, 2023
    • nkross's avatar
      Xcode: Inherit Swift flags and compilation conditions · 01c1d815
      nkross authored and Brad King's avatar Brad King committed
      Extend the change from commit dfaf55fb (Xcode: add extra
      '$(inherited)' entries using InheritBuildSettingAttribute, 2021-05-03,
      v3.21.0-rc1~182^2) to cover Swift flags and compilation conditions,
      allowing CocoaPods and CMake to interoperate when used in the same
      project.
      01c1d815
  6. Jan 24, 2023
  7. Jan 23, 2023
  8. Jan 21, 2023
    • Evan Wilde's avatar
      Add incremental Swift static lib build test · 1730d208
      Evan Wilde authored
      Ensure that we're actually trying to rebuild libB when the public
      interface for libA changes. Without handling the swiftmodule dependency
      edge correctly, we would only get a linker error because libA didn't
      have the symbol that libB depended on. With the fix, we get a proper
      compiler error because ninja knows to rebuild the intermediate libB
      when the public interface of libA changes. This is more actionable.
      1730d208
  9. Jan 20, 2023
  10. Jan 19, 2023
    • Evan Wilde's avatar
      Ninja: Emit swiftmodule from executable with exports · 4165eb3d
      Evan Wilde authored
      This patch adds support for tracking the swiftmodules for executables
      exporting symbols.
      
      This fixes a bug in the earlier implementation around emitting the
      swiftmodule. Previously, the code would use
      `CMAKE_EXE_EXPORTS_Swift_FLAG` to inject the `-emit-module`, and module
      path information into the `CMAKE_Swift_LINK_EXECUTABLE` rule. Because
      Swift skips the build step and only runs during the link phase, these
      flags were injected in `cmNinjaNormalTargetGenerator::ComputeLinkCmd`
      instead of `cmLocalGenerator::GetTargetFlags` where it is done normally.
      
      Unfortunately, injecting in `ComputeLinkCmd` didn't do anything because
      we have a `linkCmd` so `ComputeLinkCmd` exits early, before the
      EXE_EXPORT flags get added to the link command.
      
      Instead of playing with that flag, CMake checks
      `CMAKE_Swift_LINK_EXECUTABLE_WITH_EXPORTS` and uses that as the link
      rule if it exists and falls back on `CMAKE_Swift_LINK_EXECUTABLE`. I've
      defined that variable in terms of `CMAKE_Swift_LINK_EXECUTABLE` with the
      necessary additional flags for emitting the swift module instead. This
      has the same end effect as the desired behavior, but simplifies things a
      bit.
      
      Since we're generating the swiftmodule for executables with exports,
      I've also updated the dependency graph to include the swiftmodule as an
      output in the build dependency graph if the executable has exports.
      
      Tests updated:
       - RunCMake/NoWorkToDo:
         Ensure that the build graph does not result in unnecessary rebuilds
         with exporting executables.
      
       - SwiftOnly:
         Ensure that we can consume functions defined in the executable by a
         library getting linked into said executable.
      4165eb3d
    • Brad King's avatar
      cmake: Stop pointing users at logs on configure errors · 317aac14
      Brad King authored
      Since commit 18e1bfbb (cmake: On configure error suggest looking at
      CMake*.log files, 2013-07-09, v2.8.12~210^2), when configuring a project
      fails, we print `See also .../CMake{Output,Error}.log` near the end of
      the output.  This was intended to help users find failures in system and
      compiler inspection checks, but for normal project errors the messages
      may be misleading.  The logs may contain incidental errors that are part
      of normal operation and do not need to be addressed by the user.
      
      Since commit f6ed2585 (Modules: Record system inspection steps in the
      configure log, 2023-01-16), CMake's builtin modules no longer log
      information to the old-style `CMake{Output,Error}.log` files anyway,
      so stop mentioning them.
      
      Fixes: #22131
      Issue: #23200
      317aac14
    • Kyle Edwards's avatar
      cmake: Print configure/generate time · 5f0c5ec4
      Kyle Edwards authored
      5f0c5ec4
  11. Jan 18, 2023
  12. Jan 17, 2023
  13. Jan 16, 2023
  14. Jan 13, 2023
  15. Jan 12, 2023
  16. Jan 11, 2023
    • Brad King's avatar
      Tests: Fix CTest.UpdateGIT under repo-local defaultBranch config · baa85970
      Brad King authored
      The default branch detection added by commit 26ec2e2b (Tests: Update
      CTest.UpdateGIT test for custom defaultBranch, 2020-12-02,
      v3.20.0-rc1~355^2) fails if the test is run inside a Git work tree whose
      `.git` directory configures a `defaultBranch` that is different from the
      global or system-wide value.  Fix the detection to ignore the locally
      configured value so that we match the `git init` decision.
      baa85970
Loading