1. 14 Feb, 2019 1 commit
    • Brad King's avatar
      Fortran: Fix submodule file names across compilers · d80ecba5
      Brad King authored
      The naming convention for submodule files varies across compilers.  Add
      a table to the compiler information modules and thread the information
      through to the Fortran module dependency parser.  Fill out the table for
      compiler ids known to support Fortran submodules.
      
      Fixes: #18746
      d80ecba5
  2. 23 Aug, 2017 1 commit
  3. 22 Sep, 2016 1 commit
    • Brad King's avatar
      Ninja: Add explicit preprocessing step for Fortran · 39ebfc79
      Brad King authored
      All Fortran sources need to be preprocessed before any source may be
      compiled so that module dependencies can be (later) extracted.  Factor
      out an explicit preprocessing step preceding compilation.  Use Ninja
      depfile dependencies on the preprocessing step and then compile the
      already-preprocessed source with a separate build statement that depends
      explicitly only on the preprocessor output.  Later we will insert
      dynamic discovery of module dependencies between these steps.
      39ebfc79
  4. 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
  5. 26 Mar, 2015 1 commit
  6. 10 Nov, 2014 1 commit
  7. 13 Aug, 2012 1 commit
    • 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
  8. 31 Aug, 2011 1 commit
    • Brad King's avatar
      Fortran: Add support for free- and fixed-form flags · 5c0c635a
      Brad King authored
      Define a "Fortran_FORMAT" target and source file property.  Initialize
      the target property from a "CMAKE_Fortran_FORMAT" variable.  Interpret
      values "FIXED" and "FREE" to indicate the source file format.  Append
      corresponding flags to the compiler command line.
      5c0c635a
  9. 28 Jan, 2010 1 commit
  10. 02 Dec, 2009 1 commit
    • Brad King's avatar
      Split GNU compiler information files · e28c16b4
      Brad King authored
      This moves GNU compiler flags into new-style modules
      
        Compiler/GNU-<lang>.cmake
        Platform/<os>-GNU-<lang>.cmake
      
      We use language-independent helper modules
      
        Compiler/GNU.cmake
        Platform/<os>-GNU.cmake
      
      to define macros consolidating the information.
      e28c16b4
  11. 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