1. 14 Feb, 2018 1 commit
  2. 01 Feb, 2018 1 commit
  3. 30 Jan, 2018 2 commits
  4. 26 Jan, 2018 1 commit
    • Robert Dailey's avatar
      VS: Use newline for empty DebugInformationFormat tags · b07b1aa4
      Robert Dailey authored
      Previously, code wrote out empty tags for `<DebugInformationFormat>`
      like so:
      
          <DebugInformationFormat></DebugInformationFormat>
      
      This gets corrected by Visual Studio 2017 when saving the solution. The
      correction appears as:
      
          <DebugInformationFormat>
          </DebugInformationFormat>
      
      In the spirit of keeping the XML structure as close to what Visual
      Studio expects as possible, a newline is inserted after the opening tag
      in the empty case.
      b07b1aa4
  5. 24 Jan, 2018 1 commit
  6. 23 Jan, 2018 3 commits
  7. 22 Jan, 2018 1 commit
  8. 12 Jan, 2018 3 commits
    • Robert Maynard's avatar
      CUDA: MSVC will now state files are cuda files when needed · 46abfedb
      Robert Maynard authored
      The MSVC CUDA build customizations before CUDA 9 would not explicitly
      add the -x cu option when building. This caused .cpp and .c files
      invoked with CudaCompile to be compiled as host code and not
      cuda. Now when we detect CUDA < 9 we will explicitly add this
      option to correct this bug.
      46abfedb
    • Brad King's avatar
      Genex: Enable COMPILE_LANGUAGE for INCLUDE_DIRECTORIES with VS and Xcode · 506fda1c
      Brad King authored
      The set of compile flags used for a target's C and C++ sources is based
      on the linker language.  By default this is always the C++ flags if any
      C++ sources appear in the target, and otherwise the C flags.  Therefore
      we can define the `COMPILE_LANGUAGE` generator expression in
      `INCLUDE_DIRECTORIES` to match the selected language.
      
      This is not exactly the same as for other generators, but is the best VS
      and Xcode can do.  It is also sufficient for many use cases since the
      set of include directories for C and C++ is frequently similar but may
      be distinct from those for other languages like CUDA.
      
      Fixes: #17435
      506fda1c
    • Brad King's avatar
      Genex: Enable COMPILE_LANGUAGE for COMPILE_DEFINITIONS with VS and Xcode · c2f79c98
      Brad King authored
      The set of compile flags used for a target's C and C++ sources is based
      on the linker language.  By default this is always the C++ flags if any
      C++ sources appear in the target, and otherwise the C flags.  Therefore
      we can define the `COMPILE_LANGUAGE` generator expression in
      `COMPILE_DEFINITIONS` to match the selected language.
      
      This is not exactly the same as for other generators, but is the best VS
      and Xcode can do.  It is also sufficient for many use cases since the
      set of definitions for C and C++ is frequently similar but may be
      distinct from those for other languages like CUDA.
      
      Issue: #17435
      c2f79c98
  9. 11 Jan, 2018 2 commits
  10. 21 Dec, 2017 1 commit
  11. 13 Dec, 2017 1 commit
  12. 08 Dec, 2017 1 commit
  13. 05 Dec, 2017 1 commit
  14. 04 Dec, 2017 2 commits
  15. 29 Nov, 2017 1 commit
  16. 15 Nov, 2017 2 commits
  17. 09 Nov, 2017 1 commit
  18. 30 Oct, 2017 1 commit
  19. 23 Oct, 2017 1 commit
    • Matthias Männich's avatar
      Replace cmArray{Begin,End,Size} by their standard counterparts · 57132765
      Matthias Männich authored
      std::{begin,end} are part of C++11, std::{cbegin,cend} are part of C++14
      and an standard compliant implementation has been introduced within the
      'cm' namespace: cm::{cbegin,cend}.
      
      std::size is only part of C++17, hence exposing a compliant implementation
      within namespace cm (cm::size).
      
      where possible, the standard implementations are reused.
      57132765
  20. 18 Oct, 2017 1 commit
    • Brad King's avatar
      VS,Xcode: Add CMakeLists.txt sources without mutating targets · 344d149a
      Brad King authored
      Rather than injecting `CMakeLists.txt` files into each target's
      `SOURCES`, teach the generators to add them during generation using
      dedicated code.  This avoids mutating the original targets, and avoids
      polluting `$<TARGET_PROPERTY:foo,SOURCES>` with generator-specific
      content.
      
      This also avoids listing the `CMakeLists.txt` sources in the results of
      `CMAKE_DEBUG_TARGET_PROPERTIES==SOURCES` so the `RunCMake.TargetSources`
      test no longer needs a separate case for IDEs.
      344d149a
  21. 17 Oct, 2017 1 commit
    • Brad King's avatar
      VS: Set CUDA TargetMachinePlatform explicitly on x64 · fd90a14f
      Brad King authored
      The `TargetMachinePlatform` setting tells CUDA what `--machine {32,64}`
      flag to pass to nvcc.  While CUDA automatically chooses the proper
      default for the target architecture, it does not reflect this in the
      user-visible IDE settings.  Set it explicitly to fix the user-visible
      setting.
      
      Fixes: #17355
      fd90a14f
  22. 03 Oct, 2017 2 commits
  23. 27 Sep, 2017 1 commit
  24. 25 Sep, 2017 1 commit
  25. 21 Sep, 2017 1 commit
  26. 18 Sep, 2017 1 commit
    • comicfans's avatar
      VS: Fix MANIFESTUAC link flag map to .vcxproj elements · 3232f84c
      comicfans authored and Brad King's avatar Brad King committed
      Add special parsing of the flags given in `/MANIFESTUAC:"..."` in order
      to map them correctly to `.vcxproj` elements.
      
      Keep the old incorrect flag table entries for `uiAccess` and `level`
      flags for compatibility even though they do not really exist.
      
      Fixes: #16563
      3232f84c
  27. 15 Sep, 2017 1 commit
  28. 12 Sep, 2017 1 commit
  29. 11 Sep, 2017 1 commit
    • SSE4's avatar
      VS: Update support for LLVM-vs* toolsets from LLVM 5.0 · 8a4755ca
      SSE4 authored and Brad King's avatar Brad King committed
      Revert commit v3.7.0-rc1~25^2 (VS: Recognize VS/LLVM toolset names as
      Clang, 2016-09-28).  Since at least LLVM 5.0 the VS integration of the
      LLVM toolchain now mimics cl and accepts MSVC-style command-line
      arguments (unlike Microsoft Clang/C2).
      
      Fixes: #17193, #17235
      8a4755ca
  30. 05 Sep, 2017 1 commit
    • Michael Stürmer's avatar
      VS: Do not reference output assemblies if not possible for CSharp target · 7e57e6ae
      Michael Stürmer authored and Brad King's avatar Brad King committed
      Since commit v3.9.0-rc4~4^2 (Vs: allow CSharp targets to be linked to
      CXX targets, 2017-06-20) CSharp targets get `ProjectReference` entries
      to their dependencies.  This causes VS to also reference the
      dependency's output assembly by default, which is incorrect for
      non-managed targets.
      
      Fix this by setting `ReferenceOutputAssembly` to `false` for targets
      that can't provide output assemblies.  Unmanaged C++ targets (shared
      libs & executables) can still be referenced and a warning will be shown
      in the IDE but the build will not break anymore.
      
      Fixes: #17172
      7e57e6ae
  31. 04 Sep, 2017 1 commit