1. 08 Nov, 2018 1 commit
  2. 06 Jun, 2018 1 commit
  3. 17 Apr, 2018 1 commit
  4. 31 May, 2017 1 commit
  5. 30 May, 2017 1 commit
  6. 26 May, 2017 2 commits
  7. 02 May, 2017 1 commit
  8. 01 May, 2017 1 commit
  9. 02 Dec, 2016 1 commit
    • Brad King's avatar
      Features: Make feature recording conditions more consistent · 684e4d20
      Brad King authored
      Condition all calls to `_record_compiler_features_{c,cxx}` on
      `_result EQUAL 0` so that adding new language standards later does
      not need to update them.  Avoid some duplicate compiler version
      checks by conditioning C11 and CXX14 feature recording on the
      existence of `CMAKE_{C11,CXX14}_STANDARD_COMPILE_OPTION` (whose
      setting already used the version check).
      684e4d20
  10. 02 Nov, 2016 1 commit
  11. 06 Jul, 2016 1 commit
    • Brad King's avatar
      Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files · a66004be
      Brad King authored
      Document these variables.
      
      Change our convention for setting these variables from:
      
          set(CMAKE_C_FLAGS_INIT "...")
      
      to
      
          string(APPEND CMAKE_C_FLAGS_INIT " ...")
      
      so that any value previously set by a toolchain file will be used.
      
      Automate the conversion with:
      
          sed -i 's/set *(\(CMAKE_\(C\|CXX\|Fortran\|RC\|ASM\|${[^}]\+}\)_FLAGS\(_[^_]\+\)\?_INIT \+"\)/string(APPEND \1 /' \
            Modules/Compiler/*.cmake Modules/Platform/*.cmake
      
      and follow up with some manual fixes (e.g. to cases that already
      meant to append).  Also revert the automated changes to contexts
      that are not protected from running multiple times.
      a66004be
  12. 19 Nov, 2015 1 commit
    • Brad King's avatar
      Project: Guess default standard dialect if compiler was forced (#15852) · 441dba80
      Brad King authored
      Prior to commit v3.4.0-rc1~71^2 (Project: Determine default language
      dialect for the compiler, 2015-09-15) we always guessed the default
      language standard dialect based on the compiler version.  This was not
      reliable so that commit switched to computing the default language
      standard dialect while detecting the compiler id.
      
      When a toolchain file uses CMakeForceCompiler to set the compiler id
      then the detection does not occur.  Therefore commit v3.4.0-rc1~54^2
      (Project: Don't require computed default dialect if compiler was forced,
      2015-09-22) made the lack of detection an error only if the compiler was
      not forced.  However, this means that projects using CMakeForceCompiler
      no longer even get the guess that we had before so <LANG>_COMPILER does
      not work.
      
      Due to the sophistication of CMake's compiler detection logic projects
      should be ported away from using CMakeForceCompiler.  In the meantime,
      restore a guess of the default language standard dialect when the
      compiler is forced.
      441dba80
  13. 08 Oct, 2015 1 commit
    • Brad King's avatar
      Revert topic 'compiler-features-solaris' · 340d0897
      Brad King authored
      Revert commit v3.4.0-rc1~10^2~2 (Features: Disable support for Oracle
      SolarisStudio on non-Linux, 2015-09-29) and two follow-up commits.
      The support of compile features and language standards on Orcale
      SolarisStudio needs more investigation so for CMake 3.4 we should
      just act as 3.3 did.
      340d0897
  14. 30 Sep, 2015 1 commit
  15. 29 Sep, 2015 1 commit
  16. 22 Sep, 2015 1 commit
    • Stephen Kelly's avatar
      Project: Don't require computed default dialect if compiler was forced. · d1375851
      Stephen Kelly authored
      Commit 7235334a (Project: Determine default language dialect for the
      compiler., 2015-09-15) introduced a mechanism to determine the default
      dialect used for the running compiler.  If conditions in
      the <CompilerId>-<Lang>.cmake file are such that compile features for
      that version of the compiler should be supported, the _DEFAULT_STANDARD
      is set to the computed value.
      
      However, the CMakeForceCompiler module allows users to bypass execution of the
      compiler by CMake.  In that case, do not set the _DEFAULT_STANDARD variable at
      all, which effectively disables the compile-features where the module is used.
      
      No compile features have ever been recorded where the module is used so no
      functionality is lost.
      d1375851
  17. 18 Sep, 2015 1 commit
  18. 13 Jul, 2015 1 commit
    • Brad King's avatar
      Factor an <INCLUDES> placeholder out of <FLAGS> in rule variables · c736de7b
      Brad King authored
      Teach the Makefile and Ninja generators to substitute for an <INCLUDES>
      placeholder instead of putting -I in <FLAGS>.  Update our values for
      
        CMAKE_<LANG>_COMPILE_OBJECT,
        CMAKE_<LANG>_CREATE_ASSEMBLY_SOURCE, and
        CMAKE_<LANG>_CREATE_PREPROCESSED_SOURCE
      
      to place <INCLUDES> just before <FLAGS>.
      c736de7b
  19. 23 Mar, 2015 1 commit
  20. 04 Feb, 2015 1 commit
  21. 17 Jan, 2015 1 commit
  22. 15 Aug, 2012 1 commit
  23. 13 Aug, 2012 2 commits
    • Kitware Robot's avatar
      Remove CMake-language block-end command arguments · 9db31162
      Kitware Robot authored
      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
    • Kitware Robot's avatar
      Convert CMake-language commands to lower case · 77543bde
      Kitware Robot authored
      Ancient CMake versions required upper-case commands.  Later command
      names became case-insensitive.  Now the preferred style is lower-case.
      
      Run the following shell code:
      
      cmake --help-command-list |
      grep -v "cmake version" |
      while read c; do
          echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g'
      done >convert.sed &&
      git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
      egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
      xargs -0 sed -i -f convert.sed &&
      rm convert.sed
      77543bde
  24. 12 Jun, 2012 1 commit
    • Stephen Kelly's avatar
      Add platform variables for position independent code flags · 31d7a0f2
      Stephen Kelly authored
      Store in new platform variables
      
        CMAKE_${lang}_COMPILE_OPTIONS_PIC
        CMAKE_${lang}_COMPILE_OPTIONS_PIE
      
      flags for position independent code generation.
      
      In almost all cases, this means duplication of the
      CMAKE_SHARED_LIBRARY_${lang}_FLAGS for the _PIC case and using the
      assumed pie equivalent for the _PIE case.  Note that the GNU compiler
      has supported -fPIE since 3.4 and that there is no -fPIC on GNU for
      Windows or Cygwin.
      
      There is a possibility that the _PIE variables are not correct.
      However, as there is no backwards compatibility to be concerned about
      (as the POSITION_INDEPENDENT_CODE property is not used anywhere yet),
      the current state suffices.
      31d7a0f2
  25. 17 Apr, 2010 1 commit
  26. 28 Jan, 2010 1 commit
  27. 01 Dec, 2009 1 commit
    • Brad King's avatar
      Drop -rdynamic from Linux build rules · 1f06c33f
      Brad King authored
      This is a GNU-specific option that should not be specified for all
      compilers on Linux.  It tells the GNU compiler to pass -export-dynamic
      to the linker to export symbols from executables for use by plugins.
      Since we provide the ENABLE_EXPORTS target property to do the same thing
      in a cross-platform way, there is no need to pass -rdynamic always.
      
      Since the option is not useful for GNU tools and breaks other tools on
      Linux we simply remove it from CMAKE_SHARED_LIBRARY_LINK_<lang>_FLAGS.
      This also allows us to stop setting the variable in other Linux compiler
      files just to erase the bad flag.
      
      See issue #9985.
      1f06c33f
  28. 21 Aug, 2009 1 commit
    • Brad King's avatar
      Split SunPro compiler information files · 9ee0f980
      Brad King authored
      This moves platform-independent SunPro compiler flags into separate
      "Compiler/SunPro-<lang>.cmake" modules.  Platform-specific flags are
      left untouched.
      9ee0f980
  29. 23 Jul, 2009 1 commit
    • Brad King's avatar
      ENH: Implicit link info for C, CXX, and Fortran · 07ea19ad
      Brad King authored
      This teaches CMake to detect implicit link information for C, C++, and
      Fortran compilers.  We detect the implicit linker search directories and
      implicit linker options for UNIX-like environments using verbose output
      from compiler front-ends.  We store results in new variables called
      
        CMAKE_<LANG>_IMPLICIT_LINK_LIBRARIES
        CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES
      
      The implicit libraries can contain linker flags as well as library
      names.
      07ea19ad