An update will be applied January 25th, between 12PM and 1:00PM EST (UTC -5:00). The site may be slow during that time.

  1. 10 Mar, 2016 1 commit
  2. 21 Dec, 2015 1 commit
    • Brad King's avatar
      CMakeDetermineCompilerId: Fix VS Itanium platform name (#15889) · d9bf5206
      Brad King authored
      VS expects the platform to be just `Itanium`, so drop the incorrect
      special case mapping it to `ia64`.  This platform name has been wrong
      since the logic was added by commit v2.8.10~148^2~8 (VS: Detect the
      compiler id and tool location, 2012-08-16).
  3. 07 Dec, 2015 1 commit
  4. 23 Nov, 2015 1 commit
    • Brad King's avatar
      Revert "Disable shared library support when compiler links statically" (#15855) · 9682de56
      Brad King authored
      In commit v3.4.0-rc1~18^2 (Disable shared library support when compiler
      links statically, 2015-09-30) we tried to detect when the compiler is
      not capable of linking shared libraries (possibly due to flags in use).
      However, the approach is not robust against flags like `-nostdlib`.
      Revert it for now pending another solution to the original problem.
  5. 02 Oct, 2015 1 commit
    • Gilles Khouzam's avatar
      VS: Add support for selecting the Windows 10 SDK (#15670) · 3f077996
      Gilles Khouzam authored and Brad King's avatar Brad King committed
      Teach the VS 2015 generator to produce a WindowsTargetPlatformVersion
      value.  Use the CMAKE_SYSTEM_VERSION to specify the version and if not
      set choose a default based on available SDKs.  Activate this behavior
      when targeting Windows 10.
      Co-Author: Brad King <>
  6. 30 Sep, 2015 1 commit
    • Brad King's avatar
      Disable shared library support when compiler links statically · 8b4873a1
      Brad King authored
      When a user or a compiler wrapper adds '-static' to the compiler flags
      then it will always link static binaries.  Detect this from the compiler
      id binary and disable TARGET_SUPPORTS_SHARED_LIBS.  This will prevent
      projects from accidentally adding shared libraries when the toolchain
      does not support them.  It also helps CMake avoid linking with flags
      that require shared libraries to be supported.
  7. 18 Sep, 2015 3 commits
  8. 30 Jun, 2015 1 commit
  9. 25 Jun, 2015 1 commit
    • Brad King's avatar
      CMakeDetermineCompilerId: Simplify src reference in IDE projects · 8306108f
      Brad King authored
      When constructing the "id_src" value for substitution into VS or Xcode
      compiler id projects, the input "src" variable already contains the file
      name with no path so we do not need get_filename_component.  We know
      this because CMAKE_DETERMINE_COMPILER_ID_WRITE already references
      "${src}" with this assumption.
  10. 18 Jun, 2015 3 commits
    • Brad King's avatar
      CMakeDetermineCompilerId: Try matching compiler output to detect id · 0d204c1c
      Brad King authored
      Some compilers can only be distinguished by their compilation output
      rather than preprocessor symbols or special flags.  Add infrastructure
      to determine the compiler id by matching output.
    • Brad King's avatar
      CMakeDetermineCompilerId: Refactor id build/check loop logic · 5f0dad75
      Brad King authored
      Callers of CMAKE_DETERMINE_COMPILER_ID initialize the
      CMAKE_${lang}_COMPILER_ID to unset so we can check it at the end of each
      loop iteration instead of the beginning.  This approach allows us to
      break out of the loop as soon as we succeed.  It will also allow checks
      to be added in more places within the loop later.
    • Brad King's avatar
      CMakeDetermineCompilerId: Optionally try some flags before no flags · c65a060e
      Brad King authored
      Teach CMAKE_DETERMINE_COMPILER_ID to optionally try detecting the
      compiler id using some given flags before trying to detect it with no
      special flags.  This will be useful for Fortran detection to distinguish
      some compilers that use the preprocessors of others but have no macro of
      their own by getting verbose output.
  11. 24 Feb, 2015 1 commit
  12. 19 Feb, 2015 1 commit
    • Brad King's avatar
      Fortran: Add infrastructure to detect compiler version (#15372) · e6ebc814
      Brad King authored
      Fortran does not offer syntax to compose a string literal at
      preprocessing time from numeric compuations.  Instead encode each digit
      of each component as a separate INFO string and compose them in CMake
      code after extraction.  Support MAJOR, MINOR, PATCH, and TWEAK
      components with up to 8 digits each.
  13. 14 Jan, 2015 1 commit
    • Brad King's avatar
      QNX: Fix detection of QCC compiler id (#15349) · 9c9bc712
      Brad King authored
      In commit v3.1.0-rc1~113^2 (Use a more reliable regex for extracting
      binary INFO strings, 2014-09-03) the matching of INFO: strings was made
      more strict and no longer matches just "INFO:qnxnto".  Use
      "INFO:qnxnto[]" instead to conform to the new pattern.
  14. 11 Jan, 2015 1 commit
    • Brad King's avatar
      Xcode: Do not require code signing for compiler id (#15214) · 7b7209f6
      Brad King authored
      The approach in commit v3.1.0-rc1~1^2 (Xcode: Fix compiler id detection
      when code signing is required, 2014-10-22) still requires a code signing
      key when targeting a real device.  Instead set CODE_SIGNING_REQUIRED to
      "NO" to tell Xcode not to sign at all.  Drop the corresponding setting
      of the code signing identity.
  15. 07 Nov, 2014 1 commit
    • Brad King's avatar
      Xcode: Fix compiler path detection for iOS tools on Xcode <= 5.0 (#15237) · 7f89552a
      Brad King authored
      Since commit v3.1.0-rc1~1^2~1 (Xcode: Fix compiler id detection for iOS
      tools, 2014-10-22) our compiler id detection project sets the product
      type to ''.  This causes the Ld
      command line on which we match the path to the compiler to have a
      'CompilerIdC.xctest/' component.  The commit updated our regex to match
      this, but placed it before the extra './' component that Xcode 5.0 and
      below produce.  Xcode <= 5.0 prints '/./CompilerIdC.xctest/', so switch
      the order of the two components in the regex to match it.
  16. 22 Oct, 2014 2 commits
    • Brad King's avatar
      Xcode: Fix compiler id detection when code signing is required · b91020f6
      Brad King authored
      The iOS product type '' requires
      code signing on Xcode 6.  Other iOS target types do too.  Until CMake
      learns to add the CODE_SIGN_IDENTITY build attribute itself, toolchain
      files can set CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY to tell the Xcode
      generator to add the attribute.  Teach CMakeDetermineCompilerId to
      recognize this variable and add the CODE_SIGN_IDENTITY build attribute
      to the compiler id project.
    • Brad King's avatar
      Xcode: Fix compiler id detection for iOS tools (#15214) · c48f6e12
      Brad King authored
      Since commit 0cce556b (Xcode: Use sysroot and deployment target to
      identify compiler, 2014-04-29) our compiler id detection project uses
      the target platform SDK in case Xcode selects a different compiler based
      on it.  Now the compiler id project actually compiles with the target
      compiler and SDK when cross-compiling.
      The iOS tools do not support the '' product
      type we use in our compiler id detection project.  When targeting
      iPhone, use product type ''
  17. 20 Oct, 2014 1 commit
    • Ben Boeckel's avatar
      Avoid if() quoted auto-dereference · 29c3edb8
      Ben Boeckel authored
      When testing CMAKE_<LANG>_COMPILER_ID values, do not explicitly
      dereference or quote the variable. We want if() to auto-dereference the
      variable and not its value. Also replace MATCHES with STREQUAL where
  18. 29 Sep, 2014 1 commit
    • Brad King's avatar
      VS: Detect compiler id of Nsight Tegra-Android toolchains · d09b60f5
      Brad King authored
      Teach CMakeDetermineCompilerId to recognize the Tegra-Android platform
      and generate a test project for Nsight Tegra tools.  Locate the full
      path to CMAKE_<LANG>_COMPILER by computing it within the test project
      build environment.
      Also teach CMakeFindBinUtils that this variant of the Visual Studio
      generator uses UNIX-like instead of MS-like archiving and linking tools.
  19. 03 Sep, 2014 1 commit
  20. 12 Aug, 2014 1 commit
  21. 31 Jul, 2014 1 commit
  22. 07 May, 2014 4 commits
  23. 29 Apr, 2014 1 commit
    • Brad King's avatar
      Xcode: Use sysroot and deployment target to identify compiler · 0cce556b
      Brad King authored
      SDKROOT and MACOSX_DEPLOYMENT_TARGET build settings.  This is necessary
      because some versions of Xcode select a different compiler based on
      these settings.  We need to make sure the compiler identified during
      language initialization matches what will be used for the actual build.
  24. 14 Apr, 2014 3 commits
  25. 22 Jan, 2014 1 commit
    • Stephen Kelly's avatar
      QNX: Introduce QCC compiler id for that QNX platform compiler. · e00db59d
      Stephen Kelly authored and Brad King's avatar Brad King committed
      Introduce policy CMP0047 to control resetting the id for
      De-duplicate content in the QNX platform file by including the GNU
      one. QNX is a form of GNU platform.
      Do not clear CMAKE_SHARED_LIBRARY_${lang}_FLAGS variables.  They
      are populated again later by the Compiler/GNU.cmake file anyway.
      Modify the CMAKE_CXX_COMPILE_OBJECT variable only when the QCC
      compiler id is in use, and the language is CXX.  Use the QNX
      recommended flag for QCC instead of the gcc compatible -x flag.
      Populate new module files to handle system includes and depfiles
      when using the QCC compiler.
      Remove code which unsets the system include and depfiles related
      variables.  When a GNU driver is used instead of the QCC one, the
      appropriate flags will be used.  These variables were previously
      cleared for lowest-common-denominator compatibility with both
  26. 09 Dec, 2013 1 commit
  27. 04 Dec, 2013 1 commit
    • Brad King's avatar
      CMakeDetermineCompilerId: Use CMAKE_VS_(DEVENV|MSBUILD|MSDEV)_COMMAND · e4201248
      Brad King authored
      In the code path for launching the VS IDE tools, avoid using
      CMAKE_MAKE_PROGRAM.  Instead use the variables CMAKE_VS_DEVENV_COMMAND,
      location of the build tool needed.  Choose the proper tool based on
      availability and necessity for the language (e.g. Intel Fortran must
      build with and not MSBuild.exe).
  28. 19 Nov, 2013 1 commit
    • Stephen Kelly's avatar
      CMakeDetermineCompilerId: Look for internal file only on host · f41ecd1d
      Stephen Kelly authored and Brad King's avatar Brad King committed
      The find_file this module uses to locate the compiler id source file
      must always look on the host and never in CMAKE_FIND_ROOT_PATH, even
      when a toolchain file has
      Add NO_CMAKE_FIND_ROOT_PATH to the find_file call to avoid rerooting.
  29. 13 Nov, 2013 1 commit
  30. 28 Oct, 2013 1 commit