1. 08 Apr, 2014 1 commit
  2. 07 Apr, 2014 13 commits
    • Stephen Kelly's avatar
      Add target_compile_features command. · 8ed59fc2
      Stephen Kelly authored
      This can be used to set the compiler features required by particular
      targets. An error is issued at CMake time if the compiler does not
      support the required feature. If a language dialect flag is required
      by the features used, that will be added automatically.
      
      Base the target_compile_features command on cmTargetPropCommandBase. This
      gives us 'free' handling of IMPORTED, ALIAS, INTERFACE, non-compilable
      and missing targets.
      8ed59fc2
    • Stephen Kelly's avatar
      cmTargetPropCommandBase: Change the interface to return bool. · 4e6ca504
      Stephen Kelly authored
      This is needed for the target_compile_features command, which
      may fail at configure time if an invalid feature is specified.
      4e6ca504
    • Stephen Kelly's avatar
      cmTarget: Transitively evaluate compiler features. · 5412dede
      Stephen Kelly authored
      Extend the interface of the target_compile_features command with
      PUBLIC and INTERFACE keywords. Populate the INTERFACE_COMPILER_FEATURES
      target property if they are set. Consume the INTERFACE_COMPILER_FEATURES
      target property from linked dependent targets to determine the final
      required compiler features and the compile flag, if needed.
      
      Use the same pattern of origin-debugging which is used for other
      build properties.
      5412dede
    • Stephen Kelly's avatar
      cmTarget: Allow populating COMPILE_FEATURES using generator expressions. · baff4434
      Stephen Kelly authored
      Delay validation of the content as a feature if it contains a
      generator expression. It will be checked again at generate-time
      after evaluation.
      baff4434
    • Stephen Kelly's avatar
      Features: Add cxx_auto_type. · f97bf437
      Stephen Kelly authored
      Record the availability of this feature for GNU 4.8 on (UNIX AND
      NOT APPLE) only.  In the future, availability can be recorded for
      earlier GNU, for other platforms and for other compilers. Initially
      the affected configurations are as restricted as possible to allow
      for easy testing while extending the features vector in only one
      dimension.
      
      The error message when using the set_property API directly is not
      very good, but follow up commits will provide origin debugging of
      the property and a target_compile_features command which will
      provide a configure-time backtrace when possible.
      f97bf437
    • Stephen Kelly's avatar
      cmTarget: Add COMPILE_FEATURES target property. · 03355d6b
      Stephen Kelly authored
      Use the contents of it to upgrade the CXX_STANDARD target property,
      if appropriate.  This will have the effect of adding the -std=c++11
      compile flag or other language specification on GNU when that is
      needed for the feature.
      03355d6b
    • Stephen Kelly's avatar
      project: Add infrastructure for recording CXX compiler features · faeddf64
      Stephen Kelly authored
      Add a feature test using the compiler macros and the preprocessor to
      determine available features.
      
      Add a CMAKE_CXX_COMPILE_FEATURES variable which contains all features
      known to the loaded compiler, and a CMAKE_CXX_KNOWN_FEATURES variable
      containing all features known to CMake.  Add language standard specific
      variables for internal use to determine the standard-specific compile
      flags to use.
      
      This will be extended to other languages in the future.  Follow-up
      commits will add features which will be recorded by the feature test.
      faeddf64
    • Stephen Kelly's avatar
      cmTarget: Add CXX_STANDARD and CXX_EXTENSION target properties. · 913394af
      Stephen Kelly authored
      These are used to determine whether to add -std=c++11, -std=gnu++11
      etc flags on the compile line.
      913394af
    • Stephen Kelly's avatar
      Add some COMPILE_OPTIONS for specifying C++ dialect. · 8238a6cd
      Stephen Kelly authored
      These are compiler-specific, compiler version specific, extension specific
      and standard version specific.
      8238a6cd
    • Stephen Kelly's avatar
      Tests: Require CMake 3.0 for the SystemInformation test. · 892243fc
      Stephen Kelly authored
      Correctly identify AppleClang.
      892243fc
    • Stephen Kelly's avatar
      Don't load Clang-CXX from AppleClang-CXX. · 59b5fdd3
      Stephen Kelly authored
      The Clang-CXX module is going to get version-specific checks, and
      the version system for AppleClang is not the same as Clang.
      59b5fdd3
    • Brad King's avatar
      Merge topic 'optimize-source-file-processing' · 7f7d6a40
      Brad King authored
      a4e6bf8e cmTarget: Make GetSourceFiles string overload private.
      92e2fbe1 cmGeneratorTarget: Trace cmSourceFile objects instead of strings.
      c5b26f3b cmTarget: Cache the cmSourceFiles in GetSourceFiles.
      eb163f37 cmTarget: Extract a ProcessSourceItemCMP0049 method.
      19b7c22d Ninja: Query custom commands once per target, not once per file.
      7f7d6a40
    • Kitware Robot's avatar
      CMake Nightly Date Stamp · 4023bd7b
      Kitware Robot authored
      4023bd7b
  3. 06 Apr, 2014 5 commits
  4. 05 Apr, 2014 2 commits
  5. 04 Apr, 2014 11 commits
  6. 03 Apr, 2014 8 commits