1. 18 Nov, 2019 1 commit
    • Saleem Abdulrasool's avatar
      Swift: support `-rpath` on Darwin · ff6c3361
      Saleem Abdulrasool authored and Brad King's avatar Brad King committed
      Darwin also has the concept of RPATH.  Additionally, the flag is
      identical to that on other Unixish platforms.  Simply avoid the `-rpath`
      handling on Windows.
      
      This enables the use of `BUILD_WITH_INSTALL_RPATH` and `INSTALL_RPATH`
      with Swift targets on Darwin.
      ff6c3361
  2. 12 Nov, 2019 1 commit
  3. 30 Oct, 2019 1 commit
  4. 28 Oct, 2019 1 commit
    • Saleem Abdulrasool's avatar
      Swift: correct flags for parallel jobs · d9dd7cca
      Saleem Abdulrasool authored and Brad King's avatar Brad King committed
      `-num-threads` is for the threading, not the job control.  Use `-j` to
      launch the parallel jobs.  This enables parallel builds for Swift again
      after driver updates preventing the parallelization through
      `-num-threads`.
      d9dd7cca
  5. 12 Aug, 2019 1 commit
    • Saleem Abdulrasool's avatar
      Swift: honour `IMPLIB_LOCATION` property · 5480f65a
      Saleem Abdulrasool authored
      The rules did not account for the import library location (through
      `<TARGET_IMPLB>`) and instead would always write the import library to
      the default location (next to the shared library/executable).  This
      prevented the use of `CMAKE_RUNTIME_OUTPUT_LOCATION` and
      `CMAKE_ARCHIVE_OUTPUT_LOCATION`.
      5480f65a
  6. 11 Aug, 2019 1 commit
  7. 09 Aug, 2019 1 commit
    • Saleem Abdulrasool's avatar
      Generator: support per-language link library flag · 689be623
      Saleem Abdulrasool authored
      This enables the use of MSVC and Swift on Windows in a single project.
      MSVC uses no flag to indicate linked libraries while Swift uses `-l`.
      Add support for a language specific link library flag which takes
      precedence over the global `CMAKE_LINK_LIBRARY_FLAG` which preserves
      compatibility with earlier releases.
      689be623
  8. 05 Aug, 2019 1 commit
  9. 17 Jul, 2019 5 commits
  10. 11 Jul, 2019 1 commit
  11. 02 Jul, 2019 1 commit
  12. 28 Jun, 2019 1 commit
    • Saleem Abdulrasool's avatar
      Swift: add rules for static linking · 8aa0b63b
      Saleem Abdulrasool authored
      The Swift driver recently learnt how to generate static libraries using
      the `-static` flag.  This enables us to generate proper static libraries
      with dependency tracking with Swift as well.
      8aa0b63b
  13. 06 Jun, 2019 1 commit
    • Saleem Abdulrasool's avatar
      Support per-language library link flags · a9829163
      Saleem Abdulrasool authored
      This changes the behaviour of the generators to use a per-language
      library search path flag.  This is needed for multi-language projects
      with different compilers (e.g. cl + gfortran).  Since the adjusted
      variable has been part of the user settings, we control this based on a
      policy.
      
      Fixes: #19307
      a9829163
  14. 28 May, 2019 1 commit
  15. 24 May, 2019 1 commit
    • Saleem Abdulrasool's avatar
      Modules: setup `CMAKE_Swift_LINKER_PREFERENCE` · abea06ef
      Saleem Abdulrasool authored
      Swift's driver will invoke the C++ driver (`clang++`) to invoke the
      linker.  Additionally, it will configure the command line to deal with
      the linkage runtime support object (`swiftrt.o` or `swiftrt.obj`) to be
      added at the right time (similar to C/C++).  Since it indirects through
      `clang++` it will properly setup the linker invocation for C++ and C as
      well.  This should permit the correct linker driver to be invoked in
      multi-language projects.
      
      Closes #19299
      abea06ef
  16. 23 May, 2019 1 commit
    • Saleem Abdulrasool's avatar
      Ninja,Swift: correct response file handling · 9e5457d3
      Saleem Abdulrasool authored
      The response file was being written but not used due to the wrong
      variable being configured for Swift.  Swift does compile+link in a
      single phase and does not use the `<OBJECTS>` placeholder.  Use the
      `<SWIFT_SOURCES>` placeholder instead for the response file substitution
      which serves the same purpose.
      9e5457d3
  17. 21 May, 2019 4 commits
  18. 16 May, 2019 1 commit
  19. 18 Apr, 2018 1 commit
  20. 27 Sep, 2016 1 commit
    • Brad King's avatar
      Simplify CMake per-source license notices · 86578ecc
      Brad King authored
      Per-source copyright/license notice headers that spell out copyright holder
      names and years are hard to maintain and often out-of-date or plain wrong.
      Precise contributor information is already maintained automatically by the
      version control tool.  Ultimately it is the receiver of a file who is
      responsible for determining its licensing status, and per-source notices are
      merely a convenience.  Therefore it is simpler and more accurate for
      each source to have a generic notice of the license name and references to
      more detailed information on copyright holders and full license terms.
      
      Our `Copyright.txt` file now contains a list of Contributors whose names
      appeared source-level copyright notices.  It also references version control
      history for more precise information.  Therefore we no longer need to spell
      out the list of Contributors in each source file notice.
      
      Replace CMake per-source copyright/license notice headers with a short
      description of the license and lin...
      86578ecc
  21. 09 Aug, 2016 1 commit
    • Gregor Jasny's avatar
      Xcode: Obey SYSTEM keyword for includes (#15687) · 93ac2a78
      Gregor Jasny authored
      CMake used to put all header search paths into HEADER_SEARCH_PATHS
      attribute. Unfortunately this attribute does not support to declare
      a search path as a system include.
      
      As a hack one could add a -isystem /path to the cflags but then include
      ordering is not deterministic. A better approach was chosen with this
      patch by not filling HEADER_SEARCH_PATHS at all and to populate
      the C, C++, and Fortran flags directly. The include paths used by
      Xcode should be now identical to the ones used by Unix Makefiles and
      Ninja generator.
      93ac2a78
  22. 06 Jul, 2015 1 commit
    • Brad King's avatar
      Add rudimentary support for the Apple Swift language with Xcode · bf112531
      Brad King authored
      Allow the `Swift` language to be enabled with the Xcode generator for
      Xcode >= 6.1.  Reject it on other generators and with older Xcode
      versions.  Since Apple is the only vendor implementing the language
      right now, the compiler id can be just `Apple`.
      bf112531