1. 05 Aug, 2019 1 commit
    • Brad King's avatar
      clang: Work around toolchain file use of internal CMake variables · a2454793
      Brad King authored
      Since commit d44c0db0 (clang: setup correct configuration in gnu mode,
      2019-02-20, v3.15.0-rc1~41^2~5) our Clang compiler information modules
      need the `CMAKE_<LANG>_COMPILER_FRONTEND_VARIANT` variable that we
      compute during compiler detection.  However, some existing toolchain
      files set our internal `CMAKE_<LANG>_COMPILER_ID_RUN` variables and
      block that detection, but do not set the new frontend variant variable.
      Help them out by setting `CMAKE_<LANG>_COMPILER_FRONTEND_VARIANT` anyway.
      
      Fixes: #19515, #19539
      a2454793
  2. 31 Jul, 2019 1 commit
    • Brad King's avatar
      clang: Restore support for clang-cl on non-Windows hosts · 863f7eb6
      Brad King authored
      The frontend variant detection logic added by commit 53fbe23f (clang:
      introduce CMAKE_<lang>_COMPILER_FRONTEND_VARIANT, 2019-02-20,
      v3.15.0-rc1~41^2~8) assumes that `clang-cl` only runs on a Windows host.
      It is also available on non-Windows hosts.  Fix the condition.
      
      Fixes: #19544
      863f7eb6
  3. 26 Jul, 2019 3 commits
  4. 25 Jul, 2019 3 commits
  5. 24 Jul, 2019 4 commits
    • Brad King's avatar
      Makefile: Fix regression in dependencies on relative includes · d46bac5d
      Brad King authored
      Since commit a13a5c94 (Replace use of CollapseCombinedPath with
      CollapseFullPath, 2019-03-19, v3.15.0-rc1~361^2~1), one code path now
      calls `CollapseFullPath` with a base path that may be relative.
      Backport KWSys commit c6f8e24a3 (SystemTools: Fix CollapseFullPath with
      relative base path, 2019-07-24) to handle such base paths.
      
      This case occurs when a build tree is placed in a directory inside a
      source tree such that CMake is willing to generate a relative path from
      the build tree to the source tree.  Add a test covering this case.
      
      Fixes: #19507
      d46bac5d
    • Brad King's avatar
      Merge branch 'backport-clang-gnulike-support' into release-3.15 · 420073e5
      Brad King authored
      Merge-request: !3592
      420073e5
    • Brad King's avatar
      Tests: Revert "require C++14 for the Tutorial" · 4f15a6a5
      Brad King authored
      Revert commit a2a90f41 (Tests: require C++14 for the Tutorial,
      2019-03-21, v3.15.0-rc1~41^2~2).  In commit d50b31be (Clang: For MSVC
      ABI do not use modes older than C++14, 2019-07-23) we fixed the C++
      standard selection for GNU-like Clang with the MSVC ABI so the test code
      itself no longer needs to do it.  In particular, changing the tests in
      this way broke the tutorial's narrative.
      4f15a6a5
    • Brad King's avatar
      Clang: For MSVC ABI do not use modes older than C++14 · d50b31be
      Brad King authored
      Since commit d44c0db0 (clang: setup correct configuration in gnu mode,
      2019-02-20, v3.15.0-rc1~41^2~5) we support the GNU-like Clang that
      targets the MSVC ABI.  However, Clang cannot compile with the MSVC
      standard library unless it runs in a mode aware of C++14 (since MSVC
      itself does not even have a lower mode).  When `CMAKE_CXX_STANDARD` is
      set to 98 or 11, use C++14 anyway.
      
      Since Clang's default mode is aware of C++14, another option is to not
      add any flags for 98 or 11.  However, if a future Clang version ever
      defaults to a higher C++ standard, setting the standard to 98 or 11
      should at least not use a mode higher than 14.
      
      Also revert test updates from commit 4819ff96 (Tests: fix failures
      with gnu mode clang on windows, 2019-03-21, v3.15.0-rc1~41^2~3) that
      were meant to work around the standard selection problem.
      
      Fixes: #19496
      d50b31be
  6. 23 Jul, 2019 2 commits
  7. 22 Jul, 2019 3 commits
  8. 19 Jul, 2019 4 commits
  9. 18 Jul, 2019 5 commits
  10. 17 Jul, 2019 6 commits
    • Saleem Abdulrasool's avatar
      Swift: support SONAME on ELFish targets · 5803a8a2
      Saleem Abdulrasool authored
      We should enable the soname to be setup for ELF shared libraries.
      Failure to do so generates binaries with incorrect names which prevents
      loading.
      5803a8a2
    • Saleem Abdulrasool's avatar
      Swift: support multithreaded compilation · 47e28cbe
      Saleem Abdulrasool authored
      Query the number of logical CPUs available to enable parallel
      compilation for Swift.
      47e28cbe
    • Saleem Abdulrasool's avatar
      Swift: add rules for static linking · 6814567e
      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.
      6814567e
    • Saleem Abdulrasool's avatar
      Swift: Add library search paths for dependencies · c8741e8f
      Saleem Abdulrasool authored
      When building Swift executables and libraries which import a module, an
      implicit link will be added by the driver.  Because this links by name
      rather than path, the library search path needs to be provided to
      indicate where to find the library.  For all local dependencies, add the
      library paths for the targets when linking.  This ensures that you can
      link against local libraries without explicitly setting a library path.
      
      Fixes: #19304
      c8741e8f
    • Saleem Abdulrasool's avatar
      Support per-language library link flags · be0d4042
      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
      be0d4042
    • Brad King's avatar
      CMake 3.15.0 · 79bcf4e1
      Brad King authored
      79bcf4e1
  11. 16 Jul, 2019 2 commits
  12. 12 Jul, 2019 4 commits
  13. 11 Jul, 2019 1 commit
  14. 10 Jul, 2019 1 commit