1. 03 Feb, 2015 1 commit
  2. 02 Sep, 2014 1 commit
  3. 12 Aug, 2014 1 commit
  4. 31 Jul, 2014 4 commits
  5. 28 Jul, 2014 2 commits
    • Brad King's avatar
      WindowsCE: Refactor setting of "WINCE" · 05373f7e
      Brad King authored
      Move it to the Platform/Windows module since it is independent of the
      compiler used.  While at it, remove redundant "WIN32" setting from
      Platform/Windows-MSVC since Plaform/Windows already sets its.
      05373f7e
    • Brad King's avatar
      MSVC: Use STREQUAL to check for WindowsCE · 1acde6b0
      Brad King authored
      In the Platform/Windows-MSVC module it is not necessary to use MATCHES
      because we are comparing against an exact string.
      1acde6b0
  6. 10 Jul, 2014 1 commit
  7. 25 Jun, 2014 1 commit
    • Brad King's avatar
      VS14: Add Visual Studio 14 generator (#14982) · 65624c39
      Brad King authored
      Call the generator "Visual Studio 14" without any year because this
      version of VS does not provide a year in the product name.
      
      Copy cmGlobalVisualStudio12Generator to cmGlobalVisualStudio14Generator
      and update version numbers accordingly.  Add the VS14 enumeration value.
      Teach the platform module Windows-MSVC to set MSVC14 and document the
      variable.  Teach module InstallRequiredSystemLibraries to look for the VS
      14 runtime libraries.
      
      Teach tests CheckCompilerRelatedVariables, VSExternalInclude, and
      RunCMake.GeneratorToolset to treat VS 14 as they do VS 10, 11, and 12.
      
      Co-Author: Pawel Stopinski <diokhan@go2.pl>
      65624c39
  8. 26 Feb, 2014 2 commits
    • Brad King's avatar
      MSVC: Add properties to configure compiler PDB files (#14763) · 0ea3aee8
      Brad King authored
      Since commit v2.8.12~437^2~2 (VS: Separate compiler and linker PDB files
      2013-04-05) we no longer set /Fd with the PDB_NAME or PDB_OUTPUT_DIRECTORY
      properties.  Those properties now exclusively handle linker PDB files.
      Since STATIC libraries do not link their compiler PDB file becomes more
      important.  Add new target properties "COMPILE_PDB_NAME[_<CONFIG>]" and
      "COMPILE_PDB_OUTPUT_DIRECTORY[_<CONFIG>]" to specify the compiler PDB
      file location and pass the value to the MSVC /Fd option.
      0ea3aee8
    • Brad King's avatar
      MSVC: Add properties to configure compiler PDB files (#14762) · fba51b09
      Brad King authored
      Since commit v2.8.12~437^2~2 (VS: Separate compiler and linker PDB files
      2013-04-05) we no longer set /Fd with the PDB_NAME or PDB_OUTPUT_DIRECTORY
      properties.  Those properties now exclusively handle linker PDB files.
      Since STATIC libraries do not link their compiler PDB file becomes more
      important.  Add new target properties "COMPILE_PDB_NAME[_<CONFIG>]" and
      "COMPILE_PDB_OUTPUT_DIRECTORY[_<CONFIG>]" to specify the compiler PDB
      file location and pass the value to the MSVC /Fd option.
      fba51b09
  9. 18 Oct, 2013 2 commits
    • Brad King's avatar
      MSVC: Add /FS flag for cl >= 18 to allow parallel compilation (#14492) · 216afc8a
      Brad King authored
      In generators such as Ninja that can run multiple "cl" processes that
      refer to the same compiler .pdb file (/Fd) at the same time, MSVC from
      Visual Studio 2013 complains:
      
       fatal error C1041: cannot open program database '.../vc120.pdb';
       if multiple CL.EXE write to the same .PDB file, please use /FS
      
      According to "cl /?":
      
       /FS force to use MSPDBSRV.EXE
      
      Add the flag to compilation lines for this compiler version just after the
      /Fd option.
      216afc8a
    • Brad King's avatar
      Intel: When simulating MSVC, re-use Windows-MSVC (#14476) · a85e17e6
      Brad King authored
      Teach CMake(C|CXX|Fortran)CompilerId* to report the MSVC version
      simulated by the Intel compiler, if any.  Refactor the Windows-Intel
      platform information helper module to load Windows-MSVC instead of
      duplicating the information.  Teach Windows-MSVC to understand when
      it is loaded as the simulated Fortran compiler (its preprocessor is
      simulated).
      a85e17e6
  10. 04 Oct, 2013 1 commit
    • Brad King's avatar
      Clang: Support Windows variants for GNU and MSVC (#13035, #14458) · 3d8356d4
      Brad King authored
      Teach the compiler identification preprocessor tests to report when
      Clang simulates MSVC, and what version.  If not MSVC, assume GNU.
      
      Teach compiler information modules Clang-(C|CXX) to recognize when Clang
      simulates MSVC and skip loading the GNU information.
      
      Teach the Windows-MSVC platform information to recognize when it is
      loaded as the simulated compiler and use that version information
      instead of the real compiler's (different) version scheme.
      
      Add platform modules Windows-Clang-(C|CXX) and support module
      Windows-Clang to load either Windows-MSVC or Windows-GNU and wrap
      the corresponding information macros.
      3d8356d4
  11. 24 Sep, 2013 1 commit
    • Patrick Gansterer's avatar
      MSVC: Fix WinCE arch family preprocessor symbol (#14436) · 0b15ffc7
      Patrick Gansterer authored
      In commit bd827f98 (Use COFF file header header for architecture
      detection, 2013-08-05) the MSVC_<lang>_ARCHITECTURE_ID value computed by
      CMakeDetermineCompilerId.cmake changed for WinCE architectures to be the
      exact architecture read from the PE header.  Fix platform preprocessor
      definitions in Modules/Platform/Windows-MSVC.cmake to correspond to the
      architecture family (ARM or SHx) instead of the specific architecture.
      0b15ffc7
  12. 23 Sep, 2013 1 commit
  13. 11 Sep, 2013 1 commit
  14. 07 Aug, 2013 1 commit
  15. 05 Aug, 2013 1 commit
  16. 28 Jun, 2013 1 commit
    • Brad King's avatar
      VS12: Add Visual Studio 12 generator (#14251) · 77ac9b8b
      Brad King authored
      
      
      Copy cmGlobalVisualStudio11Generator to cmGlobalVisualStudio12Generator
      and update version numbers accordingly.  Add the VS12 enumeration value.
      Add module CMakeVS12FindMake to find MSBuild.  Look for MSBuild in its
      now-dedicated Windows Registry entry.  Teach the platform module
      Windows-MSVC to set MSVC12 and document the variable.  Teach module
      InstallRequiredSystemLibraries to look for the VS 12 runtime libraries.
      
      Teach tests CheckCompilerRelatedVariables, Preprocess, VSExternalInclude,
      and RunCMake.GeneratorToolset to treat VS 12 as they do VS 10 and 11.
      Inspired-by: default avatarMinmin Gong <minmin.gong@gmail.com>
      77ac9b8b
  17. 13 May, 2013 1 commit
  18. 07 May, 2013 1 commit
  19. 08 Apr, 2013 1 commit
    • Brad King's avatar
      MSVC: Invoke 'link' directly for executables · fb9f73de
      Brad King authored
      Update the CMAKE_<LANG>_LINK_EXECUTABLE rule variable to invoke the
      linker directly instead of through the compiler.  We already do this
      for DLL linking with CMAKE_<LANG>_CREATE_SHARED_LIBRARY.
      
      This also works around a VS 6 cl bug.  While invoking the link tool
      internally it fails to correctly quote flags like /pdb:... with spaces
      in the value.
      fb9f73de
  20. 05 Apr, 2013 1 commit
  21. 07 Feb, 2013 1 commit
  22. 01 Feb, 2013 1 commit
  23. 23 Nov, 2012 1 commit
    • David Cole's avatar
      CMake: Remove "/STACK:10000000" from default linker flags (#12437) · 51af1da3
      David Cole authored
      Modern apps that use multiple threads do NOT want 10 Megabytes of RAM
      per thread being used for each thread's stack... Just leave off the
      /STACK: argument, and let the compiler use a reasonable default value
      for the stack size.
      
      If existing single-threaded apps require the /STACK: argument because
      they do need a very large stack size, they can add the flag in their
      own CMakeLists files.
      51af1da3
  24. 16 Nov, 2012 1 commit
  25. 01 Oct, 2012 2 commits
  26. 19 Sep, 2012 1 commit
  27. 05 Sep, 2012 1 commit
    • Patrick Gansterer's avatar
      Add WindowsCE platform information files · 28d744c9
      Patrick Gansterer authored and Brad King's avatar Brad King committed
      This enables CMake to create Makefiles targeting Windows CE devices.
      CMake needs to be run within a cross compile command prompt and requires
      a toolchain file which sets CMAKE_SYSTEM_NAME to "WindowsCE" and
      optionally CMAKE_SYSTEM_VERSION.
      28d744c9
  28. 30 Aug, 2012 3 commits
    • Brad King's avatar
      VS: Fix MSVC_IDE definition recently broken by refactoring · 16fa7b73
      Brad King authored
      In commit 485a940e (VS: Simplify MSVC version reporting, 2012-08-23) we
      accidentally flipped the 0/1 values of MSVC_IDE.  Flip them back and
      teach the CheckCompilerRelatedVariables test to check the variable.
      16fa7b73
    • Brad King's avatar
      Modernize MSVC compiler information files · f3ddfef1
      Brad King authored
      Remove the old-style "Windows-cl.cmake" and its helper "cl.cmake".  Load
      the information through new-style "Platform/Windows-MSVC-<lang>.cmake"
      files.  Factor information common to C and CXX into a helper file
      "Platform/Windows-MSVC.cmake" loaded from the per-language files.
      f3ddfef1
    • Brad King's avatar
      VS: Simplify MSVC version reporting · 485a940e
      Brad King authored
      Teach Windows-cl.cmake to use CMAKE_(C|CXX)_COMPILER_VERSION to set the
      "MSVC##" and MSVC_VERSION variables.  It no longer needs the IDE generator
      to dictate the version or to detect the version by running the
      command-line tool for NMake and Ninja generators.  Drop configuration of
      CMakeCPlatform.cmake and CMakeCXXPlatform.cmake from Windows-cl.cmake.in
      because all the results it saved are now cheap to compute every time.
      485a940e
  29. 24 Aug, 2012 1 commit
    • Brad King's avatar
      Make platform information files specific to the CMake version · 7195aca5
      Brad King authored
      At the top of a build tree we configure inside the CMakeFiles directory
      files such as "CMakeSystem.cmake" and "CMake<lang>Compiler.cmake" to
      save information detected about the system and compilers in use.  The
      method of detection and the exact results store varies across CMake
      versions as things improve.  This leads to problems when loading files
      configured by a different version of CMake.  Previously we ignored such
      existing files only if the major.minor part of the CMake version
      component changed, and depended on the CMakeCache.txt to tell us the
      last version of CMake that wrote the files.  This led to problems if the
      user deletes the CMakeCache.txt or we add required information to the
      files in a patch-level release of CMake (still a "feature point" release
      by modern CMake versioning convention).
      
      Ensure that we always have version-consistent platform information files
      by storing them in a subdirectory named with the CMake version.  Every
      version of CMake will do its own system and compiler identification
      checks even when a build tree has already been configured by another
      version of CMake.  Stored results will not clobber those from other
      versions of CMake which may be run again on the same tree in the future.
      Loaded results will match what the system and language modules expect.
      
      Rename the undocumented variable CMAKE_PLATFORM_ROOT_BIN to
      CMAKE_PLATFORM_INFO_DIR to clarify its purpose.  The new variable points
      at the version-specific directory while the old variable did not.
      7195aca5
  30. 23 Aug, 2012 1 commit
    • Brad King's avatar
      VS: Remove support for "free" version 2003 tools · 32db033b
      Brad King authored
      Several more recent Visual Studio Express editions are now available and
      they support debug builds.  Simplify our VS platform files by removing
      support for these old tools.  If anyone still uses them we can restore
      support with a more modern way to test for them.
      32db033b
  31. 13 Aug, 2012 1 commit
    • Kitware Robot's avatar
      Remove CMake-language block-end command arguments · 9db31162
      Kitware Robot authored and Brad King's avatar Brad King committed
      Ancient versions of CMake required else(), endif(), and similar block
      termination commands to have arguments matching the command starting the
      block.  This is no longer the preferred style.
      
      Run the following shell code:
      
      for c in else endif endforeach endfunction endmacro endwhile; do
          echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/'
      done >convert.sed &&
      git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
      egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
      egrep -z -v 'Tests/CMakeTests/While-Endwhile-' |
      xargs -0 sed -i -f convert.sed &&
      rm convert.sed
      9db31162